 C++ STL szerű template könyvtár  https://thrust.github.io/ https://thrust.github.io/  Vektor struktúrák  Támogatott algoritmusok  Rendezések  Leképzések.

Slides:



Advertisements
Hasonló előadás
Természetbeni juttatások – egyes béren kívüli juttatások.
Advertisements

2011. évi zárás Készítette: Juhász Ágnes. 1. Zárást megelőző feladatok  Leltározás  Folyószámla egyeztetés (kapcsolt vállalkozásoktól egyenlegkérés)
Az IKER önértékelő IKER társadalmasítás workshop Budapest, április 12.
TARTALOM BREVIÁRIUM – RÖVID MAGYARÁZATOK NÉGY ESZKÖZ BERUHÁZÁSTERVEZÉS ÉS -MENEDZSMENT Bevezetés Főszereplők Az eszközök Tanulság ESZKÖZÖK és ERŐFORRÁSOK.
Projekt módszer óvodai alkalmazásának egy lehetséges változata Encsen „Jó gyakorlat” bemutatása Sárospatak, Léportné Temesvári Ildikó és Zsiros.
Gazdasági informatika - bevezető
Palotás József elnök Felnőttképzési Szakértők Országos Egyesülete
Előadó: Kajdocsi László
Fájlkezelés.
GPGPU – CUDA 1..
Számítógépes szimuláció
3. tétel.
Általános célú számítások a GPU-n
Számítógépes hálózati alapismeretek - vázlat
Elemi adattípusok.
Mezőgazdasági kisüzemek fejlesztése
AWK ismétlés AWK: adatvezérelt nyelv:
Program utasítássorozat
Foglalkoztatási Paktumok az EU-ban
D Á N I A 2007.november Készítette: KOVÁCSNÉ NAGY MÁRIA.
Az Európai Uniós csatlakozás könyvtári kihívásai
PHP - függvények.
Monte Carlo módszerek.
Kompetenciák az osztott tanárképzésben
A MOTIVÁCIÓ SZEREPE ÉS HATÁSKÖRE A KÖZOKTATÁSBAN ÉS A FELSŐOKTATÁSBAN
Programozás I. Gyakorlás egydimenziós tömbökkel Többdimenziós tömbök
szakmai referens, országos versenyszervező
Vörös-Gubicza Zsanett képzési referens MKIK
Követelményelemzés Cél: A rendszer tervezése, a feladatok leosztása.
Kockázat és megbízhatóság
Rangsorolás tanulása ápr. 13..
A kiváltást tervezők / megvalósítók és Az fszk TÁRS projektje közti együttműködés rendszere EFOP VEKOP TÁRS projekt.
Tömör testmodellek globális kapcsolatai
Nyelvek típusossága.
VÁRATLAN MŰSZAKI ESEMÉNYEK
Bevezetés Az ivóvizek minősége törvényileg szabályozott
MTT MA Mérnöktanár mesterszak
A NEAK szerepe a ritka betegségek finanszírozásában
Közigazgatási alapvizsga a Probono rendszerben
középfokú felvételi eljárás
OpenGL kiterjesztések (extensions)
STRUKTURÁLT SERVEZETEK: funkció, teljesítmény és megbízhatóság
CONTROLLING ÉS TELJESÍTMÉNYMENEDZSMENT DEBRECENI EGYETEM
A könyvtár mint rendszer
A hatékony adományozás eszközei igazgató, Magyar Adományozói Fórum
C++ Standard Template Library
Informatikai gyakorlatok 11. évfolyam
Környezeti Kontrolling
Minimális feszítőfák Definíció: Egy irányítatlan gráf feszítőfája a gráfnak az a részgráfja, amely fagráf és tartalmazza a gráf összes cúcspontját. Definíció:
BTMN.
Gyermek- és ifjúságvédelemi feladatok ellátásának támogatása
Természetismereti kirándulásra való felkészüléshez javaslat
A Lineáris Keresés Buktatói
SZAKKÉPZÉSI ÖNÉRTÉKELÉSI MODELL I. HELYZETFELMÉRŐ SZINT FOLYAMATA 8
További rendező és kereső algoritmusok
9-10.-es bemeneti mérések és a fejlesztő munkánk
Együtt Nyírbátorért Helyi Közösség
C++ Standard Template Library
A GWP KKE régió aszálykezelési útmutatója
Scool-Túra Kft Miskolc Széchenyi út 36.
Dr. Vasas Lívia, PhD december
Felvételi a középfokú iskolákban a 2016/2017. tanévben
Társadalmi integráció kistelepüléseken
TITKOSÍTÓ ALGORITMUSOK
Gyker.uni-eszterhazy.hu A külső szakmai gyakorlatok adminisztrációját támogató rendszer használatának bemutatása EKE  Kutatáshasznosítási Iroda Gyakorlati.
Algoritmusok.
A T-spline felületreprezentáció
Észak-magyarországi Regionális Munkaügyi Központ által végrehajtott TÁMOP program eredményeinek bemutatása.
Pipeline példák (Normál, 2019).
Oféliák színháza.
Előadás másolata:

 C++ STL szerű template könyvtár   Vektor struktúrák  Támogatott algoritmusok  Rendezések  Leképzések  Scan jellegű műveletek  Gyűjtő műveletek

 thrust::host_vector  A központi memóriába található vektor  thrust::device_vector  A GPU memóriájában található vektor  Iterátorok támogatása  Vektorok közötti másolás  operator= bármely kombinációban  Vektor elemek elérése  operator[] bármely vektor esetén  a GPU-n található vektor esetén lassú lehet

 thrust::fill  Adott értékkel feltölti a vektort  thrust::uninitialized_fill  Csak memóriát foglal #include... thrust::device_vector v(4); thrust::fill(thrust::device, v.begin(), v.end(), 137); // v[0] == 137, v[1] == 137, v[2] == 137, v[3] == 137

 thrust::sequence  Növekvő sorozattal tölti fel a vektort #include... const int N = 10; int A[N]; thrust::sequence(thrust::host, A, A + 10); // A is now {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}

 thrust::generate  Paraméter nélküli függvényhívás eredményével tölti fel a vektort #include... thrust::host_vector v(10); srand(13); thrust::generate(thrust::host, v.begin(), v.end(), rand); // the elements of v are now pseudo-random numbers

 thrust::tabulate  A kitöltendő elem sorszámával hívott függvény eredményével tölti ki a vektort #include... const int N = 10; int A[N]; thrust::tabulate(thrust::host, A, A + 10, thrust::negate ()); // A is now {0, -1, -2, -3, -4, -5, -6, -7, -8, -9}

 thrust::transform  A kitöltendő elem értékével hívott függvény alapján tölti fel a vektort #include... int data[10] = {-5, 0, 2, -3, 2, 4, 0, -1, 2, 8}; thrust::negate op; thrust::transform(thrust::host, data, data + 10, data, op); // in-place transformation // data is now {5, 0, -2, 3, -2, -4, 0, 1, -2, -8};

 thrust::for_each  A vektor minden elemére függvény kiértékelés #include... struct printf_functor { __host__ __device__ void operator()(int x) { printf("%d\n", x); } };... thrust::device_vector d_vec(3); d_vec[0] = 0; d_vec[1] = 1; d_vec[2] = 2; thrust::for_each(thrust::device, d_vec.begin(), d_vec.end(), printf_functor()); // is printed to standard output in some unspecified order

 thrust::partition  thrust::stable_partition  A vektor elemeinek átrendezése predikátum alapján #include... struct is_even { __host__ __device__ bool operator()(const int &x) { return (x % 2) == 0; } };... int A[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; const int N = sizeof(A)/sizeof(int); thrust::partition(thrust::host, A, A + N, is_even()); // A is now {2, 4, 6, 8, 10, 1, 3, 5, 7, 9}

 thrust::min_element  thrust::max_element  thrust::minmax_element  A vektor szélsőértékeinek számítása #include... int data[6] = {1, 0, 2, 2, 1, 3}; thrust::pair result = thrust::minmax_element(thrust::host, data, data + 6); // result.first is data + 1 // result.second is data + 5 // *result.first is 0 // *result.second is 3

 thrust::count  thrust::count_if  Valamely tulajdonságnak megfelelő elemek számának meghatározása #include... // put 3 1s in a device_vector thrust::device_vector vec(5,0); vec[1] = 1; vec[3] = 1; vec[4] = 1; // count the 1s int result = thrust::count(thrust::device, vec.begin(), vec.end(), 1); // result == 3

 thrust::sort  thrust::stable_sort  A vektor elemeinek növekvő sorba rendezése #include... const int N = 6; int A[N] = {1, 4, 2, 8, 5, 7}; thrust::sort(thrust::host, A, A + N); // A is now {1, 2, 4, 5, 7, 8}

 thrust::inclusive_scan  thrust::exclusive_scan #include... int data[6] = {1, 0, 2, 2, 1, 3}; thrust::inclusive_scan(thrust::host, data, data + 6, data); // data is now {1, 1, 3, 5, 6, 9} int data2[6] = {1, 0, 2, 2, 1, 3}; thrust::exclusive_scan(thrust::host, data2, data2 + 6, data2); // data is now {0, 1, 1, 3, 5, 6}

 thrust::constant_iterator  Konstans értékű sorozat  thrust::transform_iterator  Transzformált sorozat  A transzformáció utáni értéket reprezentálja  thrust::permutation_iterator  Átrendezett sorozat  A permutáció eredményét reprezentálja  thrust::zip_iterator  Több sorozat összrendelése  Az összerendelt párokat reprezentálja