fizinfo AT lists.kfki.hu
Subject: ELFT HÍRADÓ
List archive
- From: Borbas Jozsefne <borbas AT sunserv.kfki.hu>
- To: fizinfo AT lists.kfki.hu
- Subject: [Fizinfo] HPC/HP-SEE Programozási felhívás
- Date: Thu, 18 Oct 2012 09:46:40 +0200 (CEST)
- List-archive: <http://mailman.kfki.hu/pipermail/fizinfo>
- List-id: ELFT HÍRADÓ <fizinfo.lists.kfki.hu>
Az NIIF Intézet részt vesz egy Európai Uniós szuperszámítástechnikai
projektben. Ennek keretén belül egy programozási versenyre lehet jelentkezni,
amelyen végzett és jelenleg is jogviszonyban álló hallgatók is indulhatnak.
Ha lehetséges, akkor a lenti felhívást legyetek szívesek továbbítsátok az
intézményeteken belül a megfelelő címzettek számára.
Előre is nagyon szépen köszönöm a segítséget!
Üdvözlettel,
Rőczei Gábor
NIIF Intézet
http://www.niif.hu/projektek/szuperszamitastechnika/hp_see/programozasi_felhi
vas
Programozási képességeitek minősítésére most egy programozási versenyt
ajánlunk a figyelmetekbe! Képesek vagytok rá, hogy megírjátok a leggyorsabb
mátrix-szorzó kódot?
FELADAT
Vegyünk egy mátrixot, aminek a változtatható mérete N×N és a mátrix-szorzás
kódja pedig ez. Próbáljátok meg módosítani ezt a kódot és növelni annak
teljesítményét. A módosításokat elvégezhetitek C-ben és/vagy assembly
programnyelven, OpenMP párhuzamosítással. A lebegőpontos műveletek száma a
mátrix-szorzás során: (2N ? 1)N2.
A main(int argc, char **argv) függvény mellett, a kód kezdeti változata az
alábbi három függvényt használhatja:
* gettime(void) visszatérési értéke a rendszeridő, a kód időzítésére szolgál
* matfill(long N, double *mat, double val) beállítja a kezdőértékét
egy N×N mat mátrixnak, val változóértékkel; ezzel a megoldássál egyszerűen
le tudod ellenőrizni, hogy az új algoritmus pontos adatokat generál-e vagy
sem. Nagyon fontos, hogy az algoritmusnak véletlenszerűen generált
mátrixokkal (a és b) is kell működnie.
* matmul(long N, double *a, double *b, double *c) mátrix-mátrix
multiplikációt végez a és b mátrixokkal, az eredményt pedig egy c
mátrixban tárolja. A mátrixok mérete: N×N.
A megadott mátrixon módosítások csak a matmul(long N, double *a, double *b,
double *c) függvénnyel végezhetőek el. A bemeneti és a kimeneti adatok
formátuma maradjon egyforma: a kód csak egy argumentumot fogadhat el
parancssorból (a mátrix lineáris méretét, N-t), és végrehajtáskor egy egy
soros kimenetet kell létrehoznia, mely tartalmazza a mátrix méretét, az eltelt
időt (másodpercekben) és a másodpercenkénti lebegőpontos számítások becsült
számát (flops). Például:
[user AT ui.mmm]$
./mmm-v1 1000
1000 7.144675e+00 2.799288e+08
[user AT ui.mmm]$
A kódod teljesítményét az alábbi specifikációkkal rendelkező számítógépen
fogjuk lemérni:
* két quad-core-os IntelXeonE5345@
* 2.33GHz-es CPU-k (4 MB ofL3cache)
* 32 GB RAM
a kód Intel fordítóval (13.0.0), optimalizáció nélkül (-O0)
és OpenMP párhuzamosítás (-openmp) felhasználásával lesz lefordítva. Semmilyen
külső könyvtár nem hívható meg, a mátrix elemeinek bárminemű újrarendezését
pedig (pl. felcserélés) az időzített matmul funkción belül kell elvégezi. A
programnak hibák és memóriaszivárgások (memory leak) nélkül kell futnia, az
eredményének 64 bites pontosságúnak kell lennie (dupla pontosság). A pontozás
az alábbi méretekre fog történni: N = 400, 800, 1200, 1600, 2400, 3200, 4800,
és 9600. Minden mátrixméret esetében ugyanazt a kódot kell használni, tehát
az N értéket nem lehet beleírni a kódba, a függvény meghívásakor kell azt
megadni.
BEFOGADáSI FELTéTELEK
A versenyen diploma előtt álló, illetve már végzett diákok indulhatnak az
alábbi országokból: Albánia, Azerbajdzsán, Bosznia-Hercegovina, Bulgária,
Görögország, Grúzia, Macedónia, Magyarország, Moldova, Montenegró,
Örményország, Románia, Szerbia.
A KóD BENYúJTáSA
A kód általatok készített verzióját a megmérettetésre e-mailen keresztül kell
benyújtani az alábbi
címre:mmm AT lists.hp-see.eu.
Ugyanebben az e-mailben a következő információkat kell megadnotok:
* teljes név
* érintett intézmény neve
* ország
Egy versenyző több verziót is beadhat, de csak a legjobb teljesítményt elérő
kódvariációt vesszük majd számításba. A kód teljesítményét manuálisan fogja
megvizsgálni a versenybizottság és az eredményekkel együtt publikálja a
weboldalán. Ezen felül minden induló e-mailben is megkapja az eredményeket.
HATáRIDő
A HP-SEE computing challenge beadási határideje: 2012. október 31.
NYEREMéNY
A legjobb kódot készítő versenyző részt vehet majd egy olyan HPC tréning
rendezvényen, amit a HP-SEE vagyPRACE projekt fog majd szervezni. A jövőbeli
tréning eseményeknek a HP-SEE tréning oldalán, illetve a PRACE tréning
oldalán lehet utánanézni. A nyeremény átvétele előtt a győztesnek igazolnia
kell a hallgatói státuszát.
HP-SEE felhívás: http://www.hp-see.eu/hp-see-computing-challenge
LETöLTéS
mmm.c - kezdeti verziója a kódnak
[hp-see-logo_0.png]
_______________________________________________
Hbone-admin mailing list
Hbone-admin AT listserv.niif.hu
https://listserv.niif.hu/mailman/listinfo/hbone-admin
- [Fizinfo] HPC/HP-SEE Programozási felhívás, Borbas Jozsefne, 10/18/2012
Archive powered by MHonArc 2.6.19+.