Metalinguagem para computação de alto desempenho em arquiteturas híbridas (Metalanguage for high-performance computing on hybrid architectures)

André Leon Sampaio Gradvohl (gradvohl@ft.unicamp.br)


Universidade Estadual de Campinas
This paper appears in: Revista IEEE América Latina

Publication Date: Sept. 2014
Volume: 12,   Issue: 6 
ISSN: 1548-0992


Abstract:
In high-performance computing, hybrid systems are defined as architectures where shared and distributed memory systems coexist. To explore most of the potential of such systems, programmer usually need more than one programming model simultaneously. For distributed memory systems, the master/worker model with message exchange is commonly used. In that case, the MPI is the most used programming library. On the other hand, for shared memory systems, the fork/join model, as used by PThreads and OpenMP application programming interfaces, are de facto standards. In this paper, I propose a metalanguage to combine both programming models. The metalanguage has annotated statements to specify which parts of code runs in shared memory systems and which others runs in distributed memory systems. A metacompiler will translate the metalanguage and will generate a C code with OpenMP pragmas, PThreads and MPI function calls. As a result, I show that the programs written using metalanguage code are more clean and understandable. Therefore, it is easier to program high-performance computing programs with it.

Index Terms:
Parallel Programming, Programming languages, High performance computing, Hybrid computing   


Documents that cite this document
This function is not implemented yet.


[PDF Full-Text (222)]