SPOC: GPGPU PROGRAMMING THROUGH STREAM PROCESSING WITH OCAML - Archive ouverte HAL Accéder directement au contenu
Article Dans Une Revue Parallel Processing Letters Année : 2012

SPOC: GPGPU PROGRAMMING THROUGH STREAM PROCESSING WITH OCAML

Résumé

General purpose computing on graphics processing units (GPGPU) consists of using GPUs to handle computations commonly handled by CPUs. GPGPU programming implies developing specific programs to run on GPUs managed by a host program running on the CPU. To achieve high performance implies to explicitly organize memory transfers between devices. Besides, different incompatible frameworks exist making productivity and portability difficult to achieve. In this paper, we describe SPOC, an OCaml library, defining specific data sets in order to automatically manage transfers between GPU and CPU. SPOC also offers a runtime library looking for multiple frameworks and making them usable transparently. We also describe the link between SPOC and the OCaml garbage collector to optimize transfers dynamically. SPOC benchmarks show that SPOC can offer great performance while simplifying GPGPU programming.
Fichier principal
Vignette du fichier
S0129626412400075.pdf (767.56 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

hal-00697257 , version 1 (15-05-2012)

Identifiants

Citer

Mathias Bourgoin, Emmanuel Chailloux, Jean-Luc Lamotte. SPOC: GPGPU PROGRAMMING THROUGH STREAM PROCESSING WITH OCAML. Parallel Processing Letters, 2012, 22 (2), pp.1240007. ⟨10.1142/S0129626412400075⟩. ⟨hal-00697257⟩
219 Consultations
715 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More