Vlákno názorů k článku
Benchmark Talos II s POWER9 od Dik - Nové Xenony maji avx512 instrukce, až na ně...

  • Článek je starý, nové názory již nelze přidávat.
  • 6. 4. 2018 11:54

    Dik (neregistrovaný)

    Nové Xenony maji avx512 instrukce, až na ně programátoři začnou optimalizovat tak uvidíme brutální speed up u většiny matematicky náročných aplikací. Takže za mě pro nové Xenony palec nahoru....

  • 6. 4. 2018 14:16

    Y. (neregistrovaný)

    To je hodně naivní tvrzení. V současné době, pokud vím, může procesor (a myskim, ze je to skutečně procesor a ne jádro) vykonat jednu avx512 nebo 2 avx256. Nevím jak u těch nových mnojojadernych slepenych monster. Ale nemyslím, že se rychlostní nůžky mezi avx512 a 2xavx256 v dohledné dobe nějak zásadně rozevrou. Možná mji tyinstrukce smysl pro nějaké specifické inteli plány do budoucna, ale zrychlení bude vidět jen ve velmi velmi specifických aplikacích.

  • 6. 4. 2018 19:11

    DIk (neregistrovaný)

    ...třeba u trénování neuronek (např. tensorflow) se počítá zrychlení v řádech 10 násobků, procesor se pak výkonem dostává na úroveň GPUček ( překonává 1080, 1080ti)...

  • 6. 4. 2018 20:48

    y, (neregistrovaný)

    Nechci aby to znelo namyslene, ale o tom bych mel neco vedet. Takze prosim, zdroje? Jinak nestoudne kecate.

    Orientacne:
    Vypocetni komplexita neuronovek neni zasadni a ve vetsine pripadu vezi v maticovem nasobeni, kterej je O(n^2.8+-delta) (samozrejme zalezi na implementaci). Coz principialne znamena, ze musite optimalizovat jak vypocetni narocnost, tak memory bandwidth pressure. Optima dosahnete, pokud jsou vypocetni operace a memory bandwidth v rovnovaze. Pro CPU se dosazitelna memory bandwidth vetsinou udava v rozmezi 20-80GB/s. U GPU je to cca 300-1000GB/s (zalezi na modelu a jak to pocitate). Coz znamena, ze rychlostni speedup mezi GPU a CPU v pripade SGEMM lze ocekavat 10x, zalezi na velikosti matice (pro velmi male a male matice uvidite vliv L1 az Lx).

    Rychlost pri trenovani neuronovek je, v zavislosti na architekture a velikosti neuronovek a predpokladam, ze vas to neprekvapi, cca 20x rychlejsi. Samozrejme dokazu vyfabrikovat velmi specialni architekturu, ktera bude na GPU dokonce pomalejsi nez na CPU, ale proste v principu, veci ktere by byly vypocetne narocne, aby uzily AVX512 pak budou omezene memory bandwidth, takze budou "jenom" desetkrat pomalejsi.

    Tenhle orientacni spisek samozrejme nedokazuje, ze nejaka instrukce AVX512 nemuze byt desetkrat rychlejsi nez to same implementovane pres AVX2 (i kdyz pochybuji) ani ze AVX512 nemuze byt rychlejsi nez to same provedene na GPU (tam by se asi musely zase delit frekvence), jen tvrdim, ze vase tvrzeni, ze s AVX512 je tensorflow na CPU stejne rychle jako na GTX1080 je blud.

  • 8. 4. 2018 20:54

    Marek Kica (neregistrovaný)

    Narocnost neuronky zavisi od velkosti a rozmeru trenovacej mnoziny , typu ucenia a hlavne pocte trenovacich cyklov . Architektura NN je samozrejme dolezita , ale prehanat s poctami vrstiev (Viac ako 2 ) a velkym potom neuronov je zbytocne (vid univerzalna approximacna theorema ) . Nejaky cas dozadu som videl nejake pokusy ludi z Google na obrazovych datach, ked som videl ake pocty vrstiev pouzivaly chytal som sa za hlavu.

  • 8. 4. 2018 23:30

    y, (neregistrovaný)

    a) jiste, na tom take zalezi, ale ptejte se sam sebe, kde muze pomoci nejaka zazracna instrukcni sada. Nekde, kde jde jenom linearni cteni pameti (a s tim souvisejici velikost trenovaci mnoziny ci pocet iteraci), zvlast kdyz proste vic XGB/s ze sbernice nevymacknete -- nebo nekde, kde se neco zurive pocita? Kdybych ja sam sebe chtel napadnout, tak na to jdu pres konvoluci a nebo pres sekvencni optimalizacni kriteria jako je treba CTC. Nebo jeste lepe, zacal bych s tim, co na gpu jde delat vypocetne jen spatne -- typicky masivni vetveni, a pak hledal pripad, kdy to v pripade neuronovek bude hrat roli.

    b) jenze ten teorem je existencni a mluvi o spojitych funkcich (+par "detailu"). Vice nebudu dodavat, zvlast jestli si myslite, ze lidi z Google, DeepMind (WaveNet, nez je koupil G.), Oxfordu (VGG net) a ostatnich center a firm ho neznaji.

  • 9. 4. 2018 3:24

    meh (neregistrovaný)

    Dyt prave vyuziti maleho poctu fully-connected vrstev k nicemu nevede. Temer vsechen progres byl zalozen na specialnich typech vrstev (konvoluce, LSTM, GRU atd.), ktere omezovali a usmernovali nelinearni optimalizaci u uceni, K tomu aktivacni funkce, jako ReLU, SWISH a podobne, ktere omezovali ztratu gradientu. To, ze teoreticky staci jedina skryta vrstev je k nicemu, v realu to nikdy nemelo smysl. Ted jsou bezny Resnety o 1000 vrstvach... Doporucuji misto cteni literatury z 80-ych let zkusit neco alespon z 2012...

  • 9. 4. 2018 3:28

    meh (neregistrovaný)

    Deep Learning zpise vyzaduje nizkou presnost (8-bit je hodne casto dostatecny a to vyuziva Google v TPU nebo NVidia ve Volta) a je zpise o pametove propustnosti (1080Ti je az o 50% pomalejsi nez P100 a to jenom diky pameti). Ted jsou zpise pokusy udelat skalarni soucin primo v RAM, to by mohlo zrychlit Deep Learning 100x. AVX-512 je zpise pro supercomputers, co delaj simulace pro nuklarni, biologicke nebo fyzikalni procesy. A AVX-512 chce hrozne moc proudu, tak se cele CPU podtaktuje, aby to vubec prezilo, takze ze 4GHz to najednou jde na 2.2GHz, kdyz je AVX-512 v provozu.

  • 12. 4. 2018 23:57

    Anonymus bimbus (neregistrovaný)

    Desetinásobné zrychlení z AVX-512 je nehorázný nesmysl. Proč?

    AVX-512 jsou 512bitové SIMD instrukce, což znamená to, že rozšiřují šířku vektoru na dvojnásobek proti 256bitovému vektoru AVX/AVX2. Jinými slovy, operace se zároveň provádí s dvojnásobkem hodnot. Teoreticky tedy může mít AVX-512 dvakrát vyšší výkon - v microbenchmarku, reálně tam je často ztráta kvůli částem algoritmu, které nejsou paralelní.

    V realitě je přínos AVX-512 nižší, protože žere víc energie a Xeony se při použití těchto instrukcí podtaktovávají o několik stovek MHz - podívejte se do recenzí/speci­fikací, jestli nevěříte. Reálně je kvůli tomuhle výkon vyšší méně než dvojnásobně. Dokonce se musí hlídat, aby zrychlení bylo vyšší, než kolik dělá ten propad frekvencí kvůli aktivování 512bit. jednotek, protože jinak můžete celkový výkon ztratit.

    S úctou,
    realita

  • 6. 4. 2018 16:30

    unicode (neregistrovaný)

    Vzhledem k tomu, že použití AVX512 instrukci způsobí podtaktování toho CPU si nejsem tak jistý.