44
UNIVERSITATEA T RANSILVANIA DIN B RA¸ SOV S , coala doctoral˘ a interdisciplinar˘ a ing. István L ˝ ORENTZ Calcul paralel pe procesoare multi-core s , i grafice Parallel Computing on Multi-Core and Graphics Processors — Rezumatul tezei de doctorat — Conduc˘ ator s , tiint , ific Prof. dr. mat. R˘ azvan ANDONIE Bra¸ sov, 2013

ing. István LORENTZ˝ Calcul paralel pe procesoare multi ...old.unitbv.ro/Portals/31/Sustineri de doctorat/Rezumate/LorentzIstvan.pdfUNIVERSITATEA TRANSILVANIA DIN BRAS¸OV S, coala

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ing. István LORENTZ˝ Calcul paralel pe procesoare multi ...old.unitbv.ro/Portals/31/Sustineri de doctorat/Rezumate/LorentzIstvan.pdfUNIVERSITATEA TRANSILVANIA DIN BRAS¸OV S, coala

UNIVERSITATEA TRANSILVANIA DIN BRASOV

S, coala doctorala interdisciplinara

ing. István LORENTZ

Calcul paralel pe procesoaremulti-core s, i grafice

Parallel Computing on Multi-Coreand Graphics Processors

— Rezumatul tezei de doctorat —

Conducator s, tiint,ificProf. dr. mat. Razvan ANDONIE

Brasov, 2013

Page 2: ing. István LORENTZ˝ Calcul paralel pe procesoare multi ...old.unitbv.ro/Portals/31/Sustineri de doctorat/Rezumate/LorentzIstvan.pdfUNIVERSITATEA TRANSILVANIA DIN BRAS¸OV S, coala

MINISTERUL EDUCAT, IEI NAT, IONALE

UNIVERSITATEA TRANSILVANIA DIN BRAS, OV

500036 BRAS, OV, B-DUL EROILOR NR. 29TEL/FAX. 0040-268-410525, 0040-268-412088

RECTORAT

ANUNT,

Va aducem la cunos, tint, a ca în ziua de vineri, 12. iulie 2013, ora 11.00, în salaN-II-1 la Facultatea de Inginerie Electrica si Stiinta Calculatoarelor va avea locsust,inerea publica a tezei de doctorat intitulata:

CALCUL PARALEL PE PROCESOARE MULTI-CORE S, I GRAFICE

elaborata de ing. István LORENTZ în vederea obt,inerii titlului s, tiint,ific de doctor,în domeniul calculatoare s, i tehnologia informat,iei.

Comisia de doctorat, numita prin ordinul Rectorului Universitat,ii Transilvania dinBras, ov, nr. 5834 din 23.05.2013, are urmatoarea component,a:

Pres, edinte - Conf. univ. dr. ing. Laurent,iu Mihail IVANOVICIProdecanul Facultat,ii de Inginerie Electrica s, i S, tiint,aCalculatoarelorUniversitatea “Transilvania” din Bras, ov

Conducator s, tiint, ific - Prof. univ. dr. Razvan ANDONIEUniversitatea “Transilvania” din Bras, ov

Referent,i - Acad. prof. univ. dr. ing. Gheorghe S, TEFANUniversitatea “Politehnica” din Bucures, ti

- Prof. univ. dr. ing. Lucian VINT, ANUniversitatea “Lucian Blaga” din Sibiu

- Prof. univ. dr. ing. Gheorghe TOACS, EUniversitatea “Transilvania” din Bras, ov

Va invitam sa luati parte la sedinta publica de sustinere a tezei de doctorat.Aprecierile dvs. asupra rezumatului tezei de doctorat va rugam sa le trimiteti pânacel târziu cu o zi înainte de data sustinerii, autorului,prin email: [email protected].

Page 3: ing. István LORENTZ˝ Calcul paralel pe procesoare multi ...old.unitbv.ro/Portals/31/Sustineri de doctorat/Rezumate/LorentzIstvan.pdfUNIVERSITATEA TRANSILVANIA DIN BRAS¸OV S, coala

Cuprins

1 Arhitecturi multi-core recente 7

2 Modele de programare paralela 92.1 Sisteme s, i limbaje pentru programare paralela a sistemelor cu me-

morie partajata . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3 Aplicat, ii în domeniul procesarii semnalelor s, i al imaginilor 113.1 Transformata Fourier discreta rapida . . . . . . . . . . . . . . . . 113.2 TFR pe GPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123.3 TFR pe Connex . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3.3.1 Strategia verticala . . . . . . . . . . . . . . . . . . . . . . 133.3.2 TFR pe orizontala . . . . . . . . . . . . . . . . . . . . . 133.3.3 Comparat,ia celor doua metode . . . . . . . . . . . . . . . 143.3.4 Transformata Fourier bidimensionala . . . . . . . . . . . 153.3.5 Calculul transformatelor 1D mari . . . . . . . . . . . . . 153.3.6 Rezultate . . . . . . . . . . . . . . . . . . . . . . . . . . 163.3.7 Concluzii . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.4 Aplicat,ii în procesarea imaginilor . . . . . . . . . . . . . . . . . 173.4.1 Operat,ii . . . . . . . . . . . . . . . . . . . . . . . . . . . 183.4.2 Etichetarea componentelor conexe . . . . . . . . . . . . . 193.4.3 Rezultate . . . . . . . . . . . . . . . . . . . . . . . . . . 19

4 Aplicat, ii în calculul evolutiv 204.1 Trecere în revista a algoritmilor evolutivi . . . . . . . . . . . . . . 20

4.1.1 Algoritmi genetici . . . . . . . . . . . . . . . . . . . . . 204.1.2 Strategia evolutiva . . . . . . . . . . . . . . . . . . . . . 214.1.3 Calirea simulata . . . . . . . . . . . . . . . . . . . . . . 21

4.2 Calculul evolutiv pe arhitectura Connex . . . . . . . . . . . . . . 214.2.1 Rezultate experimentale . . . . . . . . . . . . . . . . . . 234.2.2 Rezultate . . . . . . . . . . . . . . . . . . . . . . . . . . 234.2.3 Concluzii . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3

Page 4: ing. István LORENTZ˝ Calcul paralel pe procesoare multi ...old.unitbv.ro/Portals/31/Sustineri de doctorat/Rezumate/LorentzIstvan.pdfUNIVERSITATEA TRANSILVANIA DIN BRAS¸OV S, coala

4.3 Calculul evolutiv pe GPU . . . . . . . . . . . . . . . . . . . . . . 244.3.1 Operatori evolutivi în OpenCL . . . . . . . . . . . . . . . 254.3.2 Rezultate experimentale . . . . . . . . . . . . . . . . . . 254.3.3 Concluzii . . . . . . . . . . . . . . . . . . . . . . . . . . 26

5 Determinarea structurii proteinelor 275.1 Introducere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275.2 Determinarea structurilor cu metoda RMN . . . . . . . . . . . . . 285.3 Determinarea structurii prin construct,ie . . . . . . . . . . . . . . 295.4 Optimizare prin calire simulata tip Monte-Carlo . . . . . . . . . . 295.5 Optimizare prin dinamica moleculara . . . . . . . . . . . . . . . 29

5.5.1 Experimente s, i rezultate . . . . . . . . . . . . . . . . . . 31

6 Concluzii finale 33

Page 5: ing. István LORENTZ˝ Calcul paralel pe procesoare multi ...old.unitbv.ro/Portals/31/Sustineri de doctorat/Rezumate/LorentzIstvan.pdfUNIVERSITATEA TRANSILVANIA DIN BRAS¸OV S, coala

Introducere

În jurul anului 2004 cres, terea frecvent,ei procesoarelor a atins limitele practice, da-torita puterii s, i a caldurii disipate. În perioada 1986 – 2003, frecvent,a procesoarelora crescut anual cu aprox. 40% [34]. În perioada aceea, datorita cres, terii frecvent,eidar s, i a strategiilor de exploatare a paralelismului la nivel de instruct,iuni, pro-gramele secvent,iale au beneficiat implicit de îmbunatat,irile timpilor de execut,ie,fara a fi nevoie de modificarea lor. Odata cu stagnarea acestei tendint,e, “s-a ter-minat cu prânzul gratuit” (The free lunch is over) a remarcat Herb Sutter [62],unul din expert,ii proeminent,i în programarea C++. Pentru a continua cres, tereaperformant,ei, producatorii s, i-au îndreptat atent,ia s, i spre alte tipuri de paralelism:la nivelul firelor de execut,ie (multi-threading) la nivelul de unitat,i de execut,ie inde-pendente (multi-core), integrate pe acelas, i cip. Exploatarea acestor nivele a redes-chis oportunitat,i de cercetare complementare, ca:

- metode de paralelizare ale programelor secvent,iale oferite de compilatoare[44],

- optimizari dinamice ale fluxului de instruct,iuni, implementate în hardware,prin eliminare de instruct,iuni redundante, execut,ii predictiv-speculative [27,67],

- proiectarea a-priori paralela a programelor folosind modele paralel scalabile,aceasta din urma constituind obiectivul tezei.

Structura tezei

Teza este structurata în doua part,i. Prima parte (capitolele 1 s, i 2) reprezinta osinteza a modelelor actuale, iar partea a doua (capitolele 3 – 5) cont,ine contribut,iileoriginale ale autorului.

Capitolul 1. cont,ine o scurta introducere în gama actuala a procesoarelor tipmulti-core, a procesoarelor tip many-core s, i a procesoarelor grafice (graphics proc-ssing units - GPU).

Capitolul 2. prezinta câteva modele de programare paralele actuale (o enume-rare pe departe ne-exhaustiva), în spet, a CUDA, OpenCL, OpenMP, C++11 s, i C++AMP).

Capitolul 3. trateaza aplicat,ii în domeniul procesarii semnalelor s, i a imagi-nilor. Autorul a implementat s, i a analizat transformata Fourier rapida (TFR) pearhitectura Connex [51], comparându-l, ca performant,a s, i eficient, a cu implemen-tarea TFR din biblioteca procesoarelor grafice. În domeniul procesarii imaginilor,autorul a analizat performant,a procesoarelor grafice pe operat,ii de baza ca: conver-sia spat,iului de culoare, operat,ii morfologice s, i etichetarea componentelor conexe.Studiul de caz include o aplicat,ie în domeniul inspect,iei optice a circuitelor impri-mate.

Page 6: ing. István LORENTZ˝ Calcul paralel pe procesoare multi ...old.unitbv.ro/Portals/31/Sustineri de doctorat/Rezumate/LorentzIstvan.pdfUNIVERSITATEA TRANSILVANIA DIN BRAS¸OV S, coala

Capitolul 4. trateaza operatorii calcului evolutiv pe arhitecturile Conex s, i proce-soarele grafice. Algoritmii genetici (GA), strategiile evolutive (Evolution Strategy- ES) s, i calirea simulata (Simulated Annealing - SA) sunt tratate în mod unitar,prezentându-se etapele de calcul comune ca nuclee computat,ionale paralele.

Capitolul 5. cont,ine aplicat,ii în domeniul bioinformaticii, mai precis determina-rea structurii proteinelor, pornind de la distant,ele interatomice. Astfel de distant,ese obt,in în mod uzual din experimente cu rezonant,a magnetica nucleara (RMN).Contribut,iile autorului sunt în prelucrarea acestor distant,e s, i reconstruirea structu-rii tridimensionale (coordonatele spat,iale ale atomilor constituent,i) ale proteinelor.Sunt abordate mai multe metode. Prima metoda se bazeaza pe reconstruct,ia coor-donatelor pas-cu-pas, pornind de la un subset de atomi folosite ca “ancore”. Me-toda nu este noua, dar contribut,ia autorului este în a formula un algoritm bazat peparcurgerea în lat,ime a grafurilor, cu metode din algebra lineara pentru a calculacoordonatele atomilor. Metoda are avantajul unui timp linear, în ordinulO(N+M)unde N este numarul atomilor iar M este numarul distant,elor cunoscute. Se bazeazape raritatea matricei distant,elor. Acest rezultat este avantajos fat, a de algoritmulclasic de scalare multidimensionala, care cere matrici complete (stocare O(N2))s, i timp de execut,ie în ordinul O(N3). Dupa implementarea secvent,iala a algo-ritmului, autorul prezinta implementarea paralela, pe procesoare grafice, folosindlimbajul OpenCL. Algoritmul fiind sensibil la erorile din datele de intrare, putândcauza “solut,ii” degenerate, nerealizabile fizic. Pentru a contracara acest efect, coor-donatele obt,inute sunt trecute printr-un pas de post-procesare. Acest pas consta dinminimizarea unei funct,ii obiectiv — diferent,a dintre distant,ele interatomice dateca intrare s, i distant,ele recalculate pe baza coordonatelor. S-a folosit o minimizarebazata pe calire simulata de tip Monte-Carlo, implementata pe procesoare grafice.Pentru o precizie s, i mai mare în determinarea structurii proteinelor, în sect,iunea 5.5s-a reimplementat o metoda bazata pe minimizarea unei energii potent,iale hibride -formate din a.) informat,ii chimice cunoscute a-priori, (lungimea s, i unghiurile lega-turilor, fort,ele van der Waals s, i electrostatice) s, i b.) funct,ia potent,iala (neavând co-respondent fizic) format din corespondent,a distant,elor masurate prin simulare fat, ade cele determinate experimental. Aceasta este o metoda cunoscuta, contribut,iaautorului fiind în implementarea paralela — folosind OpenCL — pe procesoaremulti-core s, i grafice s, i obt,inerea unor rezultate echivalente numeric cu un programprofesional (XPLOR-NIH). Implementarea autorului ofera viteza sporita s, i scala-bila pe unitat,ile computat,ionale OpenCL.

Page 7: ing. István LORENTZ˝ Calcul paralel pe procesoare multi ...old.unitbv.ro/Portals/31/Sustineri de doctorat/Rezumate/LorentzIstvan.pdfUNIVERSITATEA TRANSILVANIA DIN BRAS¸OV S, coala

Capitolul 1

Arhitecturi multi-core recente

Primul capitol al tezei trece în revista arhitecturile multi-core recente. Se bazeazape lucrarile [7, 34, 39, 64–66], cu scopul de a prezenta arhitecturile actuale, printrecare s, i cele folosite în sect,iunile aplicative ale tezei. Modelele multi-core pot fi cla-sificate în funct,ie de mai multe criterii: arhitectura nucleelor, numarul de nuclee,tipul de interconectare, ierarhia memoriilor, setul de instruct,iuni, consumul de ener-gie s, i domeniul t,inta al aplicat,iilor. În teza sunt prezentate urmatoarele categorii deprocesoare:

Multi-core: Modele bazate pe un numar relativ mic (2 — 16) de nuclee com-plexe, evoluate din arhitecturile superscalare, cu circuite de control complexes, i memorii cache de mari dimensiuni. Aceste nuclee exploateaza paralelis-mul la nivel de instruct,iuni (PLI) s, i faciliteaza execut,ia rapida a programelorsecvent,iale. Aceste procesoare sunt proiectate pentru calcule masiv para-lele. În teza sunt prezentate exemplificativ procesoarele Intel Haswell (parteaCPU), AMD APU (partea CPU) s, i ARM cortex.

Many-core: Modele bazate pe un numar mare (sute, chiar mii) de nuclee simple.Majoritatea ariei procesorului este folosita pentru elementele de procesare.În teza sunt prezentate procesoarele many-core de tip Intel MIC, Tilera, Epi-phany s, i Arhitectura Connex [51].

Procesoarele grafice au fost dezvoltate init,ial pentru calcule masiv paralele spe-cifice reprezentarii scenelor tridimensionale (transformari geometrice, calculiluminari, asamblari de texturi). Cont,inând init,ial doar elemente de proce-sare cu funct,ie fixa, ele au evoluat în procesoare masiv paralele programabileîn mod general. În teza sunt prezentate arhitecturile Nvidia Kepler s, i AMDGraphics Core Next.

Procesoarele eterogene cont,in pe acelas, i cip câteva nuclee complexe (dedicate

7

Page 8: ing. István LORENTZ˝ Calcul paralel pe procesoare multi ...old.unitbv.ro/Portals/31/Sustineri de doctorat/Rezumate/LorentzIstvan.pdfUNIVERSITATEA TRANSILVANIA DIN BRAS¸OV S, coala

part,ilor secvent,iale din programe) s, i un masiv de nuclee simple (pentru cal-cule paralele).

În momentul actual, majoritatea procesoarelor actuale dedicate consumului largsunt eterogene, înglobând pe acelas, i cip elemente de procesare secvent,iale (CPU)cât s, i dedicate graficii (GPU), din motive economice dar s, i de performant,a. În tezasunt prezentate justificarile arhitecturilor eterogene, cum ar fi legea generalizata alui Amdahl [14].

În teza sunt comparate pe scurt arhitecturile amintite, punându-se accent pecapabilitat,ile vectoriale ale procesoarelor actuale. Astfel, procesoarele supersca-lare Intel, AMD, ARM Cortex amintite cont,in unitat,i de calcul vectorial în virgulamobila. Arhitectura Connex cont,ine o parte vectoriala: un masiv de 1024 elementede procesare, executând în mod sincron instruct,iuni furnizate de o singura unitatede control, dar s, i o parte dedicata accelerarii part,ilor secvent,iale ale programelor,constând din 16 elemente de procesare cu interconectare reconfigurabila.

Page 9: ing. István LORENTZ˝ Calcul paralel pe procesoare multi ...old.unitbv.ro/Portals/31/Sustineri de doctorat/Rezumate/LorentzIstvan.pdfUNIVERSITATEA TRANSILVANIA DIN BRAS¸OV S, coala

Capitolul 2

Modele de programareparalela

În acest capitol sunt prezentate atât modele teoretice cât s, i limbaje de programareparalela, specifice arhitecturilor multicore. Unul dintre primele metode teoreticeeste modelul PRAM [24], PRAM Asincron (APRAM) [16]. Memoria arhitecturi-lor moderne este organizata ierarhic. Pentru analiza teoretica, modelul Multi-corecache [8] include doua nivele de dimensiuni C1, C2, s, i defines, te complexitatea-

cache al unui algoritm ca numarul mediu de penalizari. O clasa aparte de algoritmiproiectat,i pentru localizarea optima a datelor, fara însa a cunoas, te dimensiunile ac-tuale ale memoriilor cache sunt algoritmii “cache-oblivious” [26]. O prezentaredetaliata a unor modele teoretice este data în [20].

Modele de performant, a

În teza sunt prezentate generalizarea legii lui Amdahl [2] pentru sisteme multi-coreeterogene [14]. Alocarea resurselor pe un cip (elemente de procesare, memorii ca-che) este formulata ca o problema de optimiziare multiobiective, cu constrângeri.Arhitecturile eterogene formate din câteva nuclee superscalare dedicate port,iunilorsecvent,iale, împreuna cu un masiv de procesoare simple dedicate procesarii para-lele reprezinta o solut,ie a problemei amintite.

Modelul Roofline [69] considera lat,imea de banda cu memoria globala (dupaultimul nivel de cache) s, i performant,a aritmetica bruta (în GOperat,ii/sec) al uneiarhitecturi hardware. Modelul defines, te intensitatea operat,ionala al unui nucleucomputat,ional ca numarul de operat,ii aritmetice împart,ita la numarul de octet,i ac-cesate din memoria globala. Pe baza acestei metrici, se poate determina daca uncalcul, pe o anumita arhitectura este limitat de largimea de banda sau de viteza decalcul al procesorului.

9

Page 10: ing. István LORENTZ˝ Calcul paralel pe procesoare multi ...old.unitbv.ro/Portals/31/Sustineri de doctorat/Rezumate/LorentzIstvan.pdfUNIVERSITATEA TRANSILVANIA DIN BRAS¸OV S, coala

2.1 Sisteme s, i limbaje pentru programare paralela asistemelor cu memorie partajata

OpenMP

Sistemul OpenMP [55] este un standard de programare paralela. Construct,iile pa-ralele (sect,iuni, bucle, taskurile) se specifica prin anotarea codului sursa (Fortransau C++). Majoritatea compilatoarelor moderne de C/C++ recunosc directiveleOpenMP.

CUDA

Sistemul CUDA (Compute Unified Device Arhitecture) [52] a fost dezvoltat decatre firma Nvidia, pentru a programa procesoarele grafice începând cu generat,iaG80. CUDA consta dintr-o extensie a limbajului C++, prin care se specifica funct,iilespeciale (nucleele) ce urmeaza a fi executate pe procesorul grafic. Sarcina progra-matorului este de a descompune problema într-o grila computat,ionala, sistemulCUDA asignând câte un thread pentru fiecare element din grila.

OpenCL

Open Computing Language (OpenCL) [38] este un standard ce permite programa-rea arhitecturilor eterogene (procesoare multi-core, procesoare grafice, chiar s, i dis-pozitive tip FPGA). Modelul de programare al OpenCL seamana cu cel din CUDA,având nevoie de paralelizarea explicita a problemei de catre programator. LimbajulOpenCL a fost folosit de autorul tezei în capitolul 5.

Extensia Vector-C

Extensia Vector-C a limbajului C are ca scop programarea vectoriala. A fost dezvol-tat pentru programarea procesorului Connex [41]. Extensia defines, te tipul vectors, i permite operat,ii vectoriale prin operatori uzuali. O construct,ie speciala (IF pa-ralel) o reprezinta instruct,iunea WHERE .... ENDW ce permite evaluarea unor condit,iipe fiecare element al vectorului s, i execut,ia predicativa în funct,ie de rezultat. Aplicat,iicu ajutorul extensiei Vector-C sunt prezentate în capitolele 3 s, i 4 ale tezei.

Page 11: ing. István LORENTZ˝ Calcul paralel pe procesoare multi ...old.unitbv.ro/Portals/31/Sustineri de doctorat/Rezumate/LorentzIstvan.pdfUNIVERSITATEA TRANSILVANIA DIN BRAS¸OV S, coala

Capitolul 3

Aplicat,ii în domeniulprocesarii semnalelor s, i alimaginilor

Algoritmii de procesare al semnalelor s, i a imaginilor au de regula un grad înalt deparalelism la nivel de date, ceea ce le confera o implementare convenabila pe ar-hitecturi vectoriale. Acest capitol va prezenta implementarea transformatei Fourierdiscrete rapide pe arhitectura Connex, precum s, i algoritmi de procesare de imagini.

3.1 Transformata Fourier discreta rapida

Din cauza important,ei sale multi-domeniu, transformata Fourier rapida (TFR, FastFourier Transform - FFT) este folosita s, i ca o rutina de referint,a pentru a eva-lua performant,a calculatoarelor paralele. Dupa o scurta prezentare a rutinei TFRsecvent,iale, în teza se trec în revista implementarile existente pe procesoare grafice.

Contribut,iile originale constau în implementarea s, i studiul transformatei Fou-rier pe arhitectura paralela Connex. Sunt prezentate diferite strategii de paraleli-zare, pe “orizontala”, pe “verticala” s, i matriceala, evaluând performant,a fiecareia.În final este comparata performant,a transformatei Fourier pe arhitectura Connex, întermeni de putere de calcul raportata la puterea consumata, cu un procesor grafic.Aceasta lucrare a fost publicata în [50].

11

Page 12: ing. István LORENTZ˝ Calcul paralel pe procesoare multi ...old.unitbv.ro/Portals/31/Sustineri de doctorat/Rezumate/LorentzIstvan.pdfUNIVERSITATEA TRANSILVANIA DIN BRAS¸OV S, coala

0

4

2

6

1

5

3

7

W^0/2 1

W^0/2 1

W^0/2 1

W^0/2 1

W^0/4 1

W^0/4 1

W^1/4 +1i

W^1/4 +1i

W^0/8 1

W^1/80.71+0.71i

W^2/8 +1i

W^3/8-0.71+0.71i

0

1

2

3

4

5

6

7

0

1

2

3

4

5

6

7

W^0/8 1

W^1/80.71-0.71i

W^2/8 -1i

W^3/8-0.71-0.71i

W^0/4 1

W^0/4 1

W^1/4 -1i

W^1/4 -1i

W^0/2 1

W^0/2 1

W^0/2 1

W^0/2 1

0

4

2

6

1

5

3

7

Scal

e by

1/N

, pro

cess

fre

quen

cy d

ata,

etc

.Figura 3.1: Graful unei TFR de dimensiune 8, urmata de transformata inversa.

3.2 Transformata Fourier Rapida pe procesoare gra-fice

În aceasta sect,iune vom trece în revista, fara a le detalia, implementarile existentea TFR pe procesoarele grafice. Primele implementari pe GPU au folosit limbajelespecializate “shader” din bibliotecile OpenGL sau DirectX [28, 45]. Aceste plat-forme, strict legate de specificitatea randarii graficii tridimensionale, nu ofereauflexibilitatea unui limbaj de programare de uz generic. Odata cu aparit,ia arhitec-turii s, i a limbajului CUDA, acesta a deschis noi oportunitat,i pentru calculul TFR:exploatarea numarului mare de registre (32K) s, i a memoriilor locale [68] au adusla îmbunatat,iri substant,iale. În [28] sunt prezentate TFR bazate pe factorizari mul-tiple. Cu timpul, rutinele TFR au fost înglobate într-o biblioteca data de furnizor,CUFFT [54]. În aceasta teza comparam perfomant,a TFR din biblioteca CUFFTfat, a de implementarea pe arhitectura Connex.

3.3 Transformata Fourier Rapida pe arhitectura Con-nex

Contribut,ia autorului consta din utilizarea s, i analiza a mai multor strategii de pa-ralelizare: pe “verticala”, pe “orizontala” s, i mixta, transpozit,ionale. Direct,iile serefera la structura vectoriala a arhitecturii Connex: o matrice formata din vectorimas, ina dispuse pe fiecare linie. S-au folosit paralelizarea algoritmilor clasici TFRcu decimare în frecvent,a pentru transformata directa s, i cu decimare în timp pentrutransformata inversa, cu factorizare în puteri ale lui 2. În figura 3.1 este prezen-

Page 13: ing. István LORENTZ˝ Calcul paralel pe procesoare multi ...old.unitbv.ro/Portals/31/Sustineri de doctorat/Rezumate/LorentzIstvan.pdfUNIVERSITATEA TRANSILVANIA DIN BRAS¸OV S, coala

tat fluxul de date prin transformarea directa, procesare în domeniul frecvent,elor s, itransformare inversa.

3.3.1 Strategia verticala

În aceasta strategie, fiecare element de execut,ie Connex va executa în paralel rutinasecvent,iala TFR, pe alt set de date. Acest mod nu reduce timpul de execut,ie al uneisingure transformari, dar este utila pentru calculul unui numar mare (pâna la 1024)de transformari în paralel. S, irul de date reprezentând es, antioanele semnalului careurmeaza a fi transformat se încarca în registrii elementelor de procesare.

Fiecare etapa consta din M/2 operat,ii de tip fluture (4 adunari vectoriale) s, iM/2 înmult,iri complexe (4 înmult,iri + 2 adunari vectoriale). Rutina constând dintotal log2 M etape, timpul total este:

Tvert(M) = (3C+ + 2C∗scal)M log2 M (3.1)

undeC+ = numarul ciclilor necesari pentru adunarea vectoriala.C∗scal = numarul ciclilor pentru înmult,irea vector cu scalar.În modul vertical, procesarea unui lot de N = 1024 de transformate de dimen-

siune M necesita transferarea din memoria externa a 2MN valori scalare (part,ilereale s, i imaginare ale datelor). În total, transferul intrarilor s, i a rezultatelor necesitaTi/o = 4MNCi/o cicli, unde Ci/o = numarul ciclilor necesare transferarii unuiscalar din memoria externa. Calculul nu este limitat de transferul de memorie dacaTi/o < Tvert(M). Dimensiunea verticala M este limitata de numarul de registreale elementelor de procesare Connex.

3.3.2 TFR pe orizontala

În strategia pe orizontala, s, irul de date ce urmeaza a fi transformat se depune în doivectori mas, ina, corespunzatori part,ii reale s, i imaginare. Pentru a calcula TFR peun vector de lungime N , datele sunt distribuite la N elemente de procesare. PentruN < 1024, procesoarele ramase se pot folosi pentru a calcula transformate pe alteseturi de date, în paralel.

Calculul de tip “fluture” este realizat prin comunicat,iile inter-procesoare s, i mas-care a elementelor inactive. Înainte de sumare s, i diferent,a vectoriala, vectorii tre-buie aliniat,i. Aceasta aliniere se efecuteaza prin deplasari succesive, instruct,iunispecifice Connex. Datorita topologiei inelare, exista comunicat,ie directa doar întreprocesoarele adiacente. Pentru a comunica între procesoare aflate la distant, a k estenevoie de k pas, i. Astfel la TFR în stadiul n sunt nevoie de n/2 rotiri.

În maparea orizontala, calculele de tip fluture se efectueaza în paralel, necesi-tând 4 înmult,iri vectoriale s, i 6 adunari. Adit,ional, fiecare etapa necesita 4 deplasari

Page 14: ing. István LORENTZ˝ Calcul paralel pe procesoare multi ...old.unitbv.ro/Portals/31/Sustineri de doctorat/Rezumate/LorentzIstvan.pdfUNIVERSITATEA TRANSILVANIA DIN BRAS¸OV S, coala

0 2 4 61 3 5 7

Figura 3.2: Etapa n = 4 în calculul TFR cu factorizare în puteri de 2. Grupurile serepeta pe orizontala pâna ce acopera toate cele 1024 elemente de procesare.

Step 1. - Shift vectors to left and right

A

R

L

@@R@@R

@@I

@@I

Step 2. - Add/Subtract selected elements

A’

L

R

A

????

r r r r

r r

r r

⊕ ⊕ ⊖ ⊖

Figura 3.3: Exemplu de calcul al fluturelui din fig. 3.2 pentru n = 4 prin deplasaris, i instruct,iuni mascate (predicative) A = vector intrare, R = vectorul A deplasat ladreapta, L = vectorul A deplasat la stânga, A’ = rezultat.

de câte n/2 pozit,ii Sumând timpii pentru etapele n = N,N/2, N/4, ...2 obt,inem:

Thoriz(N) = (4C∗ + 6C+) log2 N + 2NCshift (3.2)

Din formula reiese ca pentru valorile mari ale lui N , operat,iile de deplasare devindominante fat, a de cele aritmetice.

3.3.3 Comparat, ia celor doua metode

Alegerea metodei potrivite pentru o aplicat,ie data depinde de cerint,ele prioritare.Astfel, metoda orizontala ofera viteza de calcul sporita pentru calculul unei singuretransformate. În schimb, metoda verticala e mai eficienta pentru a calcula mai multetransformate independente în paralel. Rezultatele sunt prezentate în Tabela 3.1. Însect,iunea urmatoare este prezentata transformata bidimensionala, ca o combinat,iea metodelor orizontale s, i verticale.

Page 15: ing. István LORENTZ˝ Calcul paralel pe procesoare multi ...old.unitbv.ro/Portals/31/Sustineri de doctorat/Rezumate/LorentzIstvan.pdfUNIVERSITATEA TRANSILVANIA DIN BRAS¸OV S, coala

Tabela 3.1: Performant,a celor doua metode: N = dimensiune TFR, M = numarulde transformate calculate în paralel, R = numarul registrilor (dimenisunea verti-cala a matricei Connex) s, i P = numarul elementelor de procesare (dimensiuneaorizontala a matricei Connex).

Metoda Verticala Orizontala

Constrângeri N < R/2,M = P N ≤ P,M = P/NCicli (2C∗ + 3C+)N log2 N (4C∗ + 6C+) log2 N + 2NCsh

Cicli/TFR (2C∗+3C+)N log2 NP

(4C∗+6C+) log2 NP/N + 2N2Csh

P

Vectori de date 2N 2Factori de înmult,ire N scalari 2 log2 N vectori

3.3.4 Transformata Fourier bidimensionala

O proprietate remarcabila a transformatei este separabilitatea pe dimensiuni: astfel,transformata unei matrice se poate calcula transformând succesiv liniile, urmate decoloanele matricei. Metodele prezentate anterior se preteaza natural la acest tip decalcul. Timpul de execut,ie paralel pentru a calcula transformata unei matrice de Mlinii s, i N coloane este:

T2D(N,M) = (2C∗ + 3C+)M log2 M +

M((4C∗ + 6C+) log2 N + 2NCsh)

3.3.5 Calculul transformatelor 1D mari

Metodele prezentate mai sus sunt limitate de dimensiunile mas, inii Connex (vec-tori de lungime max. 1024 pe orizontala, 512 de registre pe verticala). Datoritaproprietat,ii de descompunere a transformatei Fourier, este posibil calculul uneitransformate unidimensionale pe date care încap în matricea Connex.

Acesta se bazeaza din nou pe principiul algoritmului Cooley-Tukey [17] în careo transformata de dimensiuni NM se calculeaza folosind transformate de dimen-siuni N s, i M . Autorul a refolosit aceas, i structura ca s, i la transformata 2D, dar cuo înmult,ire complexa între etapele orizontale s, i verticale:

1. Secvent,a ce urmeaza a fi transformata, de lungime NM se depune în matri-cea Connex formând M linii s, i N coloane.

2. Calculul a N transformate de dimensiune M (pe verticala)

3. Înmult,irea elementelor matricei cu ei2π(1:NM)

NM .

4. Calculul a M transformate de dimensiune N (pe orizontala).

Matricea rezultanta este transpusa. Rezultatele simularilor sunt prezentate în Tabela3.3.

Page 16: ing. István LORENTZ˝ Calcul paralel pe procesoare multi ...old.unitbv.ro/Portals/31/Sustineri de doctorat/Rezumate/LorentzIstvan.pdfUNIVERSITATEA TRANSILVANIA DIN BRAS¸OV S, coala

3.3.6 Rezultate

Experimentele au fost realizate folosind simulatorul Vector-C [41], versiunea în vir-gula mobila a procesorului Connex fiind în stadiu de dezvoltare. Puterea consumataa fost considerata 5W iar aria cipului de 45 mm2. S-au determinat urmatoarele va-lori:

C numarul de cicli mas, ina (fara a lua în calcul transferul cu memoria externa).

C/es, antioane numarul de cicluri împart,ite la nr. es, antioane de date transformate

MOps (Mega Operat,ii/secunda) defines, te performant,a scalata a implementarilorTFR, metrica definita în [25] ca: MOps = M 5N log2 N

T , unde M este numa-rul de transformate calculate, N dimensiunea lor, iar T timpul de execut,ieparalela (în microsecunde).

Bandwidth lat,imea de banda maxima teoretica a mas, inii Connex.

Numarul de cicli pe instruct,iune specifice mas, inii sunt date în Tabela 3.2: Pentru

Tabela 3.2: Numarul de cicli ai operat,iilor vectoriale

Vector operation C+ C∗

16 bit,i, virgula fixa 1 1032-bit,i, virgula mobila 12 19

a calcula timpul de execut,ie în microsecunde, s-a considerat frecvent,a de lucru de400 MHz.

Tabela 3.3: Calculul TFR unidimensionale de lungime 1024, prin diferitecombinat,ii de dimensiuni orizontale (N ) s, i verticale (M ).

N M nFFTs cicli cicli/es, ant. MFlops BW [MB/s]

256 4 4 15076 3.68 5433 86964 16 16 27014 1.65 12130 194032 32 32 41402 1.26 15829 253216 64 64 67626 1.03 19381 3101

Autorul a comparat performant,a implementarii TFR pe Connex cu implemen-tarea din biblioteca CUFFT [54] versiunea 3 pe procesorul grafic Nvidia GTX 285în Tabela 3.5. Nu s-a masurat puterea efectiva disipata a procesorului grafic, ci s-aconsiderat valoarea de 204W data de producat,or [53].

Page 17: ing. István LORENTZ˝ Calcul paralel pe procesoare multi ...old.unitbv.ro/Portals/31/Sustineri de doctorat/Rezumate/LorentzIstvan.pdfUNIVERSITATEA TRANSILVANIA DIN BRAS¸OV S, coala

Tabela 3.4: Performant,a relativa la puterea disipata s, i la aria procesorului Connex.N=Dimensiune transformata, M=dimensiune lot

N M GFlops GFlops/W GFlops/mm2

64 1024 41.5 8.3 0.83256 256 25.7 5.1 0.51

1024 64 19.3 3.8 0.38

Tabela 3.5: Performant,a execut,iei TFR pe procesorul grafic GTX285 GPU, biblio-teca CUFFT v3.0 library, precizie simpla, transformata. N=Dimensiune transfor-mata, M=dimensiune lot.

N M GFlopsDur.[µs]

GFlopsW

GFlopsmm2

64 1024 78.98 24.9 0.38 0.16256 1024 148.02 70.8 0.72 0.31

1024 1024 225.72 232.3 1.10 0.482048 1024 199.36 578.5 0.97 0.42

3.3.7 Concluzii

Procesorul Connex nu este un competitor direct al procesoarelor grafice, deoarecese încadreaza în categoria procesoarelor de consum redus, având alte aplicat,ii t,inta.Rezultatele comparat,iei arata o performant,a relativa de 8GFlop/W, utilizând me-trica definita mai sus, o eficient, a mai buna decât cea a GPU, la nivelul anului 2009.

3.4 Aplicat, ii în procesarea imaginilor

Aceasta sect,iune prezinta implementarea paralela a urmatoarelor algoritmi: con-versia spat,iului de culori în nivele de gri, binarizare adaptiva, filtrarea mediana,operat,ii morfologice de extragere a scheletului imaginilor precum s, i etichetareacomponentelor conexe. Aces, ti algoritmi sunt paralelizabili în mod natural, folosindo descompunere bazata pe pixeli s, i vecinatatea lor imediata. Pentru implementareaparalela pe procesoare grafice s-a folosit limbajul CUDA. În sect,iunea experimen-tala sunt prezentate comparativ, timpii de execut,ie pe un procesor grafic fat, a detimpii de execut,ia ai implementarii secvent,iale pe CPU.

Ca aplicat,ie, operat,iile de mai sus constituie pas, ii de preprocesare unui sistemde inspect,ie optica al circuitelor imprimate, lucrarea fiind publicata în [61]. Vomprezenta succint aceste operat,ii precum s, i tehnica lor de paralelizare.

Page 18: ing. István LORENTZ˝ Calcul paralel pe procesoare multi ...old.unitbv.ro/Portals/31/Sustineri de doctorat/Rezumate/LorentzIstvan.pdfUNIVERSITATEA TRANSILVANIA DIN BRAS¸OV S, coala

3.4.1 Operat, ii

Imaginile captate sunt prelucrate printr-o serie de pas, i: 1.) preprocesare, 2.) extra-gerea componentelor conexe, 3.) masurarea caracteristicilor cailor, 4.) comparat,iacu valori referint,a ca masura calitat,ii.

Dupa pas, ii de preprocesare al imaginii de intrare, sunt identificate s, i masuratecaracteristicile cailor circuitului imprimat. Aceste caracteristici sunt ulterior com-parate cu valorile de referint,a ale unui circuit fara defecte. Lucrarea de fat, a selimiteaza la fazele de preprocesare s, i masurare a circuitelor. Comparat,ia s, i identi-ficarea defectelor fiind sarcina altor module.

Conversia în nivele de gri

Dupa achizit,ionarea imaginilor, acestea sunt convertite din spat,iul RGB în nivelede gri Y pe baza ecuat,iei Y = 0.299r + 0.587g + 0.114b. Paralelizarea acesteioperat,ii în CUDA este triviala, asignând un thread fiecarui pixel.

Binarizarea imaginii

Pentru a converti imaginea din nivele de gri în format binar (alb/negru) s-a fo-losit un algoritm cu prag adaptiv, determinat zonal. Astfel se reduce influent,aefectelor de iluminare neuniforma asupra binarizarii. Pentru fiecare pixel, se de-termina un prag local Tx,y, constând din media pixelilor din acea zona: Tx,y =

1(2W+1)2

∑Wi=−W

∑Wj=−W Ix+j,y+i. În aceasta lucrare s-au folosit zone de dimen-

siune W = 15 pixeli.Calculul pragului local, pentru fiecare pixel este o operat,ie costisitoare, necesi-

tând w · h · (2W + 1)2 operat,ii pentru imagini de dimensiune w × h. Din aceastacauza, autorii au ales o metoda pentru a reduce complexitatea calculului: rezolut,iaimaginii este redusa treptat, prin metoda piramidala [1], pâna ce fiecarui pixel dinimaginea redusa îi corespunde o regiune de lat,ime 2W în imaginea originala. Pra-gurile adaptive sunt calculate din intensitatea pixelilor din imaginea redusa, prininterpolarea a 4 vecini. Algoritmul este detaliat în teza.

Filtrarea imaginii binarizate

Pentru a netezi imaginea s, i de înlatura erori izolate de 1 pixeli, s-a folosit filtrareamediana, în vecinatat,i de 3× 3 pixeli.

Operat,ii morfologice

S-au implementat operat,ii morfologice pe imaginea binara folosind elemente struc-turale de 3 × 3 pixeli. Pentru a obt,ine scheletul imaginilor, s-au aplicat succesivpas, ii de subt,iere direct,ionala prezentate în [36, 42].

Page 19: ing. István LORENTZ˝ Calcul paralel pe procesoare multi ...old.unitbv.ro/Portals/31/Sustineri de doctorat/Rezumate/LorentzIstvan.pdfUNIVERSITATEA TRANSILVANIA DIN BRAS¸OV S, coala

3.4.2 Etichetarea componentelor conexe

Pentru identificare, programul eticheteaza caile conexe din circuit, bazat pe algorit-mul componentelor conexe ale grafului. Imaginea prelucrata este tratata ca un graf,având pixelii ’1’ ca noduri, iar vecinatatea lor reprezentând muchiile. S-a folositalgoritmul prezentat în [11].

3.4.3 Rezultate

S-au masurat timpii de execut,ie a diferitelor operat,ii pe imagini de trei dimensiunidiferite: 512 × 512, 1024× 1024 s, i 2048 × 2048 pixeli. S-au comparat timpii deexecut,ie obt,inute pe procesorul grafic Nvidia GeForce 8600 GT fat, a de implemen-tarea secvent,iala pe procesorul Intel Core 2 Duo 2.33 GHz (s-a folosit un singurnucleu), rezultatele fiind trecute în Tabela 3.6.

Tabela 3.6: Timpii de execut,ie al operat,iilor, comparat,ie CPU cu GPU

Operat, ie Lat,ime [px] TCPU [ms] TGPU [ms]Accelerare

TCPU/TGPU

Conversie în nivele de gri512 0.9 0.5 1.8

1024 4.2 1.6 2.62048 16.2 6.3 2.5

Binarizare adaptiva512 - 3.0 -

1024 - 5.9 -2048 - 16.3 -

Filtrare mediana512 1.8 0.7 2.5

1024 7.0 2.4 2.92048 27.9 9.7 2.7

Erodare512 1.7 0.9 1.8

1024 6.8 3.4 2.02048 27.7 13.6 2.0

Subt,iere (in 4 pas, i)512 7.7 3.6 2.2

1024 28.7 13.2 2.22048 117.9 52.5 2.2

Trimming (în 4 pas, i)512 7.6 3.4 2.2

1024 28.6 13.1 2.22048 117.9 52.3 2.2

Etichetare512 14.6 8.5 1.7

1024 57.5 31.5 1.82048 267.5 137.3 1.9

Page 20: ing. István LORENTZ˝ Calcul paralel pe procesoare multi ...old.unitbv.ro/Portals/31/Sustineri de doctorat/Rezumate/LorentzIstvan.pdfUNIVERSITATEA TRANSILVANIA DIN BRAS¸OV S, coala

Capitolul 4

Aplicat,ii în calculul evolutiv

Algoritmii evolutivi (AE) sunt o colect,ie de metode de optimizare inspirate dinevolut,ia naturala [3]. Problema e formulata sub aspectul gasirii valorii minime aunei funct,ii de evaluare peste un set de parametri definit,i pe un spat,iu de cautare.Dintre tehnicile evolutive bine cunoscute putem aminti: strategia evolutiva (SE),algoritmii genetici (AG) s, i programarea evolutiva (PE). Aceste tehnici sunt de ase-menea înrudite s, i cu cautarea stohastica (de exemplu cu tehnicile de calire simulata(CS)). Acest studiu se concentreaza pe particularitat,ile de implementare a AE peuna din recentele arhitecturi masiv paralele – arhitectura Connex s, i pe unitat,ile deprocesare video. Intent,ia noastra nu este de a compara eficient,a divers, ilor algoritmievolutivi pe AC, ci a oferi blocuri constructive pentru implementare. Motivat,ia s, ifactorul de noutate al acestei lucrari constau în a expune capabilitat,ile de procesarevectoriala ale AC pentru algoritmi de optimizare meta-euristici. De asemenea vomprezenta rezultatele obt,inute pentru mai multe teste de performant,a pentru optimi-zare.

4.1 Trecere în revista a algoritmilor evolutivi

Vom prezenta mai întâi un sumar al urmatoarelor categorii de algoritmi standardde optimizare: strategia evolutiva, algoritmii genetici, cautarea armonica s, i calireasimulata. Îi vom descrie într un mod unitar, în concordant,a cu schema generalaprezentata în introducere.

4.1.1 Algoritmi genetici

În introducerea originala a conceptului de ”Algoritm genetic”, descris în [88],populat,ia de “cromozomi” e codata sub forma unor s, iruri binare. Inspirat dinevolut,ia biologica, fiecare progenitura este produsa prin select,ia a doi parint,i (pe

20

Page 21: ing. István LORENTZ˝ Calcul paralel pe procesoare multi ...old.unitbv.ro/Portals/31/Sustineri de doctorat/Rezumate/LorentzIstvan.pdfUNIVERSITATEA TRANSILVANIA DIN BRAS¸OV S, coala

baza evaluarii acestora). Operatorii genetici sunt încrucis, area s, i mutat,ia de un sin-gur bit. Fundamentul teoretic al AG se bazeaza pe Teorema Schemei [35]. Plecândde la formula originala, AG au evoluat în multe variante diferite. În aceasta lucrarevom lua în considerare numai procedura standard.

4.1.2 Strategia evolutiva

Strategia evolutiva este, de asemenea, o metoda de optimizare bazata pe populat,ie,forma canonica fiind (µ/ρ + λ) − ES. În acest context µ denota numarul deparint,i, ρ numarul de combinat,ii (numarul de parint,i selectat pentru producereaunei progenituri) iar λ numarul de progenituri create la fiecare pas [6].

4.1.3 Calirea simulata

Inspirata din procesul fizic de calire, CS permite decizii nefavorabile atunci cândun parametru de control denumit in mod convent,ional “temperatura” are o valoareridicata. Pe masura ce procesul avanseaza temperatura este redusa iar algoritmulconverge în mod stohastic catre un minim global [40]. CS poate fi reprezentataca un algoritm evoutiv pe o populat,ie de un singur parinte s, i un singur descendent,folosind o mutat,ie stochastica uniforma. O solut,ie alterata V ′, rezulta o schimbareaîn funct,ia obiectiv ∆ = f(V ′)− f(V ). Solut,ia V ′ este acceptata daca ∆ < 0 saue−∆/T > U(0, 1), unde U(0, 1) este un numar aleator între 0 s, i 1, iar parametrulT reprezinta temperatura.

4.2 Calculul evolutiv pe arhitectura Connex

În continuare vom prezenta blocurile constructive ale unui algoritm evolutiv fo-losind instruct,iunile vectoriale are AC. Fluxul de control al algoritmului ramânein continuare secvent,ial, dar operatorii de mutat,ie s, i de evaluare sunt vectorizat,i.Populat,ia este reprezentata sub forma unei matrice. Liniile (indivizii) sunt mapatesub forma de vectori AC s, i folosesc instruct,iuni vectoriale pentru mutat,ie, recom-binare s, i evaluare. O populat,ie data este evaluata secvent,ial. Lungimea vectorului(numarul maxim de variabile de decizie din spat,iul de cautare) este limitat la 1024,pe când dimensiunea populat,iei este limitata de numarul de linii AC. Maparea ori-zontala permite un calcul eficient al funct,iei de evaluare folosind operatorul dereducere paralel al AC.

Generarea numerelor pseudo-aleatoare

O componenta importanta a algoritmilor evolutivi este generatorul de numere pseudo-aleatoare. Un generator ideal de numere aleatoare ar trebui sa fie: distribuit uni-form, necorelat, fara cicluri, sa satisfaca teste statistice s, i sa fie reproductibil (în

Page 22: ing. István LORENTZ˝ Calcul paralel pe procesoare multi ...old.unitbv.ro/Portals/31/Sustineri de doctorat/Rezumate/LorentzIstvan.pdfUNIVERSITATEA TRANSILVANIA DIN BRAS¸OV S, coala

scopuri de depanare) [57]. În plus, generatoarele paralele trebuie sa produca seriiindependente de numere aleatoare. Noi vom folosi generatorul de tip xorshift, pre-zentat în [43], cu o perioada de 2128−1. Starea init,iala a generatorului este formatadin 4 vectori de numere întregi X [0], X [1], X [2], X [3] de 1024 de elemente fiecare.

Recombinarea

Operatorul de recombinare construies, te un nou individ pe baza unui set de parint,idin populat,ia existenta. În mod tipic o progenitura va primi o combinat,ie întrecaracteristicile parint,ilor. Sunt multe variante acceptate de recombinare; vom pre-zenta cele mai folosite dintre ele pentru AG s, i SE: încrucis, area s, i recombinareadiscreta.

Încrucis, area

Operat,ia de încrucis, are creeaza un nou individ prin combinarea caracteristicilora doi parint,i. În încrucis, area cu un singur punct, elementele din primul vectorparinte sunt copiate pana la un punct aleator. Continuând de la pozit,ia respectiva,elementele din al doilea vector parinte sunt copiate. Noi am implementat aceastaoperat,ie pe arhitectura Connex folosind o masca de select,ie vectoriala de lungimealeatoare.

Recombinarea discreta

În SE, operatorul de recombinare foloses, te informat,ie de la ρ indivizi. În recom-binarea discreta, fiecare pozit,ie a vectorului candidat v’ este copiata din aceeas, ipozit,ie a unui parinte ales aleator: v′(i) = vk(i).

Mutat, ia

Mutat,ia implica modificarea unei singure pozit,ii aleatoriu alese cu o valoare data.În maparea orizontala, în primul rând vom crea o masca de select,ie cu un singur bitde ’1’ pe pozit,ia k, apoi vom efectua o operat,ie vector + scalar care va aduna doarelementul de pe pozit,ia k.

Calculul funct, iei de evaluare

În tehnicile evolutive, funct,ia de evaluare (fitness) consuma de obicei cel mai multtimp (comparativ cu mutat,ia s, i select,ia), deci este foarte important sa fie implemen-tata cât mai eficient posibil. Clasa de funct,ii care pot fi calculate în mod eficientfolosind instruct,iunile vectoriale ale AC sunt de forma:

f(x1, x2, ...xN ) =

N⊕

i=1

hi(xi−k, ..., xi, ..., xi+k) (4.1)

Page 23: ing. István LORENTZ˝ Calcul paralel pe procesoare multi ...old.unitbv.ro/Portals/31/Sustineri de doctorat/Rezumate/LorentzIstvan.pdfUNIVERSITATEA TRANSILVANIA DIN BRAS¸OV S, coala

unde⊕

este operatorul de reducere paralela s, i k defines, te o vecinatate de di-mensiune fixa (independenta de N) . La momentul actual AC suporta reducerea su-melor în paralel. Funct,ia hi() ar trebui sa depinda numai de variabila de pe pozit,iai s, i, opt,ional, de o mica vecinatate locala, i − k, ..., i + k. Aceasta se datoreazarestrict,iei ca elementele de procesare (EP) sunt conectate printr o magistrala circu-lara, deci comunicat,ia eficienta poate avea loc numai cu EP-urile vecine (localitateadatelor).

Select, ia

Select,ia solut,iilor candidat pentru generat,ia urmatoare este bazata pe un scor re-zultând din evaluarea funct,iei de fitness. Luând în considerare maparea “orizon-tala” a populat,iei în arhitectura Connex, scorul de select,ie este disponibila unitat,iisecvent,iala. Decizia de select, ie nu este vectorizata; ea este luata de unitatea secvent,ialaprin compararea sau sortarea valorilor scalare de evaluare. Pentru a implementa al-goritmul de calire simulata pe arhitectura Connex, vom folosi funct,iile de mutat,ies, i de evaluare deja prezentate. Operat,iunea de select,ie specifica CS (de a alege întredoua solut,ii candidat V s, i V ′) este data în sect,iunea 4.1.3.

4.2.1 Rezultate experimentale

Problema distant,ei geometrice

Problema distant,ei geometrice este ridicata în geometria moleculara: fiind dat unset de distant,e între perechi de spat,iu inter-atomic, se cere sa se determine coordo-natele (x, y, z) ale fiecarui atom. În sect,iunea vom prezenta mai multe abordari aleproblemei. Pe arhitectura Connex am implementat o forma simplificata a acesteiprobleme, unde se presupune ca fiecare coordonata poate lua doar valori discreteîntr un interval predefinit. Scopul este de a minimiza ecuat,ia (5.1) prin calire simu-lata.

4.2.2 Rezultate

Am masurat numarul de operat,ii vectoriale pentru fiecare operator evolutiv, pre-cum s, i pentru câteva din funct,iile de test (tabela 4.1). Tpar este timpul de execut,ieparalela, masurat în unitat,i de operat,ii vectoriale, Tseq este timpul de execut,iesecvent,iala (numarul de operat,ii secvent,iale; am folosit numarul de instruct,iuniîn loc de intervalul de timp). Ultima coloana cont,ine S, factorul de accelerareTseq/Tpar, cu rulare pe N ≤ 1024 elemente de procesare. Pentru a interpretacorect rezultatele, trebuie sa subliniem ca am folosit numarul de instruct,iuni în locde numarul de cicluri pur s, i simplu deoarece versiunea în virgula mobila a proceso-rului este înca în curs de dezvoltare. Rezultatele arata coeficientul de îmbunatat,ireteoretic pentru algoritmii prezentat,i.

Page 24: ing. István LORENTZ˝ Calcul paralel pe procesoare multi ...old.unitbv.ro/Portals/31/Sustineri de doctorat/Rezumate/LorentzIstvan.pdfUNIVERSITATEA TRANSILVANIA DIN BRAS¸OV S, coala

Tabela 4.1: Numarul instruct,iunilor efectuate de operatorii evolutivi, folosind Nelemente de procesare

Operat,ie TPar TSeq S

A+=B 1 1024 Nxorshift 128 13 13312 NsumAbsDiffs 7 4096 0.5N

Încrucis, are 3 2048 0.6NUniform Crossover 15 14350 0.9NMutat,ia uniforma 33 21172 0.6NES Mutation 107 71506 0.6NRosenbrock 14 14325 NevaluateDist 13 10240 0.7N

4.2.3 Concluzii

Arhitectura Connex ofera posibilitat,i de calcul vectorial potrivite pentru imple-mentarea algoritmilor evolutivi. Algoritmii meta-euristici prezentat,i mai sus suntdependent,i de modul în care sunt organizate datele de intrare. Noi am folosit mapa-rea orizontala. O alta posibilitate este de a mapa populat,ia vertical, încarcând datelepe post de coloane in AC. În acest caz, instruct,iunile vectoriale vor opera peste vari-abilele corespunzatoare întregii populat,ii. Prin aceasta transpozit,ie, operat,iile carese executau înainte în paralel vor deveni seriale s, i paralelismul va opera peste în-treaga populat,ie. Cu toate acestea, prin maparea verticala nu putem accelera calcu-lul funct,iei de evaluare folosind instruct,iuni de sumare paralela. Deoarece funct,iade evaluare este cea mai critica din punct de vedere al timpului de execut,ie, amdecis sa nu continuam studiul metodei de mapare verticala pentru a verifica dacapoate aduce beneficii în alte blocuri de calcul evolutive.

4.3 Calculul evolutiv pe GPU

Am decis sa implementam doua tehnici înrudite: algoritmi genetici (AG) s, i stra-tegia evolutiva (SE). Am ales algoritmii genetici paraleli cu multi-populat,ie (mo-delul insular) dupa o evaluare a mai multor metode prezentate în [13]. În esent, a,contribut,ia noastra consta în implementarea s, i analiza de performant,a a mai multormodele de AG s, i SE pe unitat,i de procesare grafice de uz general, folosind bibli-oteca OpenCL. Folosirea procesoarelor grafice pentru paralelizarea s, i accelerareaalgoritmilor genetici a inspirat mult,i autori; de exemplu site-ul http://www.gpgpgpu.com cont,ine o lista de articole relativ la acest subiect începând încadin anul 2005. Am testat mai mult,i operatori evolutivi: competit,ia, selectarea prinruleta, mutat,ia uniforma s, i Gaussiana, încrucis, area s, i recombinarea. Am folosit

Page 25: ing. István LORENTZ˝ Calcul paralel pe procesoare multi ...old.unitbv.ro/Portals/31/Sustineri de doctorat/Rezumate/LorentzIstvan.pdfUNIVERSITATEA TRANSILVANIA DIN BRAS¸OV S, coala

diverse abordari pentru paralelizare, pentru probleme de dimensiuni mici, respec-tiv mari. Performant,a este masurata pe doua placi grafice: Nvidia GeForce GTX560Ti s, i AMD Radeon 6950. Testele sunt efectuate pe o grila distribuita, folosindJava Parallel Processing Framework (JPPF).

4.3.1 Operatori evolutivi în OpenCL

Vom prezenta blocurile constructive ale unui algoritm evolutiv implementat în Open-CL. Fluxul de control al algoritmului este secvent,ial s, i încrucis, area, mutat,ia, evalu-area s, i operat,iile de select,ie sunt paralelizate. Folosim sumarea prefixelor în paralel(scanare) [31] pentru a calcula sumele cumulative pentru selectarea prin ruleta inAG, sumarea paralela (reducere) [30] pentru scalarea funct,iei de evaluare, pentrua calcula media/minimul/maximul funct,iei de evaluare pentru întreaga populat,ies, i pentru a calcula valoarea funct,iei de evaluare s, i, în final, algoritmul de sortarebitonica paralela [56] pentru a sorta populat,ia în funct,ie de valorile funct,iei deevaluare. Acestea sunt necesare pentru select,ia proport,ionala pe baza funct,iei deevaluare sau select, ia dupa rang la AG/SE. Pentru select,ia prin competit,ie la AG nuse efectueaza o sortare explicita, rezultând un nucleu mai rapid. În implementa-rea noastra M reprezinta marimea populat,iei, G marimea grupului (a insulei) s, i Nnumarul de variabile al funct,iei de evaluare. Populat,ia este reprezentata ca o ma-trice de M linii s, i N coloane în memoria globala a unui dispozitiv OpenCL. Dinmotive de eficient, a, marimea grupurilor (a populat,iilor insulare) este aleasa astfelîncât vectorii ce apart,in unui grup sa fie stocate integral în memoriile locale aleunitat,ilor de calcul OpenCL. Astfel, pe parcursul a mai multor generat,ii, insuleleevolueaza fara a accesa memoria globala (cu latent, a mare). Alt,i parametri de con-trol sunt: tipul algoritmului (AG sau SE), tipul de select, ie (lineara proport,ional cuvaloarea funct,iei de evaluare, dupa rang sau prin competit,ie), tipul de recombinare(încrucis, are, medie aritmetica), tipul de mutat,ie (linear sau Gaussian) s, i rata de mi-grare. Migrarea între grupuri are loc prin intermediul memoriei globale. Înaintede a intra în bucla interioara, populat,ia globala este distribuita în fiecare grup. Îninteriorul fiecarui grup, fiecare thread genereaza o adresa aleatoare r ∈ [0,M − 1]s, i copiaza individul din populat,ia globala. Aceasta schema de adresare asigura caindivizii care au evoluat în grupuri diferite se amesteca între ei.

4.3.2 Rezultate experimentale

Pentru a evalua performant,a implementarii am folosit doua probleme de test, funct,iaRosenbrock generalizata s, i Rastrigin, de N variabile [19]. Funct,ia de performant,afolosita este perf [Mop/sec] = N ·M·I

T [µsec] , unde N reprezinta numarul de variabileale problemei, M dimensiunea populat,iei, I numarul de iterat,ii (generat,ii), T tim-pul de execut,ie în microsecunde. Rezultatele obt,inute sunt prezentate în tabela 4.2.

Page 26: ing. István LORENTZ˝ Calcul paralel pe procesoare multi ...old.unitbv.ro/Portals/31/Sustineri de doctorat/Rezumate/LorentzIstvan.pdfUNIVERSITATEA TRANSILVANIA DIN BRAS¸OV S, coala

Figura 4.1: Procesarea unui grup (populat,ie insulara) pe o unitatea de calculOpenCL. Se foloses, te memoria locala pentru a stoca rezultatele intermediare peparcursul a mai multor iterat,ii

Tabela 4.2: Performant,a obt,inuta (în 106 operat,ii/sec) pentru populat,ii de dimen-siune M = 8192 s, i grupe de dimensiune G=256.

Funct,ie fitness N AlgoritmPerformant, a

GTX 560 HD 6950

Rosenbrock 2 GA Tournament 3230 2200Rosenbrock 8 GA Tournament 4600 3560Rosenbrock 2 GA Roulette 370 140Rosenbrock 8 GA Roulette 1230 210Rastrigin 2 GA Tournament 2730 2330Rastrigin 8 GA Tournament 2910 3680Rastrigin 2 GA Roulette 360 140Rastrigin 8 GA Roulette 1060 310Rosenbrock 2 ES (µ+ λ) 500 270Rosenbrock 8 ES (µ+ λ) 1040 470Rastrigin 2 ES (µ+ λ) 470 250Rastrigin 8 ES (µ+ λ) 971 440

4.3.3 Concluzii

Calculul buclelor interioare ale algoritmilor evolutivi in interiorul nucleului oferacea mai buna performant,a. Aceasta este strategia cea mai potrivita pentru optimi-zarea funct,iilor cu un numar relativ mic de parametri care încap în memoria localaa dispozitivului. Am observat ca pe placile grafice performant,a depinde foarte multde alegerea corecta a marimii grupurilor de lucru, a numarului de grupuri de lucru s, ide folosirea corecta a memoriei locale. Chiar s, i schimbari relativ minore ale acestorparametri pot duce la modificari semnificative ale performant,ei obt,inute. În ceeace prives, te algoritmii distribuit,i, am constatat încarcari mari la pornire s, i la comu-nicare. T, inând cont ca marirea numarului de unitat,i de calcul într un dispozitiv setraduce în insule multiple în implementarea noastra, strategia de migrare devine unfactor crucial pentru o scalare eficienta. Este nevoie de cercetari ulterioare pentru aexamina strategiile de migrare.

Page 27: ing. István LORENTZ˝ Calcul paralel pe procesoare multi ...old.unitbv.ro/Portals/31/Sustineri de doctorat/Rezumate/LorentzIstvan.pdfUNIVERSITATEA TRANSILVANIA DIN BRAS¸OV S, coala

Capitolul 5

Determinarea structuriiproteinelor

5.1 Introducere

Determinarea precisa a structurii tert,iare a proteinelor (a coordonatelor tridimen-sionale ale atomilor constituent,i) este o condit,ie fundamentala pentru înt,elegereaproprietat,ilor lor fizice, chimice s, i biologice. Cunoas, terea caracteristicilor structu-rale are rol fundamental în determinarea s, i simularea interact,iunilor dintre proteinesau enzime s, i inhibitori — cercetari care au condus printre altele la sinteza unormedicamente noi [60].

Determinarea structurii 3D întâmpina probleme de acuratet,e, precizie s, i viteza.În momentul de fat, a se folosesc doua metode raspândite: cristalografia cu raze X s, irezonant,a magneto-nucleara (RMN).

La nivelul anului 2013, majoritatea structurilor stocate în baza de date inter-nat,ionala a proteinelor (Protein Data Bank — PDB) au fost determinate prin cris-talografie cu raze X [5]. Acuratet,ea structurilor depinde de calitatea cristalizarii.Structurile cu important,a biologica se cristalizeaza in forma lor nativa sau combi-nate cu inhibitori.

Unele molecule nu se cristalizeaza, de aceea la determinarea structurii lor sefoloses, te metoda spectroscopica RMN care furnizeaza informat,ii despre moleculaîn starea dizolvata. Datorita flexibilitat,ii mari a structurii in solut,ii informat,iileobt,inute cu ajutorul spectroscopiei RMN nu sunt atât de precise ca s, i informat,iileobt,inute cu ajutorul razelor X [12, 71].

Ambele metode de determinare structurala sunt laborioase, atât din p.d.v. alprepararii experimentelor, dar s, i a prelucrarii ulterioare a datelor experimentale.Aceasta teza prezinta algoritmi de determinare pe baza datelor experimenteale fur-nizate prin spectroscopie RMN (distant,e s, i unghiuri interatomice).

27

Page 28: ing. István LORENTZ˝ Calcul paralel pe procesoare multi ...old.unitbv.ro/Portals/31/Sustineri de doctorat/Rezumate/LorentzIstvan.pdfUNIVERSITATEA TRANSILVANIA DIN BRAS¸OV S, coala

5.2 Determinarea structurilor cu metoda RMN

Masuratorile RMN furnizeaza de regula urmatoarele tipuri de informat,ii:

• Distant,e inter-nuclee, deduse din efectul Overhauser (Nuclear Overhauseeffect — NOE). Acest efect este limitat la nuclee de hidrogen sau anumeizotopi C, N, aflate la distant, a maxima de 5Å. Acest set de distant,e repre-zinta cea mai importanta informat,ie [72].

• Unghiuri diedru, deduse din efectul Karplus [37]

• Orientarea unor legaturi chimce fat, a de un câmp magnetic extern [4].

Informat,iile a-priori despre proteinele studiate (cum ar fi structura primara ca-racterizata prin secvent,a de amino-acizi) împreuna cu datele obt,inute experimentalsunt, de regula introduse într-un model matematic, formulat ca o funct,ie obiectiv.Aceasta funct,ie reprezinta concordant,a dintre modelul ipotetic s, i datele experimen-tale, problema prezentându-se ca o problema de minimizare globala.

Vom trece în revista principalele modele dezvoltate în literatura de specialitate:

Metoda distant, ei geometrice

Aceasta metoda are ca intrari exclusiv distant,ele interatomice. Pentru o moleculaformata din n atomi problema este formulata în a gasi matricea R = (r1, . . . , rn)a coordonatelor, care minimizeaza funct,ia obiectiv

σ2(R) =∑

i<j≤n

(‖ri − rj‖ − δij)2 (5.1)

unde ri, rj reprezinta pozit,iile atomilor i s, i j, iar δij este distant,a interatomicaca data de intrare, determinata experimental.

a. Toate cele n(n− 1)/2 distant,e sunt cunoscute (corespunzatoare fiecarei perechide atomi), iar matricea Dij a distant,elor este completa. Solut,ia ecuat,iei (5.1)poate fi determinata algebric, prin metoda scalarii multidimensionale [9, 10,63].

b. Toate distant,ele sunt cunoscute, dar sunt afectate de erori experimentale. Osolut,ie posibila data de [32] este conversia problemei la tipul a., prin netezire.

c. Doar un subset de distant,e precise este cunoscut, matricea distant,elor fiind rara.

d. Doar un subset de distant,e este cunoscut, iar acestea sunt afectate de erori expe-rimentale. Fiecare distant, a data este reprezentata printr-un interval accepta-bil. Acesta este cazul întâmpinat în determinarile reale. Cazurile a — c suntutile pentru studiul matematic, s, i s-au obt,inut rezultate care pot fi folositepentru a rezolva cazul d.

Page 29: ing. István LORENTZ˝ Calcul paralel pe procesoare multi ...old.unitbv.ro/Portals/31/Sustineri de doctorat/Rezumate/LorentzIstvan.pdfUNIVERSITATEA TRANSILVANIA DIN BRAS¸OV S, coala

Sect,iunea 5.3 trateaza problemele de tip c., iar cele de tip d. sunt tratate însect,iunea 5.5.

5.3 Determinarea structurii prin construct, ie

Aceasta metoda determina pozit,ia atomilor pas-cu-pas: având patru atomi cu pozit,iapre-determinata, pozit,ia celui de al cincilea se poate determina rezolvând sistemulde ecuat,ii linear provenind din intersect,ia a patru sfere. Metoda este cunoscuta înliteratura de specialitate [10, 18, 21, 22, 33,59,70]. Contribut,ia autorului consta dinformularea algoritmului secvent,ial de construct,ie prin traversare în lat,ime al gra-fului molecular, publicata în [23] s, i a paralelizarii acestuia în OpenCL, publicataîn [49].

5.4 Optimizare prin calire simulata tip Monte-Carlo

Algoritmul de construct,ie poate genera daca distant,ele de intrare sunt imprecise.Pentru a contracara acest efect, coordonatele obt,inute la pasul anterior sunt supuseoptimizarii prin calire simulata tip Monte-Carlo. Funct,ia obiectiv ce urmeaza a fiminimizata este cea data de ecuat,ia (5.1). În textul integral al tezei sunt prezentaterezultatele minimizarii.

5.5 Optimizare prin dinamica moleculara

Metodele anterioare au dezavantajul ca opereaza doar asupra distant,elor interato-mice, neîncorporând informat,ie de natura fizica sau chimica, rezultatele obt,inutepot fi nerealiste. Pentru a modela structuri apropiate de realitate, în literatura despecialitate s-au propus modele ce înglobeaza fort,ele inter-atomice [15]. Pentru aevita calculele la nivel quantic, pentru modelarea proteinelor (s, i a altor macromo-lecule) se folosesc aproximarile Born-Oppenheimer [29]. Practic, proteinele suntmodelate într-un câmp de fort,e derivat din potent,ialele aferente legaturilor cova-lente, ale unghiurilor, diedrelor, interact,iunile van-der-Waals s, i electrostatice. Con-strângerile de distant,e interatomice determinate experimental se înglobeaza într-ofunct,ie potent,ial hibrid, cu presupunerea ca minimelor globale acestei funct,ii îi co-respund starile native ale proteinei.

Pentru a minimiza aceasta funct,ie, în teza sunt prezentate metodele existente.O metoda des folosita este cea a calirii simulate combinate cu dinamica molecu-lara. Spre deosebire de calirea simulata tip Monte-Carlo, unde starile succesivesunt generate în mod aleator, în dinamica moleculara sistemul respecta legile dina-micii Newtoniene [46–48]. Evolut,ia coordonotale atomilor în timp este calculataintegrând ecuat,iile de mis, care.

Page 30: ing. István LORENTZ˝ Calcul paralel pe procesoare multi ...old.unitbv.ro/Portals/31/Sustineri de doctorat/Rezumate/LorentzIstvan.pdfUNIVERSITATEA TRANSILVANIA DIN BRAS¸OV S, coala

Contribut,ia autorului este implementarea paralela al unui sistem de dinamicamoleculara. Detaliile implementarii s, i performant,a obt,inuta sunt prezentate în teza.S-a pus accent pe

• Acuratet,ea numerica, atât în precizie simpla cât s, i în precizie dubla. Pen-tru referint,a s-a folosit programul profesional XPLOR-NIH [58]. Comparat,iaeste prezentata în tabela 5.1. În forma integrala a tezei sunt prezentate comparat,iiledetaliate de acuratet,e.

• Scalabilitate cu cres, terea numarului de elemente de procesare al procesoarelgrafice. În partea experimentala s-a rulat pe s, apte tipuri diferite de procesoare(fig. 5.1).

Simularea consta din repetarea pas, ilor de mai jos:

1. Calculul fort,elor exercitate pe fiecare atom

2. Actualizarea coordonatelor s, i a vitezelor, pe baza ecuat,iilor mis, carii

3. Calculul diverselor statistici: energie potent,iala totala, energie cinetica, tem-peratura

Diagrama bloc este prezentata în fig. 5.2.

0

50

100

150

200

1GB1 1BSH 2LMP 2KU1 2XDF 1HN1 2QEE 1AON 1VRI

Avg

. sim

ulat

ion

step

exe

cutio

n tim

e (m

s)

Tesla K20XmGTX 680

GTX 660 TiHD 6950

GTX 560 TiGTX 285i5-3570K

Figura 5.1: Timpi de execut,ie, calcul în precizie simpla

Page 31: ing. István LORENTZ˝ Calcul paralel pe procesoare multi ...old.unitbv.ro/Portals/31/Sustineri de doctorat/Rezumate/LorentzIstvan.pdfUNIVERSITATEA TRANSILVANIA DIN BRAS¸OV S, coala

Figura 5.2: Diagrama simulatorului molecular

5.5.1 Experimente s, i rezultate

Pentru validare s-au folosit date publice, provenite din masuratori RMN, obt,inutede la baza de date internat,ionala a proteinelor (PDB [5]). În textul integral al tezeisunt detaliate timpii de execut,ie ale diferitelor calcule, rezumatul limitându-se larezultatele finale din tabela 5.1.

Page 32: ing. István LORENTZ˝ Calcul paralel pe procesoare multi ...old.unitbv.ro/Portals/31/Sustineri de doctorat/Rezumate/LorentzIstvan.pdfUNIVERSITATEA TRANSILVANIA DIN BRAS¸OV S, coala

Tabela 5.1: Rezultate OpenCL comparate XPLOR-NIH

Structura,pas, i

Program,precizie

RMSDnon-H

RMSDbackb.

Time(sec)*

1GB1, X 0.81(3) 0.46(3) 710038 A, SP 0.90(8) 0.56(6) 3

B, SP 0.85(8) 0.47(6) 17B, DP 0.81(7) 0.44(8) 20

1G03, X 3.3 2.8 9237038 B, SP 3.0 2.5 65

2LMP, X 1.6 1.3 45637038 B, SP 2.4 2.2 83

X: XPLOR-NIH rulând pe Intel Core i5-3570K CPUA: Implementare “All-in-one”, pe NVidia GTX 660 Ti GPU,

B: Implementare cu nuclee OpenCL separate: SP=Single, DP=Double PrecisionRMSD: abatere medie patratica * Timpul de execut,ie necesar determinarii unei singure structuri

Page 33: ing. István LORENTZ˝ Calcul paralel pe procesoare multi ...old.unitbv.ro/Portals/31/Sustineri de doctorat/Rezumate/LorentzIstvan.pdfUNIVERSITATEA TRANSILVANIA DIN BRAS¸OV S, coala

Capitolul 6

Concluzii finale

Contribut, ii

În capitolul 3. autorul a implementat s, i a analizat transformata Fourier rapida (TFR)pe procesorul Connex, comparându-l, ca performant,a s, i eficient, a cu implementa-rea TFR din biblioteca procesoarelor grafice. Rezultatele arata avantajul arhitec-turii Connex din perspectiva performant,ei relative la puterea consumata. În dome-niul procesarii imaginilor, autorul a analizat performant,a procesoarelor grafice peoperat,ii de baza ca: conversia spat,iului de culoare, operat,ii morfologice s, i eticheta-rea componentelor conexe. Studiul de caz include o aplicat,ie în domeniul inspect,ieioptice a circuitelor imprimate. Rezultatele arata timpi de execut,ie înjumatat,iti peprocesorul grafic fat, a de execut,ia secvent,iala pe procesorul gazda.

Capitolul 4. trateaza operatorii calcului evolutiv pe arhitecturile Conex s, i proce-soarele grafice. Algoritmii genetici (GA), strategiile evolutive (Evolution Strategy- ES) s, i calirea simulata (Simulated Annealing - SA) sunt tratate în mod unitar,prezentându-se etapele de calcul comune ca nuclee computat,ionale paralele.

În capitolul 5. Contribut,iile autorului sunt în prelucrarea acestor distant,e s, i re-construirea structurii tridimensionale (coordonatele spat,iale ale atomilor constituent,i)ale proteinelor. Sunt abordate mai multe metode. Prima metoda se bazeaza pereconstruct,ia coordonatelor pas-cu-pas, pornind de la un subset de atomi folositeca “ancore”. Metoda nu este noua, dar contribut,ia autorului este în a formula unalgoritm bazat pe parcurgerea în lat,ime a grafurilor, cu metode din algebra linearapentru a calcula coordonatele atomilor. Metoda are avantajul unui timp linear, înordinul O(N + M) unde N este numarul atomilor iar M este numarul distant,elorcunoscute. Se bazeaza pe raritatea matricei distant,elor. Acest rezultat este avanta-jos fat, a de algoritmul clasic de scalare multidimensionala, care cere matrici com-plete (stocare O(N2)) s, i timp de execut,ie în ordinul O(N3). Dupa implementareasecvent,iala a algoritmului, autorul prezinta implementarea paralela, pe procesoaregrafice, folosind limbajul OpenCL. Algoritmul fiind sensibil la erorile din datele

33

Page 34: ing. István LORENTZ˝ Calcul paralel pe procesoare multi ...old.unitbv.ro/Portals/31/Sustineri de doctorat/Rezumate/LorentzIstvan.pdfUNIVERSITATEA TRANSILVANIA DIN BRAS¸OV S, coala

de intrare, putând cauza “solut,ii” degenerate, nerealizabile fizic. Pentru a contra-cara acest efect, coordonatele obt,inute sunt trecute printr-un pas de post-procesare.Acest pas consta din minimizarea unei funct,ii obiectiv — diferent,a dintre distant,eleinteratomice date ca intrare s, i distant,ele recalculate pe baza coordonatelor. S-afolosit o minimizare bazata pe calire simulata de tip Monte-Carlo, implementatape procesoare grafice. Pentru o precizie s, i mai mare în determinarea structuriiproteinelor, în sect,iunea 5.5 s-a reimplementat o metoda bazata pe minimizareaunei energii potent,iale hibride - formate din a.) informat,ii chimice cunoscute a-priori, (lungimea s, i unghiurile legaturilor, fort,ele van der Waals s, i electrostatice)s, i b.) funct,ia potent,iala (neavând corespondent fizic) format din corespondent,adistant,elor masurate prin simulare fat, a de cele determinate experimental. Aceastaeste o metoda cunoscuta, contribut,ia autorului fiind în implementarea paralela —folosind OpenCL — pe procesoare multi-core s, i grafice s, i obt,inerea unor rezul-tate echivalente numeric cu un program profesional (XPLOR-NIH). Implementareaautorului ofera viteza sporita s, i scalabila pe unitat,ile computat,ionale OpenCL.

Concluzii

Rezultatele obt,inute din lucrarile prezentate arata ca, modelul de calcul eterogensau (procesor + accelerator paralel) ofera viteze de execut,ie sporite, dar cu pret,ulcomplexitat,ii ridicate al programarii. Dificultatea este sporita daca sistemul etero-gen nu cont,ine un spat,iu de adrese unitar. Performant,a nucleelor computat,ionalepoate fi limitata fie de lat,imea de banda, fie de performant,a aritmetica al unitat,ilorde execut,ie. Pentru a obt,ine performant,a maxima, programele trebuie sa accesezetoate nivelele de paralelism disponibile: cea de instruct,iuni, paralelismul de date,precum s, i accesul localizat la memorie. Toate acestea cer o buna cunoas, tere a ar-hitecturii de catre programator. Pentru a obt,ine o eficient, a portabila, programeletrebuie sa se auto-adapteze (auto-tuning) la arhitectura pe care ruleaza în mod cu-rent. Dificultat,ile întâmpinate motiveaza continuarea cercetarii în acest domeniu.

Page 35: ing. István LORENTZ˝ Calcul paralel pe procesoare multi ...old.unitbv.ro/Portals/31/Sustineri de doctorat/Rezumate/LorentzIstvan.pdfUNIVERSITATEA TRANSILVANIA DIN BRAS¸OV S, coala

Bibliografie

[1] E. H. Adelson, C. H. Anderson, J. R. Bergen, P. J. Burt, and J. M. Ogden,“Pyramid methods in image processing,” RCA engineer, vol. 29, no. 6, pp.33–41, 1984.

[2] G. M. Amdahl, “Validity of the single processor approach to achieving largescale computing capabilities,” in Proceedings of the April 18-20, 1967, spring

joint computer conference. ACM, 1967, pp. 483–485.

[3] T. Bäck, D. B. Fogel, and Z. Michalewicz, Eds., Basic Algorithms and Ope-

rators, 1st ed. Bristol, UK, UK: IOP Publishing Ltd., 1999.

[4] A. Bax, G. Kontaxis, and N. Tjandra, “Dipolar couplings in macromolecularstructure determination,” Meth. Enzymol., vol. 339, pp. 127–174, 2001.

[5] H. M. Berman, J. Westbrook, Z. Feng, G. Gilliland, T. N. Bhat, H. Weissig,I. N. Shindyalov, and P. E. Bourne, “The Protein Data Bank,” Nucleic Acids

Research, vol. 28, pp. 235–242, 2000. [Online]. Available: http://www.rcsb.org/pdb/

[6] H.-G. Beyer and H.-P. Schwefel, “Evolution strategies – A comprehensiveintroduction,” Natural Computing, vol. 1, pp. 3–52, 2002.

[7] G. Blake, R. G. Dreslinski, and T. Mudge, “A survey of multicore processors,”Signal Processing Magazine, IEEE, vol. 26, no. 6, pp. 26–37, 2009.

[8] G. E. Blelloch, R. A. Chowdhury, P. B. Gibbons, V. Ramachandran, S. Chen,and M. Kozuch, “Provably good multicore cache performance for divide-and-conquer algorithms,” in Proceedings of the nineteenth annual ACM-SIAM

symposium on Discrete algorithms. Society for Industrial and Applied Ma-thematics, 2008, pp. 501–510.

[9] L. M. Blumenthal, Theory and applications of distance geometry. Bronx,NY: Chelsea, 1970.

35

Page 36: ing. István LORENTZ˝ Calcul paralel pe procesoare multi ...old.unitbv.ro/Portals/31/Sustineri de doctorat/Rezumate/LorentzIstvan.pdfUNIVERSITATEA TRANSILVANIA DIN BRAS¸OV S, coala

[10] I. Borg and P. Groenen, Modern Multidimensional Scaling: Theory and Appli-

cations. Springer, 2005.

[11] A. C. Bovik, J. D. Gibson et al., Handbook of Image and Video Processing.Academic Press, Inc., Orlando, FL, 2000.

[12] A. T. Brunger, “X-ray crystallography and NMR reveal complementary viewsof structure and dynamics,” Nat. Struct. Biol., vol. 4 Suppl, pp. 862–865, Oct1997.

[13] E. Cantú-Paz, “A survey of parallel genetic algorithms,” Calculateurs Paral-

leles, vol. 10, pp. 141–171, 1998.

[14] A. S. Cassidy and A. G. Andreou, “Beyond amdahl’s law: An objective func-tion that links multiprocessor performance gains to delay and energy,” Com-

puters, IEEE Transactions on, vol. 61, no. 8, pp. 1110–1126, 2012.

[15] G. M. Clore and A. M. Gronenborn, “Determination of three-dimensionalstructures of proteins and nucleic acids in solution by nuclear magnetic reso-nance spectroscopy,” Crit. Rev. Biochem. Mol. Biol., vol. 24, no. 5, pp. 479–564, 1989.

[16] R. Cole and O. Zajicek, “The APRAM: Incorporating asynchrony into thePRAM model,” in Proceedings of the first annual ACM symposium on Parallel

algorithms and architectures. ACM, 1989, pp. 169–178.

[17] J. W. Cooley and J. W. Tukey, “An algorithm for the machine calculation ofcomplex fourier series,” Mathematics of Computation, vol. 19, no. 90, pp.297–301, 1965.

[18] R. Davis, C. Ernst, and D. Wu, “Protein structure determination via an effi-cient geometric build-up algorithm,” BMC Structural Biology, vol. 10, no.Suppl 1, p. S7, 2010.

[19] K. A. De Jong, “An analysis of the behavior of a class of genetic adaptivesystems.” Ph.D. dissertation, University of Michigan, Ann Arbor, MI, USA,1975.

[20] J. Diaz, C. Muñoz-Caro, and A. Niño, “A survey of parallel programmingmodels and tools in the multi and many-core era,” Parallel and Distributed

Systems, IEEE Transactions on, vol. 23, no. 8, pp. 1369–1386, 2012.

[21] Q. Dong and Z. Wu, “A linear-time algorithm for solving the molecular dis-tance geometry problem with exact inter-atomic distances,” Journal of Global

Optimization, vol. 22, pp. 365–375, 2002.

Page 37: ing. István LORENTZ˝ Calcul paralel pe procesoare multi ...old.unitbv.ro/Portals/31/Sustineri de doctorat/Rezumate/LorentzIstvan.pdfUNIVERSITATEA TRANSILVANIA DIN BRAS¸OV S, coala

[22] ——, “A geometric build-up algorithm for solving the molecular distance ge-ometry problem with sparse distance data,” J. of Global Optimization, vol. 26,pp. 321–333, July 2003.

[23] L. Fabry-Asztalos, I. Lorentz, and R. Andonie, “Molecular Distance Geome-try Optimization using Geometric Build-up and Evolutionary Techniques onGPU,” in Proc. of the IEEE Symposium on Computational Intelligence in Bi-

oinformatics and Computational Biology CIBCB. IEEE, 2012, pp. 321–328.

[24] S. Fortune and J. Wyllie, “Parallelism in random access machines,” in Proce-

edings of the tenth annual ACM symposium on Theory of computing. ACM,1978, pp. 114–118.

[25] M. Frigo and S. G. Johnson, “BenchFFT, a program to compare theperformance and accuracy of many different FFT implementations.”[Online]. Available: http://www.fftw.org/benchfft/

[26] M. Frigo and V. Strumpen, “The cache complexity of multithreaded cacheoblivious algorithms,” Theory of Computing Systems, vol. 45, no. 2, pp. 203–233, 2009.

[27] A. Gellert, A. Florea, and L. Vintan, “Exploiting selective instruction reuseand value prediction in a superscalar architecture,” Journal of Systems Archi-

tecture, vol. 55, no. 3, pp. 188–195, 2009.

[28] N. K. Govindaraju, B. Lloyd, Y. Dotsenko, B. Smith, and J. Manferdelli,“High performance discrete fourier transforms on graphics processors,” inSC ’08: Proceedings of the 2008 ACM/IEEE conference on Supercomputing.IEEE Press, 2008, pp. 1–12.

[29] M. Griebel, S. Knapek, and G. Zumbusch, Numerical Simulation in Molecu-

lar Dynamics. Springer Berlin, 2007.

[30] M. Harris, “Optimizing Parallel Reduction in CUDA,” NVIDIA DeveloperTechnology, Tech. Rep., 2008.

[31] M. Harris, S. Sengupta, and J. D. Owens, “Parallel Prefix Sum (Scan) withCUDA,” in GPU Gems 3, H. Nguyen, Ed. Addison Wesley, 2007.

[32] T. Havel, I. Kuntz, and G. Crippen, “The theory and practice of distance geo-metry,” Bulletin of Mathematical Biology, vol. 45, pp. 665–720, 1983.

[33] B. A. Hendrickson, “The molecular problem: Determining conformationfrom pairwise distances,” Cornell University, Ithaca, NY, USA, Tech. Rep.,1990.

Page 38: ing. István LORENTZ˝ Calcul paralel pe procesoare multi ...old.unitbv.ro/Portals/31/Sustineri de doctorat/Rezumate/LorentzIstvan.pdfUNIVERSITATEA TRANSILVANIA DIN BRAS¸OV S, coala

[34] J. L. Hennessy and D. A. Patterson, Computer architecture: a quantitative

approach, 5th ed. Morgan Kaufmann, 2011.

[35] J. H. Holland, Adaptation in natural and artificial systems: an introductory

analysis with applications to biology, control and artificial intelligence. MITpress, 1992.

[36] A. K. Jain, Fundamentals of digital image processing. prentice-Hall En-glewood Cliffs, 1989, vol. 3.

[37] M. Karplus, “Contact electron-spin coupling of nuclear magnetic moments,”The Journal of Chemical Physics, vol. 30, no. 1, pp. 11–15, 1959.

[38] Khronos OpenCL Working Group, The OpenCL Specification, version 1.2,2012. [Online]. Available: http://www.khronos.org/registry/cl/specs/opencl-1.2.pdf

[39] D. B. Kirk and W. H. Wen-mei, Programming massively parallel processors:

a hands-on approach. Morgan Kaufmann, 2010.

[40] S. Kirkpatrick, C. D. Gelatt, Jr., and M. P. Vecchi, “Optimization by SimulatedAnnealing,” Science, vol. 220, pp. 671–680, 1983.

[41] M. Malita, “The Vector-C library on Connex (A software library for a Connex-like multiprocessing machine),” http://www.anselm.edu/internet/compsci/Faculty_Staff/mmalita/HOMEPAGE/ResearchS07/WebsiteS07/, 2007.

[42] J. R. Mandeville, “Novel method for the analysis of printed circuit images,”in 28th Annual Technical Symposium. International Society for Optics andPhotonics, 1984, pp. 74–84.

[43] G. Marsaglia, “Xorshift RNGs,” Journal of Statistical Software, vol. 8,no. 14, pp. 1–6, 2003. [Online]. Available: http://www.jstatsoft.org/v08/i14;http://www.jstatsoft.org/v08/i14/xorshift.pdf

[44] M. Mehrara, T. Jablin, D. Upton, D. August, K. Hazelwood, and S. Mahlke,“Multicore compilation strategies and challenges,” Signal Processing Maga-

zine, IEEE, vol. 26, no. 6, pp. 55–63, 2009.

[45] K. Moreland and E. Angel, “The FFT on a GPU,” in HWWS’03: Proce-

edings of the ACM SIGGRAPH/EUROGRAPHICS conference on Graphics

hardware, 2003, pp. 112–119.

[46] M. Nilges, G. M. Clore, and A. M. Gronenborn, “Determination of three-dimensional structures of proteins from interproton distance data by hybriddistance geometry-dynamical simulated annealing calculations,” FEBS Lett.,vol. 229, no. 2, pp. 317–324, Mar 1988.

Page 39: ing. István LORENTZ˝ Calcul paralel pe procesoare multi ...old.unitbv.ro/Portals/31/Sustineri de doctorat/Rezumate/LorentzIstvan.pdfUNIVERSITATEA TRANSILVANIA DIN BRAS¸OV S, coala

[47] ——, “Determination of three-dimensional structures of proteins from inter-proton distance data by dynamical simulated annealing from a random arrayof atoms. circumventing problems associated with folding,” FEBS letters, vol.239, no. 1, pp. 129–136, 1988.

[48] M. Nilges, J. Kuszewski, and A. Brunger, “Sampling properties of simulatedannealing and distance geometry,” Computational aspects of the study of bi-

ological macromolecules by nuclear magnetic resonance spectroscopy, vol.225, pp. 451–455, 1991.

[49] I. Lorentz, R. Andonie, and L. Fabry-Asztalos, “Solving molecular distancegeometry problems in OpenCL,” in Optimization of Electrical and Electronic

Equipment (OPTIM), 2012 13th International Conference on. IEEE, 2012,pp. 1421–1428.

[50] I. Lorentz, M. Malita, and R. Andonie, “Fitting FFT onto an energy efficientmassively parallel architecture,” in Proceedings of the Second International

Forum on Next-Generation Multicore/Manycore Technologies, in conjunction

with ACM/IEEE International Symposium on Computer Architecture (ISCA

2010), ser. IFMT ’10, 2010, pp. 8:1–8:11.

[51] G. Stefan, “The CA1024: SoC with integral parallel architecture for HDTVprocessing,” in 4th International System-on-Chip (SoC) Conference & Exhi-

bit, November 1-2, Radisson Hotel Newport Beach, California, 2006.

[52] CUDA C Programming Guide, Nvidia, 2012. [Online]. Available: http://docs.nvidia.com/cuda/cuda-c-programming-guide

[53] NVIDIA Corporation, “NVidia GeForce GTX 285.” [Online]. Available:http://www.nvidia.com/object/product_geforce_gtx_285_us.html

[54] CUFFT Library v3.0, NVIDIA Corporation, 2010. [Online]. Available:http://docs.nvidia.com/cuda/cufft/index.html

[55] OpenMP Architecture Review Board, “OpenMP application programinterface version 3.0,” 2008. [Online]. Available: http://www.openmp.org/wp/openmp-specifications/

[56] M. Pharr and R. Fernando, GPU Gems 2: Programming Techniques for High-

Performance Graphics and General-Purpose Computation. Addison-WesleyProfessional, 2005, ch. 46.

[57] M. J. Quinn, Parallel Programming in C with MPI and OpenMP. McGraw-Hill, 2003.

Page 40: ing. István LORENTZ˝ Calcul paralel pe procesoare multi ...old.unitbv.ro/Portals/31/Sustineri de doctorat/Rezumate/LorentzIstvan.pdfUNIVERSITATEA TRANSILVANIA DIN BRAS¸OV S, coala

[58] C. Schwieters, J. Kuszewski, N. Tjandra, and G. Clore, “The Xplor-NIHNMR molecular structure determination package.” J Magn Reson, vol. 160,no. 1, pp. 65–73, 2003.

[59] A. Sit, Z. Wu, and Y. Yuan, “A geometric buildup algorithm for the solution ofthe distance geometry problem using Least-Squares approximation,” Bulletin

of Mathematical Biology, 2007.

[60] R. C. Stevens, “The cost and value of three-dimensional protein structure,”Drug Discovery World, vol. 4, no. 3, pp. 35–48, 2003.

[61] A. Suciu, Lorentz, I., and R. Lazar, “Automatic Inspection of PCB usingGPU,” in Proc. of International Symposium for Design and Technology in

Electronic Packaging (SIITME 2008), 2008, pp. 286–290.

[62] H. Sutter, “The free lunch is over: A fundamental turn toward concurrency insoftware,” Dr. Dobb’s Journal, vol. 30, no. 3, pp. 202–210, 2005.

[63] W. Torgerson, “Multidimensional scaling: I. Theory and method,” Psychome-

trika, vol. 17, no. 4, pp. 401–419, Dec. 1952.

[64] A. Vajda, Programming many-core chips. Springer, 2011.

[65] A. L. Varbanescu, “On the effective parallel programming of multi-core pro-cessors,” Ph.D. dissertation, TU Delft, the Netherlands, December 2010.

[66] L. Vintan, Arhitecturi de procesoare cu paralelism la nivelul instructiunilor.Editura Academiei Române, 2000.

[67] L. N. Vintan, A. Florea, and A. Gellert, “Focalising dynamic value predictionto cpu’s context,” in Computers and Digital Techniques, IEE Proceedings-,vol. 152, no. 4. IET, 2005, pp. 473–481.

[68] V. Volkov and B. Kazian, “Fitting FFT onto the G80 architecture,” UC Ber-keley CS258 Project Report, May 2008.

[69] S. Williams, A. Waterman, and D. Patterson, “Roofline: an insightful vi-sual performance model for multicore architectures,” Communications of the

ACM, vol. 52, no. 4, pp. 65–76, 2009.

[70] D. Wu and Z. Wu, “An updated geometric build-up algorithm for solving themolecular distance geometry problems with sparse distance data,” J. of Global

Optimization, vol. 37, pp. 661–673, April 2007.

[71] K. Wuthrich, “Protein structure determination in solution by NMR spectro-scopy.” Journal of Biological Chemistry, vol. 265, no. 36, pp. 22 059–22 062,dec 1990.

Page 41: ing. István LORENTZ˝ Calcul paralel pe procesoare multi ...old.unitbv.ro/Portals/31/Sustineri de doctorat/Rezumate/LorentzIstvan.pdfUNIVERSITATEA TRANSILVANIA DIN BRAS¸OV S, coala

[72] ——, “NMR-this other method for protein and nucleic acid structure de-termination,” Acta Crystallographica Section D: Biological Crystallography,vol. 51, no. 3, pp. 249–270, 1995.

Page 42: ing. István LORENTZ˝ Calcul paralel pe procesoare multi ...old.unitbv.ro/Portals/31/Sustineri de doctorat/Rezumate/LorentzIstvan.pdfUNIVERSITATEA TRANSILVANIA DIN BRAS¸OV S, coala

Lista de publicat, ii

Indexat de ISI Thompson Web Of Knowledge

1. I. Lorentz, R. Andonie, and M. Malita, “An implementation of evolutionarycomputation operators in OpenCL”, in Proc. of the 5th International Sym-

posium on Intelligent Distributed Computing, (IDC ’11), Delft, The Nether-lands, pp. 103-113, 2011. ISSN: 1860-949X ISBN: 978-3-642-24012-6

Indexate de IEEE/ACM/DBLP/ERA

2. L. Fabry-Asztalos, I. Lorentz, and R. Andonie, “Molecular Distance Geome-try Optimization using Geometric Build-up and Evolutionary Techniques onGPU” in Proc. of the IEEE Symposium on Computational Intelligence and

Computational Biology (CIBCB 2012), May 9-12, 2012, San Diego, USA,pp. 321-328, ISBN: 978-1-4673-1190-8 (indexat de DBLP, IEEE XPLORE,ERA cat. C)

3. I. Lorentz, R. Andonie, and L. Fabry-Asztalos, “Solving Molecular DistanceGeometry Problems in OpenCL”, in Proc. of the 13th intl. Conference on

Optimization of Electrical and Electronic Equipment, (OPTIM’12), Brasov,Romania, 2012, pp. 1421 - 1428, ISBN: 978-1-4673-1650-7 (indexat deIEEE XPLORE)

4. I. Lorentz, M. Malita, and R. Andonie, “Fitting FFT onto an Energy EfficientMassively Parallel Architecture”, in Proc. of the 2nd International Forum on

Next-Generation Multicore/Manycore Technologies (IFMT’10), ACM / IEEE

Intl. Symp. on Comp. Architecture (ISCA 2010), Saint-Malo, France, June19-23, 2010, ISBN: 978-1-4503-0008-7. (indexat by ACM)

5. I. Lorentz, M. Malita, and R. Andonie, “Evolutionary computation on theConnex architecture”, in Proc. of the 22nd Midwest Artificial Intelligence

and Cognitive Science Conference, (MAICS ’11), (Cincinnati, OH), 2011,pp. 146-153, ISSN 1613-0073 (Indexat de DLBP)

Trimise spre publicare

6. I. Lorentz, R. Andonie, and L. Fabry-Asztalos “Accelerating Molecular Struc-ture Determination based on Inter-atomic Distances using OpenCL” in IEEE

/ ACM Transactions on Computational Biology and Bioinformatics (TCBB)

(trimis in Mai 2013)

Page 43: ing. István LORENTZ˝ Calcul paralel pe procesoare multi ...old.unitbv.ro/Portals/31/Sustineri de doctorat/Rezumate/LorentzIstvan.pdfUNIVERSITATEA TRANSILVANIA DIN BRAS¸OV S, coala

Alte lucrari

7. I. Lorentz and A. Suciu, “Implementing Simulated Annealing on GPU forImage Processing Tasks”, in Proc. of the 11-th Session of Scientific Research

and Education in the Air Force, (AFASES 2009), Brasov, Romania , 2009,pp. 1095-1098, ISBN 978-973-8415-67-6.

8. A. Suciu, I. Lorentz, R. Lazar, “Automatic Inspection of PCB using GPU”, inProc. of International Symposium for Design and Technology in Electronic

Packaging (SIITME 2008), Predeal, Romania, 2008, pp. 286-290. ISSN1843-5122

9. R. Andonie, A. Cat,aron, Z. Gáspár, H. Gâlmeanu, M. Ivanovici, I. Lorentz,and L. Sasu, “Algoritmi si structuri de date - Aplicat,ii în Imagistica s, i Bioin-formatica”, Editura Universitat,ii Transilvania din Brasov, 2012, ISBN 978-606-19-0058-9. (Chapters 4 and 5 regarding CUDA programming)

Page 44: ing. István LORENTZ˝ Calcul paralel pe procesoare multi ...old.unitbv.ro/Portals/31/Sustineri de doctorat/Rezumate/LorentzIstvan.pdfUNIVERSITATEA TRANSILVANIA DIN BRAS¸OV S, coala

Curriculum Vitae

Nume LORENTZ István

Data nasterii 19 aprilie 1977

Contact Tel. +40-724-877878, e-mail: [email protected]

Educat, ie s, i formare profesionala

2008 – prezent doctorand în domeniul Calculatoare s, i Tehnologia Informat,iei,Universitatea Transilvania din Bras, ov.

2001 – 2002 M.Sc., Tehnici de Proiectare Automata în Electronica (EDA),Facultatea de Electrotehnica,Universitatea Transilvania din Bras, ov.

1996 – 2001 B.Sc. sect,ia “Electronica si Calculatoare”,Facultatea de Electrotehnica,Universitatea Transilvania din Brasov.

Activitate profesionala

2000 – prezent programator la Splash Software SRL, b-dul Iuliu Maniu 43/516,500091 Bras, ov, România având functia de director tehnic.

2010 – 2013 “Expert pe termen scurt” în cadrul proiectului POS-DRU /86 / 1.2 / S / 61756 “Tehnici de Analiza, Modelare s, i Simu-lare pentru Imagistica, Bioinformatica s, i Sisteme Complexe”Universitatea Transilvania Bras, ov. Activitate: colaborare laelaborare îndrumar laborator (capitol CUDA).