ACH Projekt 1. Na fóru píše, že se předpokládá řešení "jednoduchou cestou, tedy po složkách". Znamená to, že např. r v rovnici 4.3 nahrazuji postupně dx, dy a dz abych získal síly v jednotlivých směrech? Tento přístup mně momentálně nefunguje (při dělení nulou nastavuju příslušné v na 0).
Jen u kolizí
No já pochopil, že to po složkách myslí vx, vy a vz, vzdálenost zůstává pořád stejná, ne?
A dělení nulou tam pořád nevidím.. :D
Ak naozaj odkazujete na rovnicu gravitačného zákona, ten po zložkách naozaj nefunguje a za vzdialenosť musíte zadať korektnú hodnotu získanú normálnou metrikou v kartézskom priestore. Predstavte si, že máte dve telesá, ktoré sú od seba svetelné roky ďaleko, ale ofset v jednej dimenzii je pár centimetrov. Asi to tými telesami moc nepohne. Ak by to fungovalo po zložkách, tak by tiež riešenie bolo závislé od voľby báz sústavy, čo nedáva zmysel. Po spočítaní sily túto však môžte znovu rozložiť do troch vektorov a ďalej počítať po zložkách.
https://physics.stackexchange.com/questions/17285/split-gravitational-force-into-x-y-and-z-componenets použil jsem nakonec tyto vztahy a funguje to spravne (aspoň podle testu)
Jaké PAPI eventy sa používali na druhom cviku na zistenie L1 výpadkov v %?
Zobrazit všechny odpovědi (4)
Mário Kuka Ťukal jsem do kalkulačky :-D Doporučuju INS flagy
No to som už skúšal ale prisahal by som že nám to ten nástroj na tom cviku vypisoval v % aj pre L1 alebo sa mýlim?
Mário Kuka Nevím o takovém
Mário Kuka Na cvikách sme L1 počítali "ručně" podle nějakých jiných eventu.
V kroku dva se dělá převod na SoA a pak je požadováno předání hodnot do té funkce pomocí původní struktury. Není ten převod pak zbytečný? Udělám sice rychlí load, ale pak to znovu rozhodim do těch původních struktur. Myslíte, že je to tak schválně, aby sme pak v kroku 3 vyděli zrychlení když to budem předávat pomocí float?
Zobrazit všechny odpovědi (1)
ano, presne tak
ACH projekt 1 - někdo, kdo už to má, a je ochotný prokonzultovat step 4?
Taky by mě to zajímalo, hlavně kde se tam vezme dělení nulou
Zobrazit všechny odpovědi (1)
No... asi tak. :D
A ještě mě zajímá jak se to bude po té úpravě vektorizovat...
PCS ACH Ahoj, zminili se na prednaskach, co se da cekat na pulsemestralce? Diky.
Ach, přecijen něco říkal :D Zmiňoval, že se dá očekávat otázka na skalární procesory, že zadá např. sadu instrukcí a bude ho zajímat jak + jak dlouho bude probíhat daná sada bez/s optimalizací (moc víc neříkal)
Zobrazit všechny odpovědi (2)
presnejsie s predavanim dat a bez :) + co sa deje pri scoreboardingu/rezervacnych staniciach + ROB + RAT. Plus nieco zo skokov, z poslednej prednasky hintol ze nieco by sa mohol spytat na trace cache
a taktiez odporuca si skusit ten program na simulaciu CPU, je v "Studijni opory"
ACH Nasel by se nekdo, kdo by vymenil cvika ve stredu v 8:00 (potrebuji) za 12:00 (mam registrovane)? O:) Je to jediny termin, ktery se mi nekryje s prednaskama BMS a BIS
Napiš Jarošovi mail, mně dnes na přednášce říkal, že tam má rezervu a není problém přes kapacitu
Supr, diky za info
ACH Neuvolnil by mi někdo prosím místo v 10:00 - 11:50? To poslední volné se mi kryje s AEU, kde je jen jeden termín :( úplatek je možný
ACH Ahojte, nasel by se prosim nekdo, kdo by mi uvolnil prvni termin na cvika - Středa: 08:00-09:50? Do Brna budu jezdit jen na tyo cvika a kvuli praci se mi posledni termin od 12:00 dost nehodi...nabizim lahev vina :-D
ACH Ahojte, nasel by se prosim nekdo, kdo by mi uvolnil prvni termin na cvika - Středa: 08:00-09:50? Do Brna budu jezdit jen na tyo cvika a kvuli praci se mi posledni termin od 12:00 dost nehodi...nabizim lahev vina :-D
ACH
https://docs.google.com/document/d/13p_7jGcSq-IbbQDpEqQeDML9xHN9_-ZhSgogTqny4zs/edit
ACH Neví někdo co by mohlo bejt na zkoušce? Sdílenej dokument žádnej není?
ACH projekt2, qnvidia Kdo je dd-17-30-15, dd-17-30-38, dd-17-30-18, dd-17-30-28, dd-17-30-19, dd-17-30-24, dd-17-30-10, dd-17-30-13, dd-17-30-22? Nechcete spustet joby jen davkove, at se muzeme podelit o tech 9 grafik ktere jsou v te fronte? nebo se mi podarilo zaseknout si qsub
ACH O kolik se vám podařilo zrychlit výpočet v jednotlivých krocích. Mě step0 trvá 0.3s a step1 0.003s. Přijde mi divné že by jen spojením kernelů došlo k stonásobnému zrychlení.
neodstranil si omylom synchronizaciu pred zastavenim casovacu?
Zobrazit všechny odpovědi (7)
cudaDeviceSynchronize(); gettimeofday(&t2, 0);
myslím si že ne
nesynchronizuje se to nahodou __syncthreads()?
když tam dám __syncthreads(); tak je to úplně to samé
hod si tam cuda chceck makra an cudaSuccess
Podívej se na profiler, jestli vůbec ty kernely něco dělají...třeba to vůbec nefunguje.
Jo bylo to tím kernel vůbec nepočítal
ACH Podarilo sa niekomu zlepsit vykon pomocou tej shared memory v kroku 2?
Mi to hlasi Illegal memory access pri kopirovani do pameti CPU. Pravdepodobne v kernelu delam nejake cunaciny.
ACH proj 2: Jak resite testovani?
Testy z prvního projektu + to referenční řešení co je v kostře projektu.
ACH Stalo sa niekomu že testy vypisovali toto? : warning #3180: unrecognized OpenMP #pragma #pragma omp simd
ano, ked neprelozis s open mp tak prekladac nepozna tu direktivu. To ale nevadi, len vypise warning a tvari sa ze sa nic nestalo a ide dalej ako keby tam nebola.
takže nemám riešiť srandy ako if defined papi a pod iba to ignorovať?
iba ak chces pouzivat funkcie
osobne som to riešil vypnutim warningov pre nevektorizovane testy priamo v tom scripte
ACH Proj1: Nesetkal se někdo s tím, že mu prochází basic testy, ale "Symetry/Stability globe test" hodí chybu?
podarilo sa niekomu spraviť step4 a znížiť dobu výpočtu (oproti step3.3) a zároveň Vám prešli všetky testy ?
Vie niekto spraviť ten výpočet kolízii? Môj vzorec je asi nesprávny
Zobrazit všechny odpovědi (1)
https://www.wolframalpha.com/input/?i=prvni_rovnice,+druha_rovnice
ACH ako počítate percentá cache výpadkov? Viem si zistiť počet missov, ako sa dostanem k počtu prístupov? (pre L1)
Ak používaš PAPI, tak máš tam counter aj na počet prístupov. Ak procesor tento counter nepodporuje, tak sa dá použiť aj counter na počet store a load inštrukcii. Takže buď PAPI_L1_TCM / PAPI_L1_TCA alebo PAPI_L1_TCM / (PAPI_SR_INS + PAPI_LD_INS)
ACH Máte někdo zapsané, co říkal Jaroš v pátek, že by se mohlo objevit na písemce?
Dobra otazka.
09-29 zminoval ze se muze objevit priklad na Scoreboarding/Rezervacni stanice
ACH neviete niekto ako to dopadlo s posunutim terminu odovzdania 2. projektu ?
wow, ono se resilo nejaky posunuti terminu? to by docela bodlo :) .. nerikalo se, jak velky by byl teoreticky posun?
vraj ano. neviem
ACH Info k projektu: *UPDATE* - Projekt zveřejněn. "Zahájení projektu jsme trochu posunuly. Na Salomonu nastaly změny v kompilátorech s lepší podporou pro OpenMP 4.0 a tak předěláváme projekt pro tento standard na místo proprietárních Intel pragma. Problematika potřebná pro řešení projektu bude vysvětlena na přednášce následující po půlsemestrálce."
Tak už je projekt zadán.
ACH - Projekty ešte nie sú zadané, alebo ich len neviem nájsť?
Prej je zadá 5. Tyden
ACH Dostavate aj vy "Could not chdir to home directory /home/it4i-10-3-31: No such file or directory" po pripojeni na anselm? /home/ je naozaj prazdny. Ten anselm ma v poslednej dobe viac a viac serie.
ACH Projekt 1: Za nic na světě nemůžu zarovnat pole A v matvec. V main.cpp jsem ho pomocí __declspec zarovnal a v mat_vec_mul jsem informoval kompilátor pomocí __assume_aligned, ale pořád mi report píše "reference a has unaligned access".. Už 2 hodiny jsem zabil vším možným a už mě opravdu nic nenapadá. Nemáte někdo nějaký tip?
pole môžeš zarovnať napr. __attribute__((align(ALIGN))) float matrix[ROWS][COLWIDTH]; kompilátor informuješ o zarovnaní: #pragma vector aligned (nad for cyklom)
to je pak ale v rozporu se zadáním, kde je napsáno, že musíme použít direktivy __declspec a __assume_aligned.
zarovnáváš na 32 bytů?
samozřejmě
neviem aké presne je zadanie, ale je to tak takto presne prikázané? lebo nevidím dôvod prečo nepoužiť napr. __attribute__ na miesto __declspec ... __declspec je pôvodne myslím nejaká windowsová varianta
Citace zadání: "Pomocí direktiv __declspec(align(N)) a __assume_aligned(var, N) vynut’te zarovnání polí a, b, c v paměti.".. Jakože klíďo bych to rozjel jinak, ale s těmato dvouma se mi to prostě nedaří.. Můžeme to dělat i jinak než říkají? Existuje k tomu nějaké oficiální vyjádření? EDIT: a Vám to někomu s těmahle dvouma funguje?
Neviem no, tento semester nemám ACH tak ti neviem povedať či to môžete aj inak urobiť. Osobne nevidím dôvod prečo by sa to nemohlo, ale ak je to takto v zadaní ... Napíš mail Ing. Hrbáčkovi alebo Dr. Jarošovi a budeš vedieť na 100%
Tuším, že děláš 3. krok - viz 8.přednáška 37. slide - zarovnání se ti kvůli tomu, že se jedná o vícerozměrné pole stejně nepodaří... takže to v tomto kroku neřeš. Vyřeší se to až v dalších krocích.
hm, to som si ani neuvedomil že sa jedná o 2D pole ... Lepšie by asi bolo previesť 2D pole na 1D ... a rovno to už alokovať dynamicky, napr. pomocou _mm_malloc() (ak by si potreboval vytvoriť napr. 1GB maticu, pri statickej alokácii by mohol nastať problém)
Tak asi teda risknu nějaký z těchto postupů.. Díky. Škoda že anselm *zase* nefunguje...
teď jsem ho ze zvědavosti vyzkoušel a všechno mi jede...
Aha, moje chyba. Na chvíli nefungoval, tak jsem si pustil ping abych viděl aý zas pojede, abych nemusel co chvíli kontrolovat a oni mají ping odfiltrovaný.. :D
ACH Projekt1: Na aké časy, skalárne MFLOPS/ vektorové MFLOPS sa Vám podarilo optimalizovať nbody?
ja som stále iba na 2.25s, 36.7859/10632.7 MFLOPS
Ja som na 1.01s a nieco okolo 30/23000 MFLOPS ale uz neviem co s tym dalej.
2.61s, 60.4352/11481 MFLOPS
Podařilo se vám nějak upravit výkonnost nbody pomocí těch postupů z matvec? Já trochu zvedl výkon úpravami toho výpočtu, ale nějaké direktivy, zarovnání a paddingy na to mají nulový dopad.
Opravdu by me zajimalo, jakou metodou se da dostat pod 2 sekundy..
Mrkni do slajdov 08.pdf, tam je toho dost. Inak neviete ci je povolene OpenMP a paralelizacia? Tou sa mi to podarilo dostat az na 0.3s a 75000 MFLOPS :D
nbody ide na anselme pomocou OpenMP aj 390000 MFLOPS :D ale v tomto projekte ide najmä o vektorizáciu a optimalizáciu pre jednovláknovú aplikáciu takže OpenMP asi nie ale môžeš to určite odovzdať ako bonus :D
Jaké jste dostali hodnoty odchylek při implementaci nbody? v základní verzi mám průměrnou chybu 0,0026, při optimalizaci se to dostane až na 0,005. To je asi 4x tolik, než píše v mailu. Zajímalo by mě, co myslím tím "výrazně vyšší chyba".
Já jsem teda v základu (bez jakýchkoliv ACH optimalizací) na 1.8 a 80/14000, ale průměrná chyba bude asi tak jako má Jiří Matyáš. Relativně nízká chyba mě utvrzuje v tom, že matematicky to počítám správně, ale pak fakt nechápu, jak bych měl snížit chybu tak, aby byla průměrně do jedné tisíciny... Vy máte chybu pod tisícinu? :O
ACH Ide niekomu vytvorit novy task na anselme? Connection refused qsub: cannot connect to server dm1 (errno=111)
Pred par hodinami to este slo bez problemov, asi po 13.00 uz nejde ani nam.
ACH Ma prosim niekdo prvy zaznam (22.9.2015)? Z video serveru nejde stiahnut. Dik
mám
Zobrazit všechny odpovědi (1)
Mozes mi to prpsim nekam nazdielat? Dik