Change search
ReferencesLink to record
Permanent link

Direct link
Användande av GPU med OpenCL för simulering av flockbeteende.
KTH, School of Computer Science and Communication (CSC).
KTH, School of Computer Science and Communication (CSC).
2011 (Swedish)Independent thesis Advanced level (professional degree), 10 credits / 15 HE creditsStudent thesis
Abstract [en]

Today's PCs are moving towards more and more multi core processor, both the CPU and GPU. Using the GPU for non graphics calculations is referred to as GPGPU. To realize this requires a GPGPU language. In this report the OpenCL language is used, which is connectoed to Java through the library JavaCL. This report investigate differences by writing a Boids algorithm in Java and using OpenCL via JavaCL, and the performance gains it offers in various population quantities. Test results show that the rendering speed of the current test machine with 512 Boids is about 2.5 times higher for the GPU than the CPU, and with 1024 Boids is about 10 times higher. The conclusion is that the GPU implementation can handle about four times the number of Boids. We are also evaluating how complicated it is for a programmer, with no previous experience in GPGPU programming, to implement a JavaCL solution. This proved not to be to hard, and it was easy to start produce code, thanks to OpenCL is at a moderate level of abstraction.

Abstract [sv]

Dagens datorer går mot allt fler processorkärnor både i CPU och GPU. Användning av GPU:n för annat än grafikberäkningar benämns med GPGPU. För att utnyttja denna krävs ett GPGPU-språk där denna rapport visar användandet av OpenCL. Detta kopplas samman med Java genom biblioteket JavaCL. I rapporten tas även skillnader med att skriva en Boids-algoritm i Java och att att utnyttja OpenCL via JavaCL för samma Boids-algoritm, och vilka prestandavinster detta ger vid olika populationsmängder. Testresultaten visar att på den aktuella testmaskinen var renderingshastigheten vid 512 Boids cirka 2,5 gånger högre för GPU:n än för CPU:n, och vid 1024 Boids är den cirka 10 gånger högre. Slutsaten är att GPU-implementeringen kan hantera cirka 4 gånger fler Boids. Utvärdering görs även av hur pass komplicerat det är för en programmerare, utan tidigare erfarenhet av GPGPU-programmering, att implementera JavaCL-lösningen. Detta visade sig inte ha någon stor instegströskel för programmeringen, och det gick lätt att skriva kod, tack vare att OpenCL ligger på en lagom abstraktionsnivå.

Place, publisher, year, edition, pages
Kandidatexjobb CSC, K11057
National Category
Computer Science
URN: urn:nbn:se:kth:diva-130838OAI: diva2:654285
Educational program
Master of Science in Engineering - Computer Science and Technology
Available from: 2013-10-07 Created: 2013-10-07

Open Access in DiVA

No full text

Other links
By organisation
School of Computer Science and Communication (CSC)
Computer Science

Search outside of DiVA

GoogleGoogle Scholar
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

Total: 33 hits
ReferencesLink to record
Permanent link

Direct link