Optimização e Geração de código OpenCL para computação embutida
Autor(a) principal: | |
---|---|
Data de Publicação: | 2014 |
Tipo de documento: | Dissertação |
Idioma: | por |
Título da fonte: | Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
Texto Completo: | https://hdl.handle.net/10216/75062 |
Resumo: | High-performance computing is increasingly multi-core. As such, sequencial computations must be replaced by their parallel counterparts for the hardware potential to be achieved. Programmers typically develop and validate sequential applications using high-level languages such as MATLAB and later manually migrate to lower-level parallel languages such as CUDA and OpenCL. This process is time consuming and error prone, so automatic source-to-source approaches are highly desirable, even when there is a considerable slow-down compared to the manual porting process. We present a tool capable of processing MATLAB and output the equivalent OpenCL and C wrapper code, based on an existing framework called MATISSE, which is already capable of generating C code from MATLAB source code. OpenCL generation is not entirely automated since it relies on the manual insertion of directives to guide the compilation. Future work could reduce this effort, since some directives are redundant and could be inferred by the compiler and others could be automatically injected into the code by Aspect-Oriented languages and tools. |
id |
RCAP_5643b867638b430323efd56e524de791 |
---|---|
oai_identifier_str |
oai:repositorio-aberto.up.pt:10216/75062 |
network_acronym_str |
RCAP |
network_name_str |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
repository_id_str |
7160 |
spelling |
Optimização e Geração de código OpenCL para computação embutidaEngenharia electrotécnica, electrónica e informáticaElectrical engineering, Electronic engineering, Information engineeringHigh-performance computing is increasingly multi-core. As such, sequencial computations must be replaced by their parallel counterparts for the hardware potential to be achieved. Programmers typically develop and validate sequential applications using high-level languages such as MATLAB and later manually migrate to lower-level parallel languages such as CUDA and OpenCL. This process is time consuming and error prone, so automatic source-to-source approaches are highly desirable, even when there is a considerable slow-down compared to the manual porting process. We present a tool capable of processing MATLAB and output the equivalent OpenCL and C wrapper code, based on an existing framework called MATISSE, which is already capable of generating C code from MATLAB source code. OpenCL generation is not entirely automated since it relies on the manual insertion of directives to guide the compilation. Future work could reduce this effort, since some directives are redundant and could be inferred by the compiler and others could be automatically injected into the code by Aspect-Oriented languages and tools.2014-07-172014-07-17T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttps://hdl.handle.net/10216/75062TID:201311119porLuis Alexandre Cubal dos Reisinfo:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2023-11-29T15:09:20Zoai:repositorio-aberto.up.pt:10216/75062Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-20T00:16:57.736928Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse |
dc.title.none.fl_str_mv |
Optimização e Geração de código OpenCL para computação embutida |
title |
Optimização e Geração de código OpenCL para computação embutida |
spellingShingle |
Optimização e Geração de código OpenCL para computação embutida Luis Alexandre Cubal dos Reis Engenharia electrotécnica, electrónica e informática Electrical engineering, Electronic engineering, Information engineering |
title_short |
Optimização e Geração de código OpenCL para computação embutida |
title_full |
Optimização e Geração de código OpenCL para computação embutida |
title_fullStr |
Optimização e Geração de código OpenCL para computação embutida |
title_full_unstemmed |
Optimização e Geração de código OpenCL para computação embutida |
title_sort |
Optimização e Geração de código OpenCL para computação embutida |
author |
Luis Alexandre Cubal dos Reis |
author_facet |
Luis Alexandre Cubal dos Reis |
author_role |
author |
dc.contributor.author.fl_str_mv |
Luis Alexandre Cubal dos Reis |
dc.subject.por.fl_str_mv |
Engenharia electrotécnica, electrónica e informática Electrical engineering, Electronic engineering, Information engineering |
topic |
Engenharia electrotécnica, electrónica e informática Electrical engineering, Electronic engineering, Information engineering |
description |
High-performance computing is increasingly multi-core. As such, sequencial computations must be replaced by their parallel counterparts for the hardware potential to be achieved. Programmers typically develop and validate sequential applications using high-level languages such as MATLAB and later manually migrate to lower-level parallel languages such as CUDA and OpenCL. This process is time consuming and error prone, so automatic source-to-source approaches are highly desirable, even when there is a considerable slow-down compared to the manual porting process. We present a tool capable of processing MATLAB and output the equivalent OpenCL and C wrapper code, based on an existing framework called MATISSE, which is already capable of generating C code from MATLAB source code. OpenCL generation is not entirely automated since it relies on the manual insertion of directives to guide the compilation. Future work could reduce this effort, since some directives are redundant and could be inferred by the compiler and others could be automatically injected into the code by Aspect-Oriented languages and tools. |
publishDate |
2014 |
dc.date.none.fl_str_mv |
2014-07-17 2014-07-17T00:00:00Z |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
format |
masterThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
https://hdl.handle.net/10216/75062 TID:201311119 |
url |
https://hdl.handle.net/10216/75062 |
identifier_str_mv |
TID:201311119 |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf |
dc.source.none.fl_str_mv |
reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação instacron:RCAAP |
instname_str |
Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação |
instacron_str |
RCAAP |
institution |
RCAAP |
reponame_str |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
collection |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
repository.name.fl_str_mv |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação |
repository.mail.fl_str_mv |
|
_version_ |
1799136089807519745 |