CUDA C/C++ programozás GPU tulajdonságainak lekérdezése A segédanyag készítése a TÁMOP 4.2.4.A/2-11-1-2012-0001 Nemzeti Kiválóság Program című kiemelt.

Slides:



Advertisements
Hasonló előadás
Miskolci Egyetem Gépészmérnöki és Informatikai Kar Alkalmazott Informatikai Tanszék 2013/14 1. félév 7. Előadás Dr. Kulcsár Gyula egyetemi docens.
Advertisements

A projekt az Európai Unió támogatásával, az Európai Szociális Alap társfinanszírozásával valósul meg A projekt az Európai Unió támogatásával, az Európai.
Kifejezések 2+3 Egy egyszerű kifejezés… © Pasztuhov Dániel, www.programozas-oktatas.hu.
LEgyméretű tömbök, vektorok Alkalmazott Informatikai Tanszék SZÁMÍTÁSTECHNIKA I. dr.Dudás László 17./0. lVektorok definiálása lVektorok definiálása kezdőértékekkel.
LFüggvények Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 20./0. lFüggvények deklarációja és prototípusa lA függvénydefiníció lHivatkozás.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
 CUDA mint architektúra  Párhuzamos feldolgozásra optimalizált architektúra  CUDA mint GPGPU keretrendszer  Runtime és Driver API  CUDA C/C++  NVCC.
Dinamikus tömbök.
Sztringek.
Bevezetés a Java programozásba
10. előadás (2004. április 20.) A C előfordító (folytatás) Néhány hasznos compiler opció Egy tanulságos könyvtári függvény Változó hosszúságú argumentum.
11. előadás (2005. május 10.) A make segédprogram Alacsony szintű műveletek és bitmezők Fájl, katalógus rendszer hívások 1.
6. előadás (2005. április 5.) Struktúrák Úniók Új adattípus definíálása Dinamikus memória foglalás 1.
7. előadás (2005. április 12.) Láncolt lista File kezelés 1.
4. előadás (2005. március 8.) Pointerek Pointer aritmetika
Trimble Aerial Camera Nagyfelbontású légi felvételező rendszer fejlesztése A fejlesztés a TÁMOP-4.2.1/B-09/1/KONV azonosító számú, „Kutatóegyetemi.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 6. Gyakorlat const, static, dinamikus 2D.
Függvények, mutatók Csernoch Mária.
Borland C/C++ mintapéldák függvényekre. 1. példa Írjunk olyan függvényt amely egy számot kiirat.
Borland C/C++ mintapéldák struktúrákra. 1. példa /* Egyszerû példa a struktúrák használatára */ #include #define SIZE 5 struct szemely { char nev[26];
Programozás I. Horváth Ernő 1. Elérhetőségek Bauer Péter Horváth Ernő Tanszéki honlap
A C++ programozási nyelvSoós Sándor 1/15 C++ programozási nyelv Gyakorlat hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet.
A C++ programozási nyelvSoós Sándor 1/12 C++ programozási nyelv Gyakorlat - 8. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet.
Kivételkezelés a C++ nyelvben Bevezetés
Microsoft Access Jelentések.
A projekt az Európai Unió támo- gatásával, az Európai Szociális Alap társfinanszírozásával valósul meg. MTMT feltöltés zenei alkotások szerzőinek
Programozási Nyelvek (C++) Gyakorlat Gyak 02.
Nikházy László Ureczky Bálint Konzulens: dr. Horváth Gábor
„21. századi közoktatás – fejlesztés, koordináció” TÁMOP / számú kiemelt projekt „21. századi közoktatás – fejlesztés, koordináció”
Készítette: Csíki Gyula
Széchenyi Isván Egyetem Számítógépes hálózatok II 1 Számítógépes Hálózatok II Széchenyi István Egyetem.
Visual Basic 2008 Express Edition
A projekt az Európai Unió támogatásával, az Európai Szociális Alap társfinanszírozásával valósul meg. TÁMOP-4.2.1/B-09/1/KONV „A felsőoktatás.
A projekt az Európai Unió támogatásával, az Európai Szociális Alap társfinanszírozásával valósul meg. TÁMOP-4.2.1/B-09/1/KONV „A felsőoktatás.
Java programozási nyelv Metódusok
HIVATALOS WEBOLDAL: A BESZÉDES EMACS, AVAGY AZ EMACSPEAK BEMUTATÁSA.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 4. Gyakorlat Függvény paraméterek, dinamikus.
A projekt az Európai Unió támogatásával, az Európai Szociális Alap társfinanszírozásával valósul meg. TÁMOP-4.2.1/B-09/1/KONV „A felsőoktatás.
Java web programozás 11..
HF MINTA 2012/2013. ősz. HF Minta  Objektum-orientált program  „Adatvezérelt” alkalmazás írása  Fájl kezelés (olvasás, írás)  Menü készítése  5-6.
A SERDÜLŐK SIKERESSÉG FELFOGÁSA A siker mint társadalmi érvényesülési cél az információs társadalom korában Dr. Szabó Éva.
Objektum orientált programozás
CUDA C/C++ programozás Textúra memória A segédanyag készítése a TÁMOP A/ Nemzeti Kiválóság Program című kiemelt projekt keretében.
Programozás I. Típus algoritmusok
CUDA C/C++ programozás Szál struktúra A segédanyag készítése a TÁMOP A/ Nemzeti Kiválóság Program című kiemelt projekt keretében.
CUDA C/C++ programozás Egyéb eszköztárak vegyesen A segédanyag készítése a TÁMOP A/ Nemzeti Kiválóság Program című kiemelt projekt.
CUDA C/C++ programozás
Dr. Nagy Erzsébet, Gyenes Anett, Vargáné Molnár Alíz,
A projekt az Europai Unio támogatásával, az Europai Szociális Alap társfinanszírozásával valósult meg.
CUDA C/C++ programozás Atomikus műveletek A segédanyag készítése a TÁMOP A/ Nemzeti Kiválóság Program című kiemelt projekt keretében.
Függvények a C nyelvben 1 Függvényeket a következő esetekben szokás írni: Ha ugyanazt a tevékenységet többször is el kell végeznünk ugyanolyan típusú,
CUDA C/C++ programozás CUDA C bevezetés A segédanyag készítése a TÁMOP A/ Nemzeti Kiválóság Program című kiemelt projekt keretében.
2012. március 21. Paulik Áron.  Ha a függvényünk feladata olyan, hogy nem lenne értelme a visszatérési értéknek, vagy csak nincs rá szükség, void típusúként.
Programtervezés, programozás I. 2.5 tömbök,stringek
Objektum orientált programozás 4. Mutatók, típusok és struktúrák Nagy Szilvia.
Struktúrák a C nyelvben 1 Akkor használjuk, ha az egy egyedre jellemző különböző típusú adatokat együtt akarjuk tárolni. Lényegében típusdeklaráció. A.
Függvények, mutatók Csernoch Mária. Függvények függvény definíciója az értelmezési tartomány tetszőleges eleméhez hozzárendel egy értéket –függvény helyettesítési.
TÁMOP /1-2F JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam Osztályok, objektumok definiálása és alkalmazása. Saját.
A projekt az Európai Unió támogatásával, az Európai Szociális Alap társfinanszírozásával valósul meg PKSZ rendszer bemutatása Önkormányzati projektvezetők.
GPGPU – CUDA 1..
a programegységek között
ÁROP /C/A A komplex programmal segítendő leghátrányosabb
Spárta államszervezete
Hernyák Zoltán Programozási Nyelvek II.
Nikházy László Ureczky Bálint Konzulens: dr. Horváth Gábor
A FEUDÁLIS TÁRSADALOM MŰKÖDÉSE.
AZ INVESZTITÚRA
A KÖZÉPKORI VÁROS POLITIKAI
A KÖZÉPKORI EGYETEMEK FELÉPÍTÉSE
CUDA – OpenGL.
Előadás másolata:

CUDA C/C++ programozás GPU tulajdonságainak lekérdezése A segédanyag készítése a TÁMOP A/ Nemzeti Kiválóság Program című kiemelt projekt keretében zajlott. A projekt az Európai Unió támogatásával, az Európai Szociális Alap társfinanszírozásával valósul meg.

GPU tulajdonságai  Az NVIDIA GPU-kat számos paraméter jellemzi.  Multiprocesszorok száma  CUDA magok száma.  Memória mérete.  GPU órajele.  Stb.  Illetve minden GPU-hoz tartozik egy számítási képesség, ami leírja  A GPU felépítésének fontosabb tulajdonságait.  Az utasításkészletet.  Nagyjából mindent, amit a programozónak egy hatékony program megírásához tudnia kell.

GPU-k tulajdonságainak lekérdezése  A CUDA Api-ban van ehetőség a rendszerven elérhető GPU-k adatainak lekérésére.  Erre 2 függvényt használunk majd:  cudaGetDeviceCount( int* count )  Megadja az elérhető GPU-k számát.  cudaGetDeviceProperties ( cudaDeviceProp* prop, int device )  Megadja egy kiválasztott GPU paramétereit.

GPU-k tulajdonságainak lekérdezése cudaError_t cudaGetDeviceCount (int* count) Paraméterek: count – pointer ami a visszadott GPU számnak mutat egy megfelelő memóriacímre Visszatérési érték: Az eredmény hibakódja (cudaSuccess, cudaErrorNoDevice, cudaErrorInsufficientDriver)

GPU-k tulajdonságainak lekérdezése cudaError_t cudaGetDeviceProperties(cudaDeviceProp* prop, int device) Paraméterek: prop – pointer egy cudaDeviceProp típusú struktúrára, ami majd a paramétereket tárolni fogja device – egy elérhető GPU sorszáma Visszatérési érték: Az eredmény hibakódja (cudaSuccess, cudaErrorInvalidDevice)

A cudaDeviceProp struktúra mezői  char name[256];  size_t totalGlobalMem;  size_t sharedMemPerBlock;  int regsPerBlock;  int warpSize;  size_t memPitch;  int maxThreadsPerBlock;  int maxThreadsDim[3];  int maxGridSize[3];  int clockRate;

A cudaDeviceProp struktúra mezői  size_t totalConstMem;  int major;  int minor;  int deviceOverlap;  int multiProcessorCount;  int kernelExecTimeoutEnabled;  int integrated;  int canMapHostMemory;  int computeMode;

A cudaDeviceProp struktúra mezői  int maxTexture1D;  int maxTexture2D[2];  int maxTexture3D[3];  int concurrentKernels;  int ECCEnabled;  int memoryClockRate;  int memoryBusWidth;  int l2CacheSize;  int maxThreadsPerMultiProcessor;

Példa GPU tulajdonságok lekrdezésére  09_DeviceProps.cu int main( void ) { cudaDeviceProp prop; int count; cudaGetDeviceCount( &count ); for (int i=0; i< count; i++) { cudaGetDeviceProperties( &prop, i ); printf( " --- General Information for device %d\n", i ); printf( "Name: %s\n", prop.name ); printf( "Compute capability: %d.%d\n", prop.major, prop.minor );... }