eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingPorównanie szybkości mnożenia macierzy w CPP i PASCALRe: Porównanie szybkości mnożenia macierzy w CPP i PASCAL
  • Data: 2011-02-03 02:37:12
    Temat: Re: Porównanie szybkości mnożenia macierzy w CPP i PASCAL
    Od: Mariusz Marszałkowski <m...@g...com> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    On 2 Lut, 23:08, Fil <f...@p...onet.pl> wrote:
    > W dniu 2011-02-02 22:00, Mariusz Marszałkowski pisze:> On 2 Lut, 20:55,
    Fil<f...@p...onet.pl>  wrote:
    > >> Jeszcze raz - ostatni test i podsumowanie:
    > >> PASCAL wariant 1 kompilator DELPHI:  8,2s
    > >> PASCAL wariant 2 kompilator DELPHI:  5,2s
    > >> CPP    wariant 1 kompilator BUILDER: 4,5s
    > >> CPP    wariant 2 kompilator BUILDER: 4,0s
    > >> CPP    wariant 1 kompilator VISUAL:  1,4s
    > >> CPP    wariant 2 kompilator VISUAL:  1,2s
    >
    > > A gdzie wariant z optymalizacja cache? Napisz z transpozycja
    > > przez mnozeniem, powinno przyspieszyc 10 razy.
    > > Pozdrawiam
    >
    > Napisz lub daj namiar na info: co rozumiesz przez "optymalizację cache"
    Przeszukaj ta grupe, watek chyba zatytulowany: "matlab taki wydajny?"

    > (Jakieś specjalne ustawienia kompilatora? Przeróbki w kodzie?)
    Tak, bardzo prosta i skuteczna przerobka, transponowanie drugiej
    macierzy przed mnozeniem.

    > Wariant 2 CPP kompilowany w Visual i Builder dotyczy przypadku, gdzie
    > tablica B jest transponowana wcześniej (przed mnożeniem).
    Jesli jest transponowana to dlaczego iterujesz po pierwszym indeksie?
    for (int k = 0; k < Q; ++k) C[i][j] += A[i][k] * B[k][j];
    Powinno byc w obu macierzach po drugim:
    for (int k = 0; k < Q; ++k) C[i][j] += A[i][k] * B[j][k];

    > Wyniki nie do końca są przypadkowe (jak napisałeś w poście poniżej).
    Wez dwa/trzy kompilatory C++ i Pascala i dwa/trzy komputery, wtedy
    bedzie co porownywac. No i zoptymalizuj cache, bo teraz to w duzej
    czesci testujemy dostep do RAM a nie wykonywanie instrukcji.

    Pozdrawiam

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: