Mercurium

Mercurium és una infraestructura de compilació d'origen a font destinada a la creació ràpida de prototips. Els idiomes actuals compatibles són C99, C++11 i Fortran 95.

Institució:

Institution

Grup d´investigació:

.

Investigador/s:

Roger Ferrer Ibáñez, Sara Royuela Alcázar, Sergi Mateo Bellido, Diego Caballero De Gea

Mercurium

Web:

https://github.com/bsc-pm/mcxx

Descripció:

Mercurium és una infraestructura de compilació d'origen a font destinada a la creació ràpida de prototips. Els idiomes actuals compatibles són C99, C++11 i Fortran 95. Mercurium s'utilitza principalment juntament amb el temps d'execució Nanos++ per implementar projectes per a OmpS i OpenMP, però com que és bastant extensible s'ha utilitzat en altres projectes inclosos (però no limitant-se a) Cel·lular Superescalar, ACOTES, memòria transaccional de programari, vectorització i correcció.

Les infraestructures de compilació existents per a la producció solen ser massa grans per abordar-les en un entorn acadèmic on la mà d'obra i els recursos són limitats. Mercurium ha estat dissenyat amb l'objectiu de ser productiu en un context de prototipat ràpid de noves idees que requereixen anàlisis i transformacions del compilador.

L'arquitectura Mercurium proporciona una rica representació interna compartida per a C, C++ i Fortran i es pot ampliar mitjançant fases del compilador implementades com a connectors. Les transformacions de codi es poden implementar fàcilment mitjançant fragments de codi font que s'integren a la representació intermèdia del compilador. També hi ha disponible un mecanisme més tradicional de construcció manual de nodes per a transformacions més avançades.

Mercurium té incorporades diverses funcions d'una sola font destinades a la informàtica heterogènia: a partir d'un sol fitxer, el compilador pot generar diversos fitxers que es poden compilar amb un altre compilador de fons i, finalment, integrar-se en un únic executable. Aquest mecanisme disponible des de l'arquitectura Cell s'ha explotat també per a CUDA i altres clústers heterogenis de molts nuclis.

Problema:

N/A

Solució:

N/A

Àrees d'aplicació:

N/A

Novetat:

N/A

Protecció:

LGPL License (Version 3.0)

Mercat objectiu:

N/A

Keywords:

Models de programació

TRL: N/A

CRL: N/A

BRL: N/A

IPRL: N/A

TmRL: N/A

FRL: N/A

Més informació

Si vols saber més sobre aquest projecte no dubtis en contactar amb nosaltres

Contacta´ns