Cvičení MI-PAP I. Šimeček, M. Skrbek, J. Trdlička xsimecek@fit.cvut.cz Katedra počítačových systémů FIT České vysoké učení technické v Praze Ivan Šimeček, 2011 MI-PAP, LS2010/11, Cvičení 1-6 Příprava studijního programu Informatika je podporována projektem financovaným z Evropského sociálního fondu a rozpočtu hlavního města Prahy. Praha & EU: Investujeme do vaší budoucnosti
Kompilace a spouštění úloh pod sdílenou pamětí na serveru STAR [M... https://edux.fit.cvut.cz/courses/mi-pap/labs/spousteni_uloh of 2 210.2011 23:04 Kompilace a spouštění úloh pod sdílenou pamětí na serveru STAR Kompilace úloh (pro OpenMP) gcc -fopenmp -O3 <soubor.c> g++ -fopenmp -O3 <soubor.cpp> Spuštění úloh(pro PAP) stáhněte si šablonu job_souboru z /home/mpi/queue_12_1slots_per_host_job.sh a upravte ho dle potřeb. spusťte pomocí příkazu /opt/bin/qrun.sh takto: /opt/bin/qrun.sh 12c 1 1slots_per_host <job_soubor> Obecně spuštění úloh (např. pro PAR) stáhněte si šablonu job_souboru z /home/mpi a upravte ho dle potřeb. spusťte pomocí příkazu /opt/bin/qrun.sh takto: /opt/bin/qrun.sh [4c 12c mix] #CPU FRONTA job_soubor 4c: Uloha pobezi na vypocetnich uzlech se 4 CPU na zakladni desce desce, 8GB RAM. 12c: Uloha pobezi na vypocetnich uzlech se 12 CPU na zakladni desce desce, 24GB RAM. mix: Uloha nahodne pobezi na vypocetnich uzlech 4c nebo 12c nebo jejich kombinace.!!! Tento rezim je pouze pro testovani uloh!!!!!! Pro mereni uloh je treba pouzivat rezim 4c nebo 12c!!! Pokud neni uvedena zadna hodnota 4c, 12c nebo mix tak se pouzije hodnota: 12c #CPU: Na kolika procesorech ma dana uloha bezet v dane fronte FRONTA. (Ciselna hodnota v rozsahu 1-104) Kazda FRONTA ma svuj vlastni rozsah procesoru, viz. sekce FRONTA! FRONTA: fronta min #CPU max #CPU doba behu ulohy ================ ========== ========== ================= 1slots_per_host 1 1 60 min default 1 8 30 min fast 1 8 1 min long 1 32 40 min serial 1 1 60 min short 1 16 20 min Fronty na serveru STAR zjistíme pomocí příkazu qconf -sql 12c_1slots_per_host.q 12c_default.q 12c_fast.q 12c_long.q 12c_serial.q 12c_short.q
ompilace a spouštění úloh pod sdílenou pamětí na serveru STAR [M... https://edux.fit.cvut.cz/courses/mi-pap/labs/spousteni_uloh of 2 210.2011 23:04 12c_vip.q 2slots_per_host.q 4c_1slots_per_host.q 4c_default.q 4c_fast.q 4c_long.q 4c_serial.q 4c_short.q 4c_vip.q all.q linsolve.q /mnt/www/courses/mi-pap/data/pages/labs/spousteni_uloh.txt Poslední úprava: 2011/04/08 08:18 autor: xsimecek
ompilace a spouštění úloh s technologií OpenCL na serveru STAR [... https://edux.fit.cvut.cz/courses/mi-pap/labs/spousteni_ulohopencl of 1 210.2011 23:05 Kompilace a spouštění úloh s technologií OpenCL na serveru STAR Kompilace zkopírovat nějaký příklad z: /opt/share/ati-stream-sdk-v3-lnx64/samples/ upravit cestu v daném makefile na /opt/share/ati-stream-sdk-v3-lnx64 spustit make spustitelný soubor vznikne v adresáři: build/debug/x86_64/xyz Další možné volby -O<cislo> = úroveň optimalizace -g = vloží informace pro debug Spuštění pokud spustíme bez parametrů dostaneme chybovou hlášku: Platform Vendor : Advanced Micro Devices, Inc. Error: clgetdeviceids failed Error code : CL_DEVICE_NOT_FOUND Error: samplecommon::displaydevices() failed Pro správnou funkci je třeba zkopírovat soubor.cl do adresáře ke spustitelnému souboru a spouštět s parametrem - -device cpu (znaky minus jsou po sobe bez mezery) spouštění úloh s technologií OpenCL na serveru STAR je stejné jako pro OpenMP Debug 3. 4. Zkompilovat s volbou -g spustit clbuildprogram() s volbou -g nastavit proměnnou prostředí CPU_COMPILER_OPTIONS= -g raději nastavit proměnnou prostředí CPU_MAX_COMPUTE_UNITS=1 Ukázkové kódy opencl.zip /mnt/www/courses/mi-pap/data/pages/labs/spousteni_ulohopencl.txt Poslední úprava: 2011/04/20 18:49 autor: xsimecek
ompilace a spouštění úloh s technologií CUDA na GPU serverech [... https://edux.fit.cvut.cz/courses/mi-pap/labs/spousteni_ulohcuda 1 of 1 210.2011 23:06 Kompilace a spouštění úloh s technologií CUDA na GPU serverech Kompilace pro CUDA-enabled grafické karty nvcc <soubor s priponou.cu> -lcuda -lcudart -o spust Další možné volby -O<cislo> = úroveň optimalizace -g = vloží informace pro debug -gencode = vloží překlad pro GPU s CUDA capabilities lepší než 0 (např. -gencode arch=compute_13,code=sm_13) -deviceemu = Kompilace pro emulaci na CPU. Dříve (do verze SDK 3) bylo možno emulovat CUDA kód na CPU pomocí tohoto přepínače Spouštění úloh Po kompilaci (a slinkování) je vytvořen normální spustitelný soubor, takže spuštení je triviální, jen je třeba nastavit správnou cestu k dynamickým knihovnám (pokud není správně nastavena): export LD_LIBRARY_PATH= /usr/local/cuda/lib64 Debug Linux cuda-gdb Windows 3. Nsight [http://developer.nvidia.com/nvidia-parallel-nsight] cuda-memcheck v adresáři /bin waste [http://code.google.com/p/cuda-waste/] Ukázkové kódy cuda.zip /mnt/www/courses/mi-pap/data/pages/labs/spousteni_ulohcuda.txt Poslední úprava: 2011/04/20 18:43 autor: xsimecek
ompilace a spouštění úloh s technologií OpenCL na GPU serverech... https://edux.fit.cvut.cz/courses/mi-pap/labs/spousteni_ulohopenclg of 1 210.2011 23:06 Kompilace a spouštění úloh s technologií OpenCL na GPU serverech Kompilace clang -I/usr/local/cuda/include -lopencl hello_cl.c -o hello_cl Další možné volby -O<cislo> = úroveň optimalizace -g = vloží informace pro debug Spuštění Pro správnou funkci je třeba zkopírovat soubor.cl do adresáře ke spustitelnému souboru a pak normálně spustit. Debug na kartách AMD/ATI lze použít printf(), nutno zapnout rozšíření cl_amd_printf použít debugger gdebuggercl [http://www.gremedy.com/gdebuggercl.php] Ukázkové kódy opencl.zip /mnt/www/courses/mi-pap/data/pages/labs/spousteni_ulohopenclg.txt Poslední úprava: 2011/04/20 18:48 autor: xsimecek