Párhuzamos programozás
|
|
- Csenge Kelemen
- 8 évvel ezelőtt
- Látták:
Átírás
1 Párhuzamos programozás a gyakorlatban Tódor Balázs cougar@sch.bme.hu
2 Tematika Erről lesz szó 1 PC C++ OpenMP, thread-ek Közös memória Használati technikák, trükkök Erről nem Sok PC (grid, cluster) C#, Java, Python MPI, process-ek Elosztott memóriás modell Mi a mutex, CS, stb.
3 Tartalom Párhuzamosítás 1x1 Eszközök, technikák FP, AP, kommunikáció Tervezés Az eddigiek használata Top-down/Bottom-up Egy lehetséges jövő Stream programming
4 Miért? Hány processzorod van? A GPU számít? 1 CPU 2, 4, 8, mag Moore törvénye: 1,5 évente x2 mag Kihasználtság 50%, 25%, 13%, Core i7 = 8 mag
5 Párhuzamosítás 1x1 Független feladatok azonosítása Megjelenítés + számolás Zene + kezelőfelület Beolvasás + helyesírás Külön szál minden feladatnak Eszközök: Intel TBB, boost Kölcsönös kizárás printf Kommunikáció teljes függetlenség nem szokott lenni
6 Zab és bab Független feladatok Zab Bab Két külön szál Eszközök Boost::thread OpenMP Válogatás Zabmosás Babmosás Hegyezés Hámozás Csomagolás Csomagolás Vége
7 Boost STL++ Platformfüggetlen, ingyenes Mit tud? Array, circular buffer, bitset Graph, FSM File system, függvénypointerek Thread, mutex, stb. Any, variant, konvertálás String algoritmusok
8 Boost::thread Thread Ctor Join ThreadFunc Függvény N paraméter boost::thread zabthread(zabfunc); Zabmosás Hegyezés Válogatás boost::thread babthread(babfunc); Babmosás Hámozás Csomagolás Csomagolás zabthread.join(); babthread.join(); Vége
9 OpenMP Fordítóba beépített Intel, MSVC, gcc Minimális kódmódosítás #pragma omp Multiplatform Linux, Win32, stb. Rugalmas AP, FP, mutex, CS, single/master, stb.
10 OpenMP Parallel OMP engedélyezése Sections Párhuzamos blokk Section Szálak létrehozása Barrier Join_all omp section omp parallel omp sections omp barrier Zabmosás Hegyezés Csomagolás Válogatás omp section Vége Babmosás Hámozás Csomagolás
11 OpenMP vs boost
12 OpenMP
13 boost
14 Funkcionális párhuzamosítás Független funkciók Kölcsönös kizárás Kommunikáció... egyszerű, gyors, rugalmatlan 2x annyi szál?
15 Fizikai szimuláció dspacecollide NearCallback Step Ütköztetés 1. NxN R: objektumok Ütköztetés 2. NxN R: objektumpár W: contact-ok Feloldás N R: objektum W: objektum
16 Fizikai szimuláció Feladatok dspacecollide: (1*N)*N NearCallback: (1*N)*N Step (1*N) Független feladatok (collide+near+step) (collide+near+step) (collide+near+step)... Azonos funkció, sok szál Rugalmas, egyszerű De: csak független adatokon
17 Parallel for fork Ciklusváltozó signed int Összehasonlítás egyszerű Léptetés konstanssal Kiugrás Break, continue, goto join
18 Közös erőforrások Közös változó Írás Olvasá s Az írás-olvasás között más is beleírhat. Kölcsönös kizárás vagy Csak olvasás
19 Explicit saját változó Saját változó
20 Implicit saját változó Saját változó
21 Közös és saját Egy tömb összes elemét akarjuk összeadni Mi legyen a célváltozó? Közös, mert meg akarjuk tartani Saját, mert többen is írnának bele Ha közös? Kölcsönös kizárás (lassú) Ha saját? Eltűnik amit beleírunk!
22 Redukció Közös változó Redukció bekapcs. Explicit: saját változó Implicit: sajátok -> közös
23 Fizika és AP Collide N szál NearCallback Ír a contact-ok listájába -> lock Step N szál máshol keressük a függetlenséget!
24 Fizikai szimuláció: függetlenség A különböző szigetek függetlenek Számolhatjuk őket külön szálakon Collide: N*N PhysX, ODE Legjobb eset egyforma szigetek Legrosszabb eset N, 1, 1, 1 Ez gyakorlatilag egyszálú
25 Fizikai szimuláció: függetlenség A különböző szigetek függetlenek Számolhatjuk őket külön szálakon Collide: N*N PhysX, ODE Legjobb eset egyforma szigetek Legrosszabb eset N, 1, 1, 1 Ez gyakorlatilag egyszálú
26 Funkcionális Legrosszabb eset lassú/gyors eljárások külön szálon pl. beolvasás + helyesírásellenőrzés Adat kevés/sok adat: N, 1, 1, 1 Nem egyforma műveletek Statikus kiosztás Hány szál van? Melyik szál mit csinál?
27 A megoldás Skálázhatóság Feladat és végrehajtás külön Dinamikus erőforráskiosztás Szálak közötti feladatmozgatás N, 1, 1, 1 -> N/2, 1+N/2, 1, 1 Lassú, gyors -> gyors+lassú/2, lassú/2
28 Hibrid rendszerek Taszk Funkciórész + valamennyi adat Kicsi: jobb kihasználtság Nagy: kevesebb szinkronizáció Ütemező Taszk-szál összerendelés Egyszálas (gyors legyen) Erőforrás Processzor (szálak) HDD, user (képernyő, billentyűzet)
29 Fizikai szimuláció: gráfban
30 Ütemezés Mikor futhat egy taszk? Bemenet (producer-consumer) Erőforrásigények Olvasás/írás? Gyors, egyszerű Critical section-ben fut Amdahl törvénye
31 Amdahl A varázsképlet : P: párh./soros arány N: CPU-szám Jól gondold meg hol lockolsz!
32 Ütemezés Taszk list<object*> m_apwritelocks; list<const Object*> m_apreadlocks; bool CanRun(const guard&); CanRun() Erőforrások Bemenetek true list.pop_front() UNLOCK Task.Run() LOCK task=list.front() task.canrun() false list.move(task, vége)
33 Hibrid rendszerek A végrehajtás és a feladat független Skálázható Legyen elég taszk Logikus: irányított gráfból hozható létre
34 Párhuzamosítás 1x1 Független feladatok azonosítása Szálak létrehozása Kölcsönös kizárás Olvasás, írás Kommunikáció Közös erőforrások Kommunikáció Producer-consumer
35 Kölcsönös kizárás Olvasás vs írás Olvasni: akárhányan Írni: csak egy Tanulság: olvasni jó HL2 (Source): 95% Eszközök Mutex, Critical Section, stb. Egyik sem biztonságos De mindegyik lassú
36 Kommunikáció Nincs kizárás Atomi műveletek Lockless Hardware-es kölcsönös kizárás Kölcsönös kizárás Mutex, CS, stb. Kettős pufferelés Igazi garázsbaillő megoldás
37 Atomi megoldások Hardverfüggő 1 db aligned read/write mindig atomi ivalue = 0; ++a Beolvasás+növelés+visszaírás = 3 OpenMP: 'atomic' kulcsszó Több atomi művelet?
38 Több atomi művelet Tipikus hiba idata = 5; bvaliddata = true; Ellenségünk: instruction reordering Az MMU blokkokban írja a memóriát Főleg XBox, de PC-n is előfordul Megoldás Critical section Platformfüggő: barrier utasítások
39 Lockless Lock Lock, tárolás, unlock Lassú, ismert, biztonságos Lockless CompareAndSwap utasítás Sok lock megoldás erre épül
40 Lockless Láncolt lista old=null CAS(head, old, new) false -> head=old, újra Tulajdonságok Gyors (hardveres) Végrehajtási idő? Prioritások? ABA-probléma A!= A
41 A probléma Thread1: A->B->A ABA-probléma Thread2: CAS(&p, A, C)=true Mikor jön elő? Az A érték nem a teljes állapotot tárolja (A!=A) Pl. A = pointer A megoldás 32b: DCAS: 64 bit (32b pointer + azonosító) 64b: aligned pointerek + bitbuherálás
42 ABA-probléma: láncolt lista A lista struct { Obj* next; } * Eredetileg: A, B Műveletek Thread1: read A (nincs pop) Next = A.next (B) Thread2: pop A, pop B, push A A.next = NULL Thread1: CAS(head, A, C) true, de C.next = B!
43 Lockless: miért jó? Nincs deadlock (és ez a helyes megoldás?!) Nincs prioritásinverzió Prioritásörökléssel is megoldható Mondjuk itt prioritás sincs Nincs sorbanállás a kamion a leggyorsabb Interrupt handler Malloc, interrupt, a handler-ben malloc? Hatékonyabb, mint a mutex Nagy méretű tömb esetén hogy lockolsz?
44 Szünet Végig maradt Szünetben hazament
45 Párhuzamos problémák Instruction reordering A=5; B=1; -> B=1; A=5; CS, barrier Változók regiszterekben Tudatlan fordítók Volatile kulcsszó False sharing Nem hiba, csak lassú
46 False sharing Struct: A, B elemek Thread1: A-t használja Thread2: B-t használja Helyesen működik Független feladatok Nem kell kölcsönös kizárás Rém lassú miért?
47 False sharing Thread1: A=1; Cache line piszkos Core2: cache line érvénytelen Thread2: ++B L1 Cache line érvénytelen Újraolvasás: RAM->L2->L1->B Megoldás: Egy cache line = egy core
48 Kettős pufferelés Memóriaigényes: két példány Késik egy swap -et Nincs lock Kivéve: swap Hatékony Funkcionálisan párhuzamos rendszerek Erősen összekötött rendszerek
49 Intel Smoke Rendszerek: MI, fizika, grafika, hang, input Az FP a legszebb, de Fizika -> MI, gfx, hang gfx -> MI Input->fizika Change manager Inkább késsen, mint lockoljon Kettős puffer továbbfejlesztve
50 Intel Smoke FP volt, hibrid lett 1 nagy feladat = sok (soros) taszk Egyszerűbb, mint a teljes párhuzamosítás A rendszerenkénti futási idő nem változik De jobb kitöltés -> párhuzamosíthatóbb
51 Intel Smoke Observer: Saját másolat a közös objektumokból Nincs lock, amikor olvasol Cserébe késik az információ Change Controller: per frame szinkronizáció 1 frame késés Sok rendszer?
52 Intel Smoke Fix időnként átviszi a változásokat Clock: game clock (lehet renderfüggetlen)
53 Lock technikák Hol lockolunk? adathoz v. kódhoz közel Lock helyett guard Private változók = nincs lock! Thread Local Storage Multithreaded Singleton A mutex:adat arány 1:1, N:1, 1:N
54 Hol lockoljunk? lock Működik? Igen Bővíthető? Nehezen (Enter/Leave) unlock Skálázható? Nehezen (FP)
55 Hol lockoljunk? nem thread safe Van egy osztály... több szál akarja használni. nem thread safe
56 Hol lockoljunk? Külső lock Majd megoldja valaki +3 nap debuggolás / osztály (~270eFt) Belső lock Az osztály magának elintézi Esetek 90%-a Hívó által biztosított A hívónak bizonyítania kell, hogy lockolt Ez a +10%
57 Belső lock guard guard Biztonságos Teljesen thread safe Idiótabiztos Kívülről láthatatlan Bárki használhatja az osztályt Rugalmatlan Annyi lock, ahány művelet.
58 Hívó által bizonyíték
59 Hívó által Nem az igazi... Mit bizonyít egy lock_guard<mutex>? Kinek a mutexe? Továbbfejlesztési lehetőségek Típusos lock_guard Lock_guard<Type> Fordítási idejű ellenőrzés Pointeres lock_guard Lock_guard<Type>.m_pOwner Futási idejű ellenőrzés
60 1:1 1 adat, 1 mutex Lock: minél közelebb Erre van a Get/Set Tömbök?
61 Modulo N lockolás: pl. páros/páratlan Mitől függ az N? Szálak száma 1:N Egy szál hány elemhez fér hozzá egyszerre
62 Hívó általi lock 1 lock, N művelet Ez is 1:N! Gyorsabb de egyszálúbb explicit lock implicit unlock
63 N:1 Több mutex egy adathoz? A szál lefogja az egyiket... B szál a másikat... Sok-sok debuggolás Intel Thread Checker 1000 USD
64 Tartalom Párhuzamosítás 1x1 Eszközök, technikák FP, AP, kommunikáció Tervezés Az eddigiek használata Top-down/Bottom-up Egy lehetséges jövő Stream programming
65 Hogyan párhuzamosítsunk? Hol kell párhuzamosítani? Leglassabb részek keresése 90/10-es szabály Független feladatok azonosítása Sugárkövetés Videófeldolgozó program
66 Megközelítés Top-down rendszerszinttől, lefelé Bottom-up közvetlenül ott, ahol szükséges Call stack módszer Breakpoint a 10%-ba Melyik szinten érdemes próbálkozni?
67 Példa Független részek Pixelek Leglassabb Sugár-test metszés Top-down Pixelek Bottom-up Testek Sugarak Független részek Pixelek Képkockák Leglassabb Motion blur Top-down Képkockák Bottom-up Pixelek
68 Előre tervezés Milyen új funkciók lehetnek? Mit kéne tudnia egy év múlva? Milyen új adatok lehetnek? Több? Más? Merre fejlődik a hardver? Több mag SIMD, SIMT
69 Előre tervezés Általában több adat kerül be mint funkció Videófeldolgozás A frame-ek száma gyorsabban nő, mint a pixeleké Raytracer Szebb képhez több sugár/test ütközés kell Kompromisszum? FP mellett OpenMP-s AP Mindegy mit csinálsz, az OpenMP még belefér
70 Párhuzamos optimalizáció Ami gyors egy szálon, az nem biztos, hogy párhuzamosítható is. Mátrixszorzás: Triviális: O(n 3 ) Strassen: O(n 2,81 )
71 Mátrixszorzás Triviális 4 szál Azonos terhelés Strassen 7 szál, aztán 4 Eltérő terhelés Soros rész!
72 Tartalom Párhuzamosítás 1x1 Eszközök, technikák FP, AP, kommunikáció Tervezés Az eddigiek használata Top-down/Bottom-up Egy lehetséges jövő Stream programming
73 A jövő Intel core i7 8 mag GPU 8800 GTS = 112 mag (GTX 280: 240) Nem csak grafikára Hogyan programozzuk? HLSL, BrookGPU CUDA / AMD Stream OpenCL C++ (Larrabee)
74 Stream programming HLSL, Brook Pixel shader, adat=textúra, kimenet=rendertarget 1 helyre írás CUDA/Stream Scatter write Gyártófüggő OpenCL AMD, Apple, nvidia, stb Larrabee > 25 db P54C C++ Linux a videókártyán
75 Stream programming (olvas, feldolgoz, ír)xn Sok, független adat (N>1000) Teljesen azonos feldolgozás (SIMT) Divergencia? Mi hiányzik? Rekurzió Pointerek Össze-vissza írás/olvasás Feltételek/ugrások
76 CUDA Szálkezelés Buta, gyors (~1000) SIMT Adatkezelés Tömb (textúra) Konstans tömb Háromszintű memória Kommunikáció Barrier ( syncthreads) CPU-s emuláció printf
77 ThreadID adat index Közös memória Local: blokkon belül Global: grid-en belül Barrier Blokkon belül Kernel float *pin, *pout (stream!) Adat: pin[threadid] CUDA
78 CUDA példa Thread ID Kernelhívás
79 Összefoglalás Funkcionális vagy adatpárhuzamosítás FP: ha független funkciók vannak AP: ha sok független adat van N~1000 -> stream Hibrid rendszerek Adatfolyamgráfból -> Taszk + ütemező OpenMP-vel FP/AP együtt Kommunikáció, lock Atomi/Lockless/lock adathoz közel
80 Elérhetőség Letöltés Kérdések Tódor Balázs,
81 Köszönöm a figyelmet! A. Alexandrescu: Multithreading and the C++ Type System T. Refenes: How to Start a Multi-Threading RelationShip C. Breshears: 8 Simple Rules for Designing Threaded Applications T. Mattson, L. Meadows: A Hands-on Introduction to OpenMP Intel: Designing the Framework of a Parallel Game Engine T. Leonard (Valve): Dragged Kicking and Screaming: Source Multicore Bruce Dawson (XNA): Multicore Memory Coherence: The Hidden Perils of Sharing Data Cyril Zeller(nVidia): CUDA Tutorial Jon Olick (id): Current Generation Parallelism In Games Ian Buck (nvidia): Programming CUDA Intel: Smoke demo ODE: Open Dynamics Engine Boost C++ libraries Khronos Group: OpenMP, OpenCL Geoff Langdale: Lock-Free Programming Wikipedia: Strassen algorithm
OpenCL - The open standard for parallel programming of heterogeneous systems
OpenCL - The open standard for parallel programming of heterogeneous systems GPU-k általános számításokhoz GPU Graphics Processing Unit Képalkotás: sok, általában egyszerű és független művelet < 2006:
RészletesebbenPárhuzamos és Grid rendszerek
Párhuzamos és Grid rendszerek (10. ea) GPGPU Szeberényi Imre BME IIT Az ábrák egy része az NVIDIA oktató anyagaiból és dokumentációiból származik. Párhuzamos és Grid rendszerek BME-IIT
RészletesebbenC# Szálkezelés. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) C# Szálkezelés 2013 1 / 21
C# Szálkezelés Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) C# Szálkezelés 2013 1 / 21 Tartalomjegyzék 1 Bevezetés 2 Szálkezelés 3 Konkurens Programozás Tóth Zsolt (Miskolci Egyetem)
RészletesebbenProcesszusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication)
1 Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication) 1. A folyamat (processzus, process) fogalma 2. Folyamatok: műveletek, állapotok, hierarchia 3. Szálak (threads)
RészletesebbenMagas szintű optimalizálás
Magas szintű optimalizálás Soros kód párhuzamosítása Mennyi a várható teljesítmény növekedés? Erős skálázódás (Amdahl törvény) Mennyire lineáris a skálázódás a párhuzamosítás növelésével? S 1 P 1 P N GPGPU
RészletesebbenOpenCL alapú eszközök verifikációja és validációja a gyakorlatban
OpenCL alapú eszközök verifikációja és validációja a gyakorlatban Fekete Tamás 2015. December 3. Szoftver verifikáció és validáció tantárgy Áttekintés Miért és mennyire fontos a megfelelő validáció és
RészletesebbenProcesszusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication)
1 Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication) 1. A folyamat (processzus, process) fogalma 2. Folyamatok: műveletek, állapotok, hierarchia 3. Szálak (threads)
RészletesebbenKészítette: Trosztel Mátyás Konzulens: Hajós Gergely
Készítette: Trosztel Mátyás Konzulens: Hajós Gergely Monte Carlo Markov Chain MCMC során egy megfelelően konstruált Markov-lánc segítségével mintákat generálunk. Ezek eloszlása követi a céleloszlást. A
RészletesebbenGrafikus csővezeték 1 / 44
Grafikus csővezeték 1 / 44 Grafikus csővezeték Vertex feldolgozás A vertexek egyenként a képernyő térbe vannak transzformálva Primitív feldolgozás A vertexek primitívekbe vannak szervezve Raszterizálás
RészletesebbenBevezetés a párhuzamos programozási koncepciókba
Bevezetés a párhuzamos programozási koncepciókba Kacsuk Péter és Dózsa Gábor MTA SZTAKI Párhuzamos és Elosztott Rendszerek Laboratórium E-mail: kacsuk@sztaki.hu Web: www.lpds.sztaki.hu Programozási modellek
RészletesebbenSzámítógépek felépítése
Számítógépek felépítése Emil Vatai 2014-2015 Emil Vatai Számítógépek felépítése 2014-2015 1 / 14 Outline 1 Alap fogalmak Bit, Byte, Word 2 Számítógép részei A processzor részei Processzor architektúrák
RészletesebbenGPGPU. GPU-k felépítése. Valasek Gábor
GPGPU GPU-k felépítése Valasek Gábor Tartalom A mai órán áttekintjük a GPU-k architekturális felépítését A cél elsősorban egy olyan absztrakt hardvermodell bemutatása, ami segít megérteni a GPU-k hardveres
RészletesebbenPénzügyi algoritmusok
Pénzügyi algoritmusok A C++ programozás alapjai Tömbök (3. rész) Konstansok Kivételkezelés Tömbök 3. Többdimenziós tömbök Többdimenziós tömbök int a; Többdimenziós tömbök int a[5]; Többdimenziós tömbök
RészletesebbenVideókártya - CUDA kompatibilitás: CUDA weboldal: Példaterületek:
Hasznos weboldalak Videókártya - CUDA kompatibilitás: https://developer.nvidia.com/cuda-gpus CUDA weboldal: https://developer.nvidia.com/cuda-zone Példaterületek: http://www.nvidia.com/object/imaging_comp
RészletesebbenGPGPU-k és programozásuk Dezső, Sima Sándor, Szénási
GPGPU-k és programozásuk Dezső, Sima Sándor, Szénási GPGPU-k és programozásuk írta Dezső, Sima és Sándor, Szénási Szerzői jog 2013 Typotex Kivonat A processzor technika alkalmazásának fejlődése terén napjaink
RészletesebbenSzoftvertechnológia alapjai Java előadások
Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz e-mail: fandrew@mit.bme.hu tárgy honlap: http://home.mit.bme.hu/~fandrew/szofttech_hu.html A mai előadás tartalma: Miért pont Java?
RészletesebbenSzámítógép Architektúrák
Multiprocesszoros rendszerek Horváth Gábor 2015. május 19. Budapest docens BME Híradástechnikai Tanszék ghorvath@hit.bme.hu Párhuzamosság formái A párhuzamosság milyen formáit ismerjük? Bit szintű párhuzamosság
RészletesebbenLabView Academy. 4. óra párhuzamos programozás
LabView Academy 4. óra párhuzamos programozás Ellenőrző kérdések Hogyan lehet letiltani az automatikus hibakezelés funkciót? a) Engedélyezzük az Execution highlighting ot b) A subvi error out cluster-jét
Részletesebben9. MPI
9. MPI kertesz.gabor@nik.uni-obuda.hu MPI Message Passing Interface Elosztott memóriájú párhuzamos programozási API Gyk. folyamatok közötti kommunikáció de facto ipari standard Több száz előre definiált
RészletesebbenSzenzorhálózatok programfejlesztési kérdései. Orosz György
Szenzorhálózatok programfejlesztési kérdései Orosz György 2011. 09. 30. Szoftverfejlesztési alternatívák Erőforráskorlátok! (CPU, MEM, Energia) PC-től eltérő felfogás: HW közeli programozás Eszközök közvetlen
RészletesebbenPárhuzamos programozási platformok
Párhuzamos programozási platformok Parallel számítógép részei Hardver Több processzor Több memória Kapcsolatot biztosító hálózat Rendszer szoftver Párhuzamos operációs rendszer Konkurenciát biztosító programozási
RészletesebbenAz MTA Cloud a tudományos alkalmazások támogatására. Kacsuk Péter MTA SZTAKI
Az MTA Cloud a tudományos alkalmazások támogatására Kacsuk Péter MTA SZTAKI Kacsuk.Peter@sztaki.mta.hu Tudományos alkalmazások és skálázhatóság Kétféle skálázhatóság: o Vertikális: dinamikusan változik
RészletesebbenPárhuzamos programozási platformok
Párhuzamos programozási platformok Parallel számítógép részei Hardver Több processzor Több memória Kapcsolatot biztosító hálózat Rendszer szoftver Párhuzamos operációs rendszer Konkurenciát biztosító programozási
RészletesebbenGPGPU alapok. GPGPU alapok Grafikus kártyák evolúciója GPU programozás sajátosságai
GPGPU alapok GPGPU alapok Grafikus kártyák evolúciója GPU programozás sajátosságai Szenasi.sandor@nik.uni-obuda.hu GPGPU alapok GPGPU alapok Grafikus kártyák evolúciója GPU programozás sajátosságai Szenasi.sandor@nik.uni-obuda.hu
RészletesebbenProgramozás alapjai. 10. előadás
10. előadás Wagner György Általános Informatikai Tanszék Pointerek, dinamikus memóriakezelés A PC-s Pascal (is) az IBM PC memóriáját 4 fő részre osztja: kódszegmens adatszegmens stackszegmens heap Alapja:
RészletesebbenMutatók és címek (ism.) Programozás alapjai C nyelv 8. gyakorlat. Indirekció (ism) Néhány dolog érthetőbb (ism.) Változók a memóriában
Programozás alapjai C nyelv 8. gyakorlat Szeberényi mre BME T Programozás alapjai. (C nyelv, gyakorlat) BME-T Sz.. 2005.11.07. -1- Mutatók és címek (ism.) Minden változó és függvény
RészletesebbenArchitektúra, megszakítási rendszerek
Architektúra, megszakítási ek Mirıl lesz szó? Megszakítás fogalma Megszakítás folyamata Többszintű megszakítási ek Koschek Vilmos Példa: Intel Pentium vkoschek@vonalkodhu Koschek Vilmos Fogalom A számítógép
RészletesebbenGPGPU programozás lehetőségei. Nagy Máté Ferenc Budapest ALICE ELTE TTK Fizika MSc 2011 e-science Café
GPGPU programozás lehetőségei Nagy Máté Ferenc Budapest ALICE ELTE TTK Fizika MSc 2011 e-science Café Vázlat Egy, (kettő,) sok. Bevezetés a sokszálas univerzumba. A párhuzamosok a végtelenben találkoznak,
RészletesebbenOperációs rendszerek III.
A WINDOWS NT memóriakezelése Az NT memóriakezelése Memóriakezelő feladatai: Logikai-fizikai címtranszformáció: A folyamatok virtuális címterének címeit megfelelteti fizikai címeknek. A virtuális memóriakezelés
RészletesebbenMatematikai és Informatikai Intézet. 4. Folyamatok
4. Folyamatok A folyamat (processzus) fogalma Folyamat ütemezés (scheduling) Folyamatokon végzett "mûveletek" Folyamatok együttmûködése, kooperációja Szálak (thread) Folyamatok közötti kommunikáció 49
RészletesebbenProgramozás alapjai C nyelv 8. gyakorlat. Mutatók és címek (ism.) Indirekció (ism)
Programozás alapjai C nyelv 8. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.11.07. -1- Mutatók és címek (ism.) Minden változó és függvény
Részletesebben1. Template (sablon) 1.1. Függvénysablon Függvénysablon példányosítás Osztálysablon
1. Template (sablon) 1.1. Függvénysablon Maximum függvény megvalósítása függvénynév túlterheléssel. i n l i n e f l o a t Max ( f l o a t a, f l o a t b ) { return a>b? a : b ; i n l i n e double Max (
RészletesebbenJava és web programozás
Budapesti M szaki Egyetem 2013. szeptember 25. 3. El adás User public class User { private String realname_; private String nickname_; private String password_; public User(String realname, String nickname)
Részletesebben1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben?
1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben? 3. Ismertesse a névtér fogalmát! 4. Mit értünk a "változó hatóköre"
RészletesebbenSzámítógép-rendszerek fontos jellemzői (Hardver és Szoftver):
B Motiváció B Motiváció Számítógép-rendszerek fontos jellemzői (Hardver és Szoftver): Helyesség Felhasználóbarátság Hatékonyság Modern számítógép-rendszerek: Egyértelmű hatékonyság (például hálózati hatékonyság)
RészletesebbenProcesszus. Operációs rendszerek MINB240. Memória gazdálkodás. Operációs rendszer néhány célja. 5-6-7. előadás Memóriakezelés
Processzus Operációs rendszerek MINB40 5-6-7. előadás Memóriakezelés Egy vagy több futtatható szál Futáshoz szükséges erőforrások Memória (RAM) Program kód (text) Adat (data) Különböző bufferek Egyéb Fájlok,
RészletesebbenPárhuzamos és Grid rendszerek
Párhuzamos és Grid rendszerek (7. ea) szálak, openmp Szeberényi Imre BME IIT M Ű E G Y E T E M 1 7 8 2 Párhuzamos és Grid rendszerek BME-IIT Sz.I. 2013.03.25. - 1 - Áttekintés Eddig
RészletesebbenPárhuzamos és Grid rendszerek. Áttekintés. Szálak. Eddig általános eszközöket láttunk, melyek
Párhuzamos és Grid rendszerek (7. ea) szálak, openmp Szeberényi Imre BME IIT M Ű E G Y E T E M 1 7 8 2 Párhuzamos és Grid rendszerek BME-IIT Sz.I. 2013.03.25. - 1 - Áttekintés Eddig
RészletesebbenAz interrupt Benesóczky Zoltán 2004
Az interrupt Benesóczky Zoltán 2004 1 Az interrupt (program megszakítás) órajel generátor cím busz környezet RESET áramkör CPU ROM RAM PERIF. adat busz vezérlõ busz A periféria kezelés során információt
Részletesebben8. Fejezet Processzor (CPU) és memória: tervezés, implementáció, modern megoldások
8. Fejezet Processzor (CPU) és memória: The Architecture of Computer Hardware and Systems Software: An Information Technology Approach 3rd Edition, Irv Englander John Wiley and Sons 2003 Wilson Wong, Bentley
RészletesebbenSzámítógép Architektúrák
Cache memória Horváth Gábor 2016. március 30. Budapest docens BME Hálózati Rendszerek és Szolgáltatások Tanszék ghorvath@hit.bme.hu Már megint a memória... Mindenről a memória tehet. Mert lassú. A virtuális
Részletesebben5-6. ea Created by mrjrm & Pogácsa, frissítette: Félix
2. Adattípusonként különböző regisztertér Célja: az adatfeldolgozás gyorsítása - különös tekintettel a lebegőpontos adatábrázolásra. Szorzás esetén karakterisztika összeadódik, mantissza összeszorzódik.
RészletesebbenDr. Illés Zoltán zoltan.illes@elte.hu
Dr. Illés Zoltán zoltan.illes@elte.hu Operációs rendszerek kialakulása Op. Rendszer fogalmak, struktúrák Fájlok, könyvtárak, fájlrendszerek Folyamatok Folyamatok kommunikációja Kritikus szekciók, szemaforok.
RészletesebbenUtolsó módosítás:
Utolsó módosítás:2011. 09. 29. 1 2 4 5 MMU!= fizikai memóriaillesztő áramkör. Az utóbbinak a feladata a memória modulok elektromos alacsonyszintű vezérlése, ez sokáig a CPU-n kívül a chipset északi hídban
RészletesebbenSmalltalk 2. Készítette: Szabó Éva
Smalltalk 2. Készítette: Szabó Éva Blokkok Paraméter nélküli blokk [műveletek] [ x := 5. 'Hello' print. 2+3] Kiértékelés: [művelet] value az értéke az utolsó művelet értéke lesz, de mindet kiírja. x :=
RészletesebbenFelhasználó által definiált adattípus
Felhasználó által definiált adattípus C++ Izsó Tamás 2017. február 24. Izsó Tamás Felhasználó által definiált adattípus/ 1 Irodalom Izsó Tamás Felhasználó által definiált adattípus/ 2 Programtervezési
RészletesebbenOperációs rendszerek. Az NT folyamatok kezelése
Operációs rendszerek Az NT folyamatok kezelése Folyamatok logikai felépítése A folyamat modell: egy adott program kódját végrehajtó szál(ak)ból és, a szál(ak) által lefoglalt erőforrásokból állnak. Folyamatok
RészletesebbenUtolsó módosítás:
Utolsó módosítás:2010. 09. 15. 1 2 Kicsit konkrétabban: az utasítás hatására a belső regiszterek valamelyikének értékét módosítja, felhasználva regiszter értékeket és/vagy kívülről betöltött adatot. A
RészletesebbenNagy adattömbökkel végzett FORRÓ TI BOR tudományos számítások lehetőségei. kisszámítógépes rendszerekben. Kutató Intézet
Nagy adattömbökkel végzett FORRÓ TI BOR tudományos számítások lehetőségei Kutató Intézet kisszámítógépes rendszerekben Tudományos számításokban gyakran nagy mennyiségű aritmetikai művelet elvégzésére van
RészletesebbenOperációs rendszerek Memóriakezelés 1.1
Operációs rendszerek Memóriakezelés 1.1 Pere László (pipas@linux.pte.hu) PÉCSI TUDOMÁNYEGYETEM TERMÉSZETTUDOMÁNYI KAR INFORMATIKA ÉS ÁLTALÁNOS TECHNIKA TANSZÉK Operációs rendszerek p. A memóriakezelő A
RészletesebbenGyőri HPC kutatások és alkalmazások
Győri HPC kutatások és alkalmazások dr. Horváth Zoltán dr. Környei László Fülep Dávid Széchenyi István Egyetem Matema5ka és Számítástudomány Tanszék 1 HPC szimulációk az iparban Feladat: Rába- futómű terhelés
RészletesebbenDiplomamunka. Miskolci Egyetem. GPGPU technológia kriptográfiai alkalmazása. Készítette: Csikó Richárd VIJFZK mérnök informatikus
Diplomamunka Miskolci Egyetem GPGPU technológia kriptográfiai alkalmazása Készítette: Csikó Richárd VIJFZK mérnök informatikus Témavezető: Dr. Kovács László Miskolc, 2014 Köszönetnyilvánítás Ezúton szeretnék
RészletesebbenPárhuzamos programok futásának kiértékelése Scalasca profiler segítségével
Párhuzamos programok futásának kiértékelése segítségével 2014. Április 24. Pécs, Networkshop 2014 Rőczei Gábor roczei@niif.hu Főbb témák Miért használjunk szuperszámítógépet?! Alapfogalmak Miért van szükség
RészletesebbenSzámítógép Architektúrák
A virtuális memória Horváth Gábor 2016. március 30. Budapest docens BME Hálózati Rendszerek és Szolgáltatások Tanszék ghorvath@hit.bme.hu Virtuális tárkezelés Motiváció: Multitaszking környezet Taszkok
RészletesebbenOperandus típusok Bevezetés: Az utasítás-feldolgozás menete
Operandus típusok Bevezetés: Az utasítás-feldolgozás menete Egy gépi kódú utasítás általános formája: MK Címrész MK = műveleti kód Mit? Mivel? Az utasítás-feldolgozás általános folyamatábrája: Megszakítás?
RészletesebbenFordító részei. Fordító részei. Kód visszafejtés. Izsó Tamás szeptember 29. Izsó Tamás Fordító részei / 1
Fordító részei Kód visszafejtés. Izsó Tamás 2016. szeptember 29. Izsó Tamás Fordító részei / 1 Section 1 Fordító részei Izsó Tamás Fordító részei / 2 Irodalom Izsó Tamás Fordító részei / 3 Irodalom Izsó
RészletesebbenHLSL programozás. Grafikus játékok fejlesztése Szécsi László t06-hlsl
HLSL programozás Grafikus játékok fejlesztése Szécsi László 2013.02.16. t06-hlsl RESOURCES PIPELINE STAGES RENDER STATES Vertex buffer Instance buffer Constant buffers and textures Index buffer Constant
RészletesebbenHatékony memóriakezelési technikák. Smidla József Operációkutatási Laboratórium január 16.
Hatékony memóriakezelési technikák Smidla József Operációkutatási Laboratórium 2014. január 16. 1 Tartalom A cache áthidalása Cache optimalizálás Adatszerkezetek tervezése A programkód szerkezete Prefetch
Részletesebben8. Fejezet Processzor (CPU) és memória: tervezés, implementáció, modern megoldások
8. Fejezet Processzor (CPU) és memória: The Architecture of Computer Hardware and Systems Software: An Information Technology Approach 3rd Edition, Irv Englander John Wiley and Sons 2003 Wilson Wong, Bentley
RészletesebbenList<String> l1 = new ArrayList<String>(); List<Object> l2 = l1; // error
Generics Egyszerűbb példák (java.util csomagból): public interface List { void add(e x); Iterator iterator(); public interface Iterator { E next(); boolean hasnext(); E - formális típusparaméter,
RészletesebbenSAT probléma kielégíthetőségének vizsgálata. masszív parallel. mesterséges neurális hálózat alkalmazásával
SAT probléma kielégíthetőségének vizsgálata masszív parallel mesterséges neurális hálózat alkalmazásával Tajti Tibor, Bíró Csaba, Kusper Gábor {gkusper, birocs, tajti}@aries.ektf.hu Eszterházy Károly Főiskola
Részletesebben(kernel3d vizualizáció: kernel245_graph.mpg)
(kernel3d vizualizáció: kernel245_graph.mpg) http://www.pabr.org/kernel3d/kernel3d.html http://blog.mit.bme.hu/meszaros/node/163 1 (ml4 unix mérés boot demo) 2 UNIX: folyamatok kezelése kiegészítő fóliák
RészletesebbenGrafikus kártyák, mint olcsó szuperszámítógépek - I.
(1) Grafikus kártyák, mint olcsó szuperszámítógépek - I. tanuló szeminárium Jurek Zoltán, Tóth Gyula SZFKI, Röntgendiffrakciós csoport (2) Vázlat I. Motiváció Beüzemelés C alapok CUDA programozási modell,
RészletesebbenSZÁMÍTÓGÉP ARCHITEKTÚRÁK
SZÁMÍTÓGÉP ARCHITEKTÚRÁK Az utasítás-pipeline szélesítése Horváth Gábor, Belső Zoltán BME Hálózati Rendszerek és Szolgáltatások Tanszék ghorvath@hit.bme.hu, belso@hit.bme.hu Budapest, 2018-05-19 1 UTASÍTÁSFELDOLGOZÁS
RészletesebbenGPU Lab. 4. fejezet. Fordítók felépítése. Grafikus Processzorok Tudományos Célú Programozása. Berényi Dániel Nagy-Egri Máté Ferenc
4. fejezet Fordítók felépítése Grafikus Processzorok Tudományos Célú Programozása Fordítók Kézzel assembly kódot írni nem érdemes, mert: Egyszerűen nem skálázik nagy problémákhoz arányosan sok kódot kell
RészletesebbenMemóriagazdálkodás. Kódgenerálás. Kódoptimalizálás
Kódgenerálás Memóriagazdálkodás Kódgenerálás program prológus és epilógus értékadások fordítása kifejezések fordítása vezérlési szerkezetek fordítása Kódoptimalizálás L ATG E > TE' E' > + @StPushAX T @StPopBX
RészletesebbenTematika. MongoDB koncepció JSON Schemaless logika Replicaset képzés Sharding Aggregate framework
MONGODB Tematika MongoDB koncepció JSON Schemaless logika Replicaset képzés Sharding Aggregate framework Koncepció párhuzamosítás: hardver infrastruktúra adta lehetőségeket kihasználni (sok szerver, sok
RészletesebbenOperációs rendszerek. UNIX fájlrendszer
Operációs rendszerek UNIX fájlrendszer UNIX fájlrendszer Alapegység: a file, amelyet byte-folyamként kezel. Soros (szekvenciális) elérés. Transzparens (átlátszó) file-szerkezet. Link-ek (kapcsolatok) létrehozásának
RészletesebbenBevitel-Kivitel. Eddig a számítógép agyáról volt szó. Szükség van eszközökre. Processzusok, memória, stb
Input és Output 1 Bevitel-Kivitel Eddig a számítógép agyáról volt szó Processzusok, memória, stb Szükség van eszközökre Adat bevitel és kivitel a számitógépből, -be Perifériák 2 Perifériákcsoportosításá,
RészletesebbenPlakátok, részecskerendszerek. Szécsi László
Plakátok, részecskerendszerek Szécsi László Képalapú festés Montázs: képet képekből 2D grafika jellemző eszköze modell: kép [sprite] 3D 2D képével helyettesítsük a komplex geometriát Image-based rendering
RészletesebbenGPGPU: Általános célú grafikus processzorok cgpu: computational GPU GPGPU = cgpu Adatpárhuzamos gyorsító: dedikált eszköz, ami eleve csak erre
GPGPU: Általános célú grafikus processzorok cgpu: computational GPU GPGPU = cgpu Adatpárhuzamos gyorsító: dedikált eszköz, ami eleve csak erre szolgál. Nagyobb memória+grafika nélkül (nincs kijelzőre kimenet)
RészletesebbenFlynn féle osztályozás Single Isntruction Multiple Instruction Single Data SISD SIMD Multiple Data MISD MIMD
M5-. A lineáris algebra párhuzamos algoritmusai. Ismertesse a párhuzamos gépi architektúrák Flynn-féle osztályozását. A párhuzamos lineáris algebrai algoritmusok között mi a BLAS csomag célja, melyek annak
RészletesebbenProgramozás C nyelven FELÜLNÉZETBŐL elhullatott MORZSÁK. Sapientia EMTE
Programozás C nyelven FELÜLNÉZETBŐL elhullatott MORZSÁK Sapientia EMTE 2015-16 1 Felülnézet 1 Feltételes fordítás #if, #else, #elif, #endif, #ifdef, #ifndef stb. Felülnézet 2 #include: hatására a preprocesszor
RészletesebbenProgramozási nyelvek (ADA)
Programozási nyelvek (ADA) Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 1. előadás Hasznos weboldal http://kto.web.elte.hu Program felépítése Programegységek (program unit) eljárások (procedure)
RészletesebbenOpenCL Kovács, György
OpenCL Kovács, György OpenCL Kovács, György Szerzői jog 2013 Typotex Tartalom Bevezetés... xii 1. Az OpenCL története... xii 2. Az OpenCL jelene és jövője... xvii 3. OpenCL a Flynn-osztályokban... xviii
RészletesebbenÚjrakonfigurálható technológiák nagy teljesítményű alkalmazásai
Újrakonfigurálható technológiák nagy teljesítményű alkalmazásai Gyakorlat: SSE utasításkészlet Szántó Péter BME MIT, FPGA Laboratórium Vektorizáció Inline assembly Minden fordító támogatja (kivéve VS x64
RészletesebbenOperációs rendszerek. A Windows NT felépítése
Operációs rendszerek A Windows NT felépítése A Windows NT 1996: NT 4.0. Felépítésében is új operációs rendszer: New Technology (NT). 32-bites Windows-os rendszerek felváltása. Windows 2000: NT alapú. Operációs
RészletesebbenRiak. Pronounced REE-ahk. Elosztott adattároló eszköz. Molnár Péter molnarp@ilab.sztaki.hu
Riak Pronounced REE-ahk Elosztott adattároló eszköz Molnár Péter molnarp@ilab.sztaki.hu Mi a Riak? A Database A Data Store A key/value store A NoSQL database Schemaless and data-type agnostic Written (primarily)
RészletesebbenAdatszerkezetek Tömb, sor, verem. Dr. Iványi Péter
Adatszerkezetek Tömb, sor, verem Dr. Iványi Péter 1 Adat Adat minden, amit a számítógépünkben tárolunk és a külvilágból jön Az adatnak két fontos tulajdonsága van: Értéke Típusa 2 Adat típusa Az adatot
RészletesebbenGoogle Summer of Code OpenCL image support for the r600g driver
Google Summer of Code 2015 OpenCL image support for the r600g driver Képek: http://www.google-melange.com a Min szeretnék dolgozni? Kapcsolatfelvétel a mentorral Project proposal Célok Miért jó ez? Milestone-ok
RészletesebbenEgy Erlang refaktor lépés: Függvényparaméterek összevonása tuple-ba
Egy Erlang refaktor lépés: Függvényparaméterek összevonása tuple-ba Témavezető: Horváth Zoltán és Simon Thompson OTDK 2007, Miskolc Egy Erlang refaktor lépés: Függvényparaméterek összevonása tuple-ba OTDK
RészletesebbenOSZTOTT 2D RASZTERIZÁCIÓS MODELL TÖBBMAGOS PROCESSZOROK SZÁMÁRA
Multidiszciplináris tudományok, 3. kötet. (2013) sz. pp. 259-268. OSZTOTT 2D RASZTERIZÁCIÓS MODELL TÖBBMAGOS PROCESSZOROK SZÁMÁRA Mileff Péter Adjunktus, Miskolci Egyetem, Informatikai Intézet, Általános
Részletesebbenwebalkalmazások fejlesztése elosztott alapon
1 Nagy teljesítményű és magas rendelkezésreállású webalkalmazások fejlesztése elosztott alapon Nagy Péter Termékmenedzser Agenda Java alkalmazás grid Coherence Topológiák Architektúrák
RészletesebbenVé V g é r g e r h e a h j a tá t s á i s s z s ál á ak a Runnable, Thread
Végrehajtási szálak Runnable, Thread Végrehajtási szálak Java-ban A Java program az operációs rendszer egy folyamatán (process) belül fut. A folyamat adat és kód szegmensekből áll, amelyek egy virtuális
RészletesebbenHozzáférés a HPC-hez, kezdő lépések (előadás és demó)
Hozzáférés a HPC-hez, kezdő lépések (előadás és demó) 2013.04.16. Rőczei Gábor roczei@niif.hu Főbb témák Hozzáférés a HPC-hez (Linux/Windows) Programok elindítása a különböző HPC gépeken Vizualizáció (kapcsolódás
RészletesebbenProgramozás alapjai 6. előadás. Wagner György Általános Informatikai Tanszék
Programozás alapjai 6. előadás Wagner György Általános Informatikai Tanszék Record A valós életben a nyilvántartásra kerülő adatok nem azonos típusúak. Pl.: Név Cím Telefon GySz Fiz Kis Béla Miskolc Török
RészletesebbenOperációs rendszerek. Az Executive és a kernel Policy és mechanizmusok szeparálása Executive: policy - objektum kezelés Kernel: mechanizmusok:
Operációs rendszerek MS Windows NT (2000) folyamatok Az Executive és a kernel Policy és mechanizmusok szeparálása Executive: policy - objektum kezelés Kernel: mechanizmusok: szálak ütemezése végrehajtásra
RészletesebbenA verem (stack) A verem egy olyan struktúra, aminek a tetejéről kivehetünk egy (vagy sorban több) elemet. A verem felhasználása
A verem (stack) A verem egy olyan struktúra, aminek a tetejére betehetünk egy új (vagy sorban több) elemet a tetejéről kivehetünk egy (vagy sorban több) elemet A verem felhasználása Függvény visszatérési
RészletesebbenGenerikus Típusok, Kollekciók
Generikus Típusok, Kollekciók Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) Generikus Típusok, Kollekciók 2013 1 / 26 Tartalomjegyzék 1 Enumeráció 2 Generikus Típusok 3 Kollekciók System.Collections
RészletesebbenJava és web programozás
Budapesti Műszaki Egyetem 2015. 02. 11. 2. Előadás Mese Néhány programozási módszer: Idők kezdetén való programozás Struktúrált Moduláris Funkcionális Objektum-orientált... Mese Néhány programozási módszer:
RészletesebbenC++ programozási nyelv
C++ programozási nyelv Gyakorlat - 13. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. december A C++ programozási nyelv Soós Sándor 1/10 Tartalomjegyzék Objektumok
Részletesebben15. Programok fordítása és végrehajtása
15. Programok fordítása és végrehajtása Programok fordítása és végrehajtása. (Fordítás és interpretálás, bytecode. Előfordító, fordító, szerkesztő. A make. Fordítási egység, könyvtárak. Szintaktikus és
Részletesebben1. Bevezetés szeptember 9. BME Fizika Intézet. Szám. szim. labor ea. Tőke Csaba. Tudnivalók. feladat. Tematika. Moodle Házi feladatok
Számítógépes szimulációk 1. Bevezetés BME Fizika Intézet 2015. szeptember 9. Bevezetés A félév menete C-ismétlés, 1. rész Oktatók: Nagyfalusi Balázs: nagyfalusi@phy.bme.hu, F3 211. : tcsaba@eik.bme.hu,
RészletesebbenMáté: Számítógép architektúrák 2010.12.01.
Máté: Számítógép architektúrák... A feltételes ugró utasítások eldugaszolják a csővezetéket Feltételes végrehajtás (5.5 5. ábra): Feltételes végrehajtás Predikáció ió C pr. rész Általános assembly Feltételes
RészletesebbenSzimuláció RICHARD M. KARP és AVI WIGDERSON. (Készítette: Domoszlai László)
Szimuláció RICHARD M. KARP és AVI WIGDERSON A Fast Parallel Algorithm for the Maximal Independent Set Problem című cikke alapján (Készítette: Domoszlai László) 1. Bevezetés A következőkben megadott algoritmus
RészletesebbenJavaScript bűvésztrükkök, avagy PDF olvasó és böngésző hackelés
JavaScript bűvésztrükkök, avagy PDF olvasó és böngésző hackelés Bemutatkozás Molnár Gábor Ukatemi Technologies IT biztonsági szakértő gmolnar@ukatemi.com Áttekintés JavaScript Firefox JS sebezhetőség Adober
RészletesebbenOperációs rendszerek. Bemutatkozás
Bevezetés az operációs rendszerek világába dr. Benyó Balázs benyo@sze.hu Bemutatkozás www.sze.hu/~benyo 1 Számítógép HW-SW felépítése felhasználó felhasználó felhasználó Operációs rendszer Operációs rendszer
RészletesebbenOperációs Rendszerek II. Első verzió: 2009/2010. I. szemeszter Ez a verzió: 2009/2010. II. szemeszter
Operációs Rendszerek II. Első verzió: 2009/2010. I. szemeszter Ez a verzió: 2009/2010. II. szemeszter 1 Mai témák ZFS NTFS 2 ZFS Új koncepció, nem továbbgondolás Pooled storage modell Minden művelet copy-on-write
RészletesebbenEichhardt Iván GPGPU óra anyagai
OpenCL modul 1. óra Eichhardt Iván iffan@caesar.elte.hu GPGPU óra anyagai http://cg.inf.elte.hu/~gpgpu/ OpenCL API és alkalmazása Gyakorlati példák (C/C++) Pl.: Képfeldolgozás Párhuzamos tervezési minták
RészletesebbenPython tanfolyam Python bevezető I. rész
Python tanfolyam Python bevezető I. rész Mai tematika Amiről szó lesz (most): Interpretált vs. fordított nyelvek, GC Szintakszis Alaptípusok Control flow: szekvencia, szelekció, iteráció... Függvények
Részletesebben