Utilize este identificador para referenciar este registo: https://hdl.handle.net/10216/75062
Registo completo
Campo DCValorIdioma
dc.creatorLuis Alexandre Cubal dos Reis
dc.date.accessioned2025-11-13T16:27:27Z-
dc.date.available2025-11-13T16:27:27Z-
dc.date.issued2014-07-17
dc.date.submitted2014-08-06
dc.identifier.othersigarra:31640
dc.identifier.urihttps://hdl.handle.net/10216/75062-
dc.descriptionComputação de alto desempenho é cada vez mais multi-núcleo. Como tal, computações sequenciais têm de ser substituidas pelo equivalente paralelo para que o potencial do hardware seja atingido. Os programadores tipicamente desenvolvem e validam aplicações sequenciais em linguagens de alto nível, como o MATLAB, que posteriormente traduzem para linguagens paralelas de baixo nível, como o CUDA e o OpenCL. Este processo requer tempo e esforço e há o risco de introduzir erros, pelo que abordagens automáticas são altamente desejáveis, mesmo que estejam associadas a perdas significativas de desempenho comparativamente ao processo de tradução manual. Apresentamos uma ferramenta capaz de processar MATLAB e gerar o código OpenCL e C equivalente, baseada num projeto já existente chamado MATISSE que já é capaz de gerar código C sequencial a partir de código-fonte MATLAB. A geração de OpenCL não é totalmente automatizada visto que é baseada em diretivas, que são manualmente inseridas pelo programador, para guiar a compilação. Trabalhos futuros podem reduzir este esforço, visto que algumas diretivas são redundantes e poderiam ser inferidas pelo compilador e outras poderiam ser injetadas automaticamente no código usando linguagens e ferramentas orientadas a aspetos.
dc.description.abstractHigh-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.
dc.language.isopor
dc.rightsopenAccess
dc.rights.urihttps://creativecommons.org/licenses/by-nc/4.0/
dc.subjectEngenharia electrotécnica, electrónica e informática
dc.subjectElectrical engineering, Electronic engineering, Information engineering
dc.titleOptimização e Geração de código OpenCL para computação embutida
dc.typeDissertação
dc.contributor.uportoFaculdade de Engenharia
dc.identifier.doi10.34626/8y9r-rs33
dc.identifier.tid201311119
dc.subject.fosCiências da engenharia e tecnologias::Engenharia electrotécnica, electrónica e informática
dc.subject.fosEngineering and technology::Electrical engineering, Electronic engineering, Information engineering
thesis.degree.disciplineMestrado Integrado em Engenharia Informática e Computação
thesis.degree.grantorFaculdade de Engenharia
thesis.degree.grantorUniversidade do Porto
thesis.degree.level1
Aparece nas coleções:FEUP - Dissertação

Ficheiros deste registo:
Ficheiro Descrição TamanhoFormato 
31640.pdfOptimização e Geração de código OpenCL para computação embutida1.08 MBAdobe PDFThumbnail
Ver/Abrir


Este registo está protegido por Licença Creative Commons Creative Commons