Afficher la notice abrégée

hal.structure.identifierEfficient runtime systems for parallel architectures [RUNTIME]
dc.contributor.authorCOURTÈS, Ludovic
dc.date.accessioned2024-04-15T09:43:29Z
dc.date.available2024-04-15T09:43:29Z
dc.date.issued2013-04-05
dc.identifier.urihttps://oskar-bordeaux.fr/handle/20.500.12278/197769
dc.description.abstractLes plateformes modernes utilisées en calcul intensif (HPC) incluent des machines comprenant à la fois des unités de traitement généralistes (CPU) et des "accélérateurs", souvent sous la forme d'unités de traitement "graphiques" (GPU). StarPU est une bibliothèque C pour programmer sur ces plateformes. Elle fournit aux utilisateurs des moyens de définir des "tâches" pouvant s'exécuter aussi bien sur CPU que sur GPU, ainsi que les dépendances entre ces tâches, et s'occupe de les ordonnancer sur "toutes" les unités de traitement disponibles. Ce faisant, StarPU abstrait le programmeur des détails techniques sous-jacents: StarPU s'adapte aux unités de traitement disponibles et se charge de transférer les données entre elles quand cela est nécessaire. StarPU traite efficacement des problèmes d'ordonnacement, mais l'interface en langage C qu'elle propose est pauvre et facilite les erreurs de programmation. Cet article présente des travaux démarrés en 2011 pour promouvoir certains concepts exposés par la bibliothèque StarPU sous forme d'extensions du langage C, par le biais d'une extensions de la suite de compilateurs GCC. Notre principale contribution est la conception et la mise en œuvre d'extensions du langage C correspondant au paradigme de programmation par tâches de StarPU. Nous montrons que les extensions proposées facilitent la programmation avec StarPU, éliminent des erreurs de programmation pouvant intervenir lorsque la bibliothèque C est utilisée et aident le diagnostique de possibles erreurs. Nous concluons sur les travaux à venir.
dc.description.abstractEnModern platforms used for high-performance computing (HPC) include machines with both general-purpose CPUs, and "accelerators", often in the form of graphical processing units (GPUs). StarPU is a C library to exploit such platforms. It provides users with ways to define "tasks" to be executed on CPUs or GPUs, along with the dependencies among them, and by automatically scheduling them over all the available processing units. In doing so, it also relieves programmers from the need to know the underlying architecture details: it adapts to the available CPUs and GPUs, and automatically transfers data between main memory and GPUs as needed. While StarPU's approach is successful at addressing run-time scheduling issues, being a C library makes for a poor and error-prone programming interface. This paper presents an effort started in 2011 to promote some of the concepts exported by the library as C language constructs, by means of an extension of the GCC compiler suite. Our main contribution is the design and implementation of language extensions that map to StarPU's task programming paradigm. We argue that the proposed extensions make it easier to get started with StarPU,eliminate errors that can occur when using the C library, and help diagnose possible mistakes. We conclude on future work.
dc.language.isoen
dc.title.enC Language Extensions for Hybrid CPU/GPU Programming with StarPU
dc.typeRapport
dc.subject.halInformatique [cs]/Calcul parallèle, distribué et partagé [cs.DC]
dc.identifier.arxiv1304.0878
bordeaux.page25
bordeaux.hal.laboratoriesLaboratoire Bordelais de Recherche en Informatique (LaBRI) - UMR 5800*
bordeaux.institutionUniversité de Bordeaux
bordeaux.institutionBordeaux INP
bordeaux.institutionCNRS
bordeaux.type.institutionINRIA
bordeaux.type.reportrr
hal.identifierhal-00807033
hal.version1
hal.audienceNon spécifiée
dc.subject.itparallel programming
dc.subject.itGPU
dc.subject.itscheduling
dc.subject.itprogramming language support
hal.origin.linkhttps://hal.archives-ouvertes.fr//hal-00807033v1
bordeaux.COinSctx_ver=Z39.88-2004&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.date=2013-04-05&rft.spage=25&rft.epage=25&rft.au=COURT%C3%88S,%20Ludovic&rft.genre=unknown


Fichier(s) constituant ce document

FichiersTailleFormatVue

Il n'y a pas de fichiers associés à ce document.

Ce document figure dans la(les) collection(s) suivante(s)

Afficher la notice abrégée