CPL - Chalmers Publication Library
| Utbildning | Forskning | Styrkeområden | Om Chalmers | In English In English Ej inloggad.

Expressive array constructs in an embedded GPU kernel programming language

Koen Claessen (Institutionen för data- och informationsteknik, Programvaruteknik (Chalmers)) ; Mary Sheeran (Institutionen för data- och informationsteknik, Programvaruteknik (Chalmers)) ; Joel Svensson (Institutionen för data- och informationsteknik, Programvaruteknik (Chalmers))
Proceedings of the 7th workshop on Declarative aspects and applications of multicore programming, DAMP'12 (0730-8566). p. 21-30. (2012)
[Konferensbidrag, refereegranskat]

Graphics Processing Units (GPUs) are powerful computing devices that with the advent of CUDA/OpenCL are becomming useful for general purpose computations. Obsidian is an embedded domain specific language that generates CUDA kernels from functional descriptions. A symbolic array construction allows us to guarantee that intermediate arrays are fused away. However, the current array construction has some drawbacks; in particular, arrays cannot be combined efficiently. We add a new type of push arrays to the existing Obsidian system in order to solve this problem. The two array types complement each other, and enable the definition of combinators that both take apart and combine arrays, and that result in efficient generated code. This extension to Obsidian is demonstrated on a sequence of sorting kernels, with good results. The case study also illustrates the use of combinators for expressing the structure of parallel algorithms. The work presented is preliminary, and the combinators presented must be generalised. However, the raw speed of the generated kernels bodes well.

Nyckelord: Arrays, Data parallelism, Embedded domain specific language, General purpose GPU programming, Haskell



Den här publikationen ingår i följande styrkeområden:

Läs mer om Chalmers styrkeområden  

Denna post skapades 2012-03-28. Senast ändrad 2012-04-16.
CPL Pubid: 156270

 

Läs direkt!


Länk till annan sajt (kan kräva inloggning)


Institutioner (Chalmers)

Institutionen för data- och informationsteknik, Programvaruteknik (Chalmers)

Ämnesområden

Informations- och kommunikationsteknik
Programvaruteknik

Chalmers infrastruktur

Relaterade publikationer

Denna publikation ingår i:


Embedded Languages for Data-Parallel Programming