Intel Xeon Phi

Innen: KIFÜ Wiki
A lap korábbi változatát látod, amilyen Szigeti(AT)niif.hu (vitalap | szerkesztései) 2016. május 2., 13:21-kor történt szerkesztése után volt. (Hardver bemutatása)

Az oldalon található információk segítséget nyújtanak a HPC felhasználóinknak, hogy alkalmazásaikat miként portolhatják valamint optimalizálhatják a hatékonyabb futást szem előtt tartva Intel Xeon Phi koprocesszor kártyákon.

Hardver bemutatása

Intel® Xeon Phi™ Coprocessor 7120P

CPU threads/Core max threads CPU Freq Memória L1 cache L2 cache Interfész Ptot Számítási kapacitás
61 4 Hardver 244 1238 GHz 16GB GDDR5 32KB/core 512KB/core PCIe 300W 1,1 PFlop/s
OpenMP-nél csak 240 ~100 cycles

~174 GB/s

~3 cycles ~10 cycles ~7 GB/s

~1 microsecond

Az Intel® 1. generációs Xeon Phi™ koprocesszorában található 61 processzor ugyanazt a 16GB memóriát éri el, de semmilyen módon se fér hozzá közvetlenül a hoszt gép fizikai memóriájához.
Budapest2 és Debrecen3-Phi gépeinkben számítási nodonként 2-2 Phi™ koprocesszor található.
A kártyákon általános célú Linux kernel fut melyre a belépés limitáltan csak a rendszergazdák számára lehetséges SSH-n keresztül a hoszt gépről. Természetesen a kártyára belépve olyan érzésünk lehet, mintha egy sok processzoros gépen dolgoznánk, ami rendelkezik rengeteg memóriával. Ez így is van, de a hatékonyabb kihasználás érdekében az SSH-n keresztüli elérés nem lehetséges, csak a Slurm segítségével valamint a programozási nyelvek által támogatott csatornákon keresztül. Ennek részletezése lentebb megtalálható.

Használati módok

támogatott mód

Offload

Offload + OpenMP

támogatott, de nem preferált használat

automatikus kódátvitel

BUDAPEST2[cn10] phi (0)$ export SINK_LD_LIBRARY_PATH=/opt/intel/composerxe/compiler/lib/mic BUDAPEST2[cn10] phi (0)$ micnativeloadex hello_phi Hello world! I have 244 logical cores. BUDAPEST2[cn10] phi (0)$

nem támogatott mód

közvetlen natív használat

Alkalmazások optimalizálása a kártyára

Ebben a fejezetben optimalizálási lehetőségeket mutatunk be, melyek segítségül szolgálhatnak az egyes alkalmazások hatékonyabb futása érdekében ezzel jobban kihasználni a rendelkezésre álló erőforrások adta számítási kapacitás.

Hosszredukció

Vektorizáció

SIMD

AoS -> SoA

Hatékony hossz választás

"Héj ciklusok" kiköszöbölése

Regularizáció

Párhuzamosítás

Párhuzamos szálak ütemezése

Ciklus kifejtés

Automatikus ciklusösszevonás