rogerioag / openmp-hook

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

openmp-hook

Este projeto faz parte da tese de doutorado A Runtime for Code Offloading on Modern Heterogeneous Platforms. Descrevemos um runtime relacionado com paralelização automática e offloading de código baseado em versões de código para laços paralelos. A ideia é que o código de entrada seja um código OpenMP que pode ser gerado por um compilador ou que possa ser escrito manualmente.

O código de entrada é preparado com funções alternativas contendo versões de código do laço paralelo para cada um dos dispositivos aceleradores. As bibliotecas do runtime implementado neste projeto interceptam algumas chamadas que as aplicações fazem ao runtime do OpenMP usando uma técnica de hooking. A decisão sobre o offloading de código é tomada automaticamente em tempo de execução usando a intensidade operacional que é obtida aplicando-se conceitos do Modelo Roofline. Estamos considerando medidas em todos os níveis da hierarquia de memória e as transferências de dados entre o host e os dispositivos aceleradores.

Neste projeto estão as implementações das bibliotecas da prova de conceito.

About


Languages

Language:Turing 91.5%Language:C 2.8%Language:R 1.6%Language:Cuda 0.9%Language:Shell 0.8%Language:xBase 0.5%Language:Fortran 0.4%Language:PowerBuilder 0.4%Language:eC 0.4%Language:LLVM 0.2%Language:Assembly 0.1%Language:C++ 0.1%Language:Makefile 0.1%Language:Python 0.1%Language:HTML 0.1%