Skip to Content.

fizinfo - [Fizinfo] HPC/HP-SEE Programozási felhívás

fizinfo AT lists.kfki.hu

Subject: ELFT HÍRADÓ

Text archives


[Fizinfo] HPC/HP-SEE Programozási felhívás


Chronological Thread 
  • 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+.

Top of Page