cf4ocl: A C framework for OpenCL

dc.contributor.authorFachada, Nuno
dc.contributor.authorLopes, Vitor V.
dc.contributor.authorMartins, Rui C.
dc.contributor.authorRosa, Agostinho C.
dc.contributor.institutionEscola de Comunicação, Arquitetura, Artes e Tecnologias da Informação
dc.date.issued2017
dc.descriptionScience of Computer Programming
dc.description.abstractOpenCL is an open standard for parallel programming of heterogeneous compute devices, such as GPUs, CPUs, DSPs or FPGAs. However, the verbosity of its C host API can hinder application development. In this paper we present cf4ocl, a software library for rapid development of OpenCL programs in pure C. It aims to reduce the verbosity of the OpenCL API, offering straightforward memory management, integrated profiling of events (e.g., kernel execution and data transfers), simple but extensible device selection mechanism and user-friendly error management. We compare two versions of a conceptual application example, one based on cf4ocl, the other developed directly with the OpenCL host API. Results show that the former is simpler to implement and offers more features, at the cost of an effectively negligible computational overhead. Additionally, the tools provided with cf4ocl allowed for a quick analysis on how to optimize the application.en
dc.description.sponsorshipThis work was supported by the Fundação para a Ciência e a Tecnologia (FCT) projects UID/EEA/50009/2013 and UID/MAT/04561/2013, and partially funded with grant SFRH/BD/48310/2008, also from FCT.
dc.description.statusNon peer reviewed
dc.identifier.citationFachada , N , Lopes , V V , Martins , R C & Rosa , A C 2017 , ' cf4ocl: A C framework for OpenCL ' , Science of Computer Programming , vol. 143 , pp. 9 - 19 . https://doi.org/10.1016/j.scico.2017.03.005
dc.identifier.doihttps://doi.org/10.1016/j.scico.2017.03.005
dc.identifier.issn0167-6423
dc.identifier.urlhttps://www.scopus.com/record/display.uri?eid=2-s2.0-85018685843&origin=inward
dc.language.isoeng
dc.publisherElsevier
dc.relation.ispartofseriesvol.143, 9 - 19
dc.rightsopenAccess
dc.subjectINTERFACE DE PROGRAMA DE APLICAÇÃO
dc.subjectCOMPUTAÇÃO DE ALTO DESEMPENHO
dc.subjectUNIDADE DE PROCESSAMENTO GRÁFICO DE PROPÓSITO GERAL
dc.subjectLINGUAGEM C
dc.subjectOPENCL
dc.subjectC PROGRAMMING LANGUAGE
dc.subjectAPPLICATION PROGRAM INTERFACE
dc.subjectGENERAL PURPOSE GRAPHICS PROCESSING UNIT
dc.subjectHIGH-PERFORMANCE COMPUTING
dc.subjectOPENCL
dc.titlecf4ocl: A C framework for OpenCLen
dc.typearticle

Ficheiros

Principais
A mostrar 1 - 1 de 1
Miniatura indisponível
Nome:
2017_cf4ocl_arxiv.pdf
Tamanho:
865.99 KB
Formato:
Adobe Portable Document Format
Licença
A mostrar 1 - 1 de 1
Miniatura indisponível
Nome:
license.txt
Tamanho:
1.71 KB
Formato:
Item-specific license agreed upon to submission
Descrição: