eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingilupotokowy jest najnowszy procek intela
Ilość wypowiedzi w tym wątku: 10

  • 1. Data: 2011-12-28 16:23:36
    Temat: ilupotokowy jest najnowszy procek intela
    Od: " " <f...@W...gazeta.pl>

    nie znam sie na tym temacie i ew ciezko mi sie
    doszukac,

    chodzi mi o dowiedzenie sie czy taki sposob zapisku
    linijek z kodu

    jak przepisanie np

    ren=re*re-im*im+cRe; imn=2*re*im+cIm;

    re =ren; im =imn;

    na

    ren=re*re-im*im+cRe, imn=2*re*im+cIm;

    re =ren, im =imn;

    gdzie przecinek w odroznieniu do srednika informuje ze
    dwa (lub wiecej) polaczone nim statementy mozna wykonywac
    rownolegle (na odzielnyc potokach)

    jaki jest obecnie najnowszy procek intela? sandy bridge?
    (ten ktorego pamietam bo jako pierwszy ma avx )
    Czy taki sposob zapisu (tylko ogolniej nawet dla wielu
    wiecej linijek bo np przypisywanie 20 pol struktury
    mozna zrownoleglic na 20 elementow itp) pozwala
    kompilatorowi i prockowi pomoc produkowac i przetwarzac
    znacznie lepszy 'superskalarny' 'wielopotokowy' kod
    maszynowy?

    (kenobi)








    --
    Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/


  • 2. Data: 2011-12-28 16:56:58
    Temat: re: ilukanalowy jest najn procek intela
    Od: " " <f...@N...gazeta.pl>

    w wiki nie umiem sie doszukac tego info
    (ciekawe skad inad ze o ile sndy bridge wydaje sie
    obecnym jest duzo info o przyszlorocznym ivy bridge
    to jest ponadto juz tez duzo info o nastepcy ivy
    bridge, haswellu a nawet jakies wzmianki o nastepcy
    haswella, skylake (czyli trzy generacje do przodu)



    --
    Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/


  • 3. Data: 2011-12-31 05:50:22
    Temat: Re: ilupotokowy jest najnowszy procek intela
    Od: " M.M." <m...@N...gazeta.pl>

    <f...@W...gazeta.pl> napisał(a):
    > Czy taki sposob zapisu [] pozwala
    > kompilatorowi i prockowi pomoc produkowac i przetwarzac
    > znacznie lepszy 'superskalarny' 'wielopotokowy' kod
    > maszynowy?
    Temat stary jak swiat. Czesto podczas programowania, gdy chce
    sie uzyskac super wydajna implementacje, programista zdaje
    sobie sprawe ze ciag instrukcji w jezyku wysokopoziomowym
    bedzie zbyt trudny dla kompilatora aby wygenerowal z tego
    optymalny kod maszynowy. Co wiecej, kompilator bez informacji o
    statystycznym rozkladzie danych, nie moze wygenerowac optymalnego
    kodu - dla kazego rozkladu inny kod bedzie optymalny. Kwestia jest
    chyba nadal otwarta: czy np. wprowadzic jakas pragme, typu

    #pragma a = {0..0=>60%,1..3=>20%,3..inf=>20%}
    instrukcje( a );

    Kompilator wiedzac ze a nigdy nie przyjmuje wartosci ujemnych i
    jest az 60% szans na to ze a jest rowne zero, moze wygenerowac
    lepszy kod.

    Pozdrawiam




    >
    > (kenobi)
    >
    >
    >
    >
    >
    >
    >
    >


    --
    Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/


  • 4. Data: 2011-12-31 09:57:47
    Temat: Re: ilupotokowy jest najnowszy procek intela
    Od: Artur Muszyński <a...@u...wytnijto.com.pl>

    W dniu 2011-12-31 06:50, M.M. pisze:
    > #pragma a = {0..0=>60%,1..3=>20%,3..inf=>20%}
    > instrukcje( a );
    >
    > Kompilator wiedzac ze a nigdy nie przyjmuje wartosci ujemnych i
    > jest az 60% szans na to ze a jest rowne zero, moze wygenerowac
    > lepszy kod.

    W jakim celu? Chodzi ci o optymalizację skoków i pętli? Tylko, że to
    jest rozwiązywane na poziomie sprzętowym (branch prediction).
    Optymalizacja wykorzystania potoków polega na odpowiednim korzystaniu z
    rejestrów i unikaniu nieszczęśliwych sekwencji instrukcji (chociaż i tym
    zajmie się sprzęt - out-of-order execution). Jak dla mnie to jest
    zadanie w sam raz dla komplilatora, zwykle nie trzeba mu niczego
    podpowiadać.
    PS: Może o czymś nie wiem, to mnie popraw, ale Intel od czasu do czasu
    organizował szkolenia na ten temat, nie pamiętam niczego na temat jakiś
    dziwnych pragm.

    artur


  • 5. Data: 2011-12-31 16:33:48
    Temat: Re: ilupotokowy jest najnowszy procek intela
    Od: " M.M." <m...@N...gazeta.pl>

    Artur Muszyński <a...@u...wytnijto.com.pl> napisał(a):

    > W dniu 2011-12-31 06:50, M.M. pisze:
    > > #pragma a = {0..0=>60%,1..3=>20%,3..inf=>20%}
    > > instrukcje( a );
    > >
    > > Kompilator wiedzac ze a nigdy nie przyjmuje wartosci ujemnych i
    > > jest az 60% szans na to ze a jest rowne zero, moze wygenerowac
    > > lepszy kod.
    >
    > W jakim celu? Chodzi ci o optymalizację skoków i pętli? Tylko, że to
    > jest rozwiązywane na poziomie sprzętowym (branch prediction).
    Zawsze algorytm ogolny dziala wolniej niz algorytm dostosowany do
    specyficznych danych. Widac to najlepiej gdy uzywa sie PGO - gdy
    kompilator ma jakies info o statystycznym rozkladzie danych to z
    reguly moze wygenerowac kod o 5-10% szybszy, z rzadka zdarza sie
    wieksze przyspieszenie, rzedu 20-30%. Niestety PGO nie moze
    usunac calkowicie kodu odpowiedzialnego za obsluge przypadkow ktore
    nigdy sie nie zdarza, np. ze zmienna typu int nie przyjmie nigdy
    innej wartosci niz {1,2,4}. W takiej "dziwnej pragmie" programisci
    by mogil podpowiadac kompilatorom.
    Pozdrawiam


    --
    Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/


  • 6. Data: 2012-01-01 22:11:48
    Temat: Re: ilupotokowy jest najnowszy procek intela
    Od: Artur Muszyński <a...@u...wytnijto.com.pl>

    W dniu 2011-12-31 17:33, M.M. pisze:
    >> W jakim celu? Chodzi ci o optymalizację skoków i pętli? Tylko, że to
    >> jest rozwiązywane na poziomie sprzętowym (branch prediction).
    > Zawsze algorytm ogolny dziala wolniej niz algorytm dostosowany do
    > specyficznych danych. Widac to najlepiej gdy uzywa sie PGO - gdy
    > kompilator ma jakies info o statystycznym rozkladzie danych to z
    > reguly moze wygenerowac kod o 5-10% szybszy, z rzadka zdarza sie
    > wieksze przyspieszenie, rzedu 20-30%. Niestety PGO nie moze
    > usunac calkowicie kodu odpowiedzialnego za obsluge przypadkow ktore
    > nigdy sie nie zdarza, np. ze zmienna typu int nie przyjmie nigdy
    > innej wartosci niz {1,2,4}. W takiej "dziwnej pragmie" programisci
    > by mogil podpowiadac kompilatorom.
    > Pozdrawiam

    Musiałem doczytać, co to ten PGO - dawno opuściłem C :-)
    Nadal nie łapię, co ma dać konkretnie wskazanie zakresu wartości. Nie
    prościej założyć, że szybciej wykona się to, co po if a nie else i
    pierwszy case ze switcha?
    Na marginesie, środowiska oparte o JIT mogłyby optymalizacje tego typu
    robić dynamicznie, bez zawracania głowy programiście.

    artur


  • 7. Data: 2012-01-01 22:17:54
    Temat: Re: ilupotokowy jest najnowszy procek intela
    Od: Karol Y <k...@o...pl>

    > prościej założyć, że szybciej wykona się to, co po if a nie else i
    > pierwszy case ze switcha?

    A switch działa jak szereg if-ów?

    --
    Mateusz Bogusz


  • 8. Data: 2012-01-02 00:44:28
    Temat: Re: ilupotokowy jest najnowszy procek intela
    Od: " M.M." <m...@N...gazeta.pl>

    Karol Y <k...@o...pl> napisał(a):

    > > prościej założyć, że szybciej wykona się to, co po if a nie else i
    > > pierwszy case ze switcha?
    Jakos mi wywialo z glowy wszystkie przyklady. Na pewno wielokrotnie
    gdy zalezalo mi na wydajnej implementacji w C/C++ to bylem swiadomy
    ze kompilator czegos nie wie, a jakby byla taka dziwna pragma to
    bym mogl mu podpowiedziec.

    > A switch działa jak szereg if-ów?
    W ksiazce kasperskiego pisalo ze kompilatory z duzego switcha potrafia
    zrobic nawet drzewo wyszukiwan binarnych, ale nie wiem, rzadko zagladalem
    do kodu asemblerowego. Gdy mierzylem czasy wykonania, to nie znalazlem
    prawidlowosci co jest szybsze, czy if czy swich case (w c++). Wyniki
    mocno zmienialy sie wraz ze zmiana wersji kompilatora i procesora.
    Kazdy przypadek trzeba zmierzyc osobno - niestety.

    Pozdrawiam




    --
    Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/


  • 9. Data: 2012-01-07 23:15:58
    Temat: Re: ilupotokowy jest najnowszy procek intela
    Od: "Matt P. Dz." <n...@i...local>

    On 12/31/2011 6:50 AM, M.M. wrote:
    > Temat stary jak swiat. Czesto podczas programowania, gdy chce
    > sie uzyskac super wydajna implementacje, programista zdaje
    > sobie sprawe ze ciag instrukcji w jezyku wysokopoziomowym
    > bedzie zbyt trudny dla kompilatora aby wygenerowal z tego
    > optymalny kod maszynowy. Co wiecej, kompilator bez informacji o
    > statystycznym rozkladzie danych, nie moze wygenerowac optymalnego
    > kodu - dla kazego rozkladu inny kod bedzie optymalny. Kwestia jest
    > chyba nadal otwarta: czy np. wprowadzic jakas pragme, typu
    >
    > #pragma a = {0..0=>60%,1..3=>20%,3..inf=>20%}
    > instrukcje( a );
    >
    > Kompilator wiedzac ze a nigdy nie przyjmuje wartosci ujemnych i
    > jest az 60% szans na to ze a jest rowne zero, moze wygenerowac
    > lepszy kod.

    W GCC jest cos w tym stylu, __builtin_expect
    http://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.htm
    l

    Dosc czesto uzywane w kernelu Linuxa, takze przydatne sa (oparte na
    powyzszym) makra "likely" i "unlikely":
    #define likely(x) __builtin_expect(!!(x), 1)
    #define unlikely(x) __builtin_expect((x), 0)
    http://kerneltrap.org/node/4705
    http://www.ginac.de/pipermail/ginac-devel/2001-Septe
    mber/000329.html

    Patrz tez:
    http://stackoverflow.com/questions/3702903/portable-
    branch-prediction-hints
    http://stackoverflow.com/questions/1851299/is-it-pos
    sible-to-tell-the-branch-predictor-how-likely-it-is-
    to-follow-the-branc

    Pozdrawiam,

    Matt


  • 10. Data: 2012-01-08 00:54:22
    Temat: Re: ilupotokowy jest najnowszy procek intela
    Od: "Grzegorz Niemirowski" <g...@p...onet.pl>

    M.M. <m...@N...gazeta.pl> napisał(a):
    > Co wiecej, kompilator bez informacji o
    > statystycznym rozkladzie danych, nie moze wygenerowac optymalnego
    > kodu - dla kazego rozkladu inny kod bedzie optymalny. Kwestia jest
    > chyba nadal otwarta: czy np. wprowadzic jakas pragme, typu
    > #pragma a = {0..0=>60%,1..3=>20%,3..inf=>20%}
    > instrukcje( a );
    > Kompilator wiedzac ze a nigdy nie przyjmuje wartosci ujemnych i
    > jest az 60% szans na to ze a jest rowne zero, moze wygenerowac
    > lepszy kod.

    Dlatego np. VS posiada coś takiego jak Profile-Guided Optimizations, czyli
    optymalizację na podstawie wyników testowych uruchomień pliku wykonywalnego.
    http://msdn.microsoft.com/en-us/library/e7k32f4k(v=v
    s.80).aspx

    --
    Grzegorz Niemirowski
    http://www.grzegorz.net/
    OE PowerTool i Outlook Express: http://www.grzegorz.net/oe/
    Uptime: 22 days, 3 hours, 39 minutes and 59 seconds

strony : [ 1 ]


Szukaj w grupach

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: