Nanos++ RTL

Nanos++ és un temps d'execució dissenyat per servir com a suport de temps d'execució en entorns paral·lels. S'utilitza principalment per donar suport a OmpS, una extensió d'OpenMP desenvolupada a BSC.

Institució:

Institution

Grup d´investigació:

.

Investigador/s:

Xavier Teruel

Nanos++ RTL

Web:

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

Descripció:

Nanos++ ofereix serveis per donar suport al paral·lelisme de tasques mitjançant sincronitzacions basades en dependències de dades. El paral·lelisme de dades també s'admet mitjançant serveis assignats a la part superior del seu suport de tasques. Les tasques s'implementen com a fils a nivell d'usuari quan és possible (actualment s'admeten x86, x86-64, ia64, ppc32 i ppc64).

Nanos++ també ofereix suport per mantenir la coherència entre diferents espais d'adreces (com ara amb GPU o nodes de clúster). Proporciona un directori de programari i mòduls de memòria cau amb aquesta finalitat.

L'objectiu principal de Nanos++ és utilitzar-lo en la recerca d'entorns de programació paral·lel. Com a tal, està dissenyat per ser extensible mitjançant complements. Actualment, es poden afegir connectors en temps d'execució (i seleccionar-los per a cada execució) per a:

Política de programació de tasques
Barrera de fil
Suport al dispositiu
Formats d'instrumentació
Enfocament de les dependències
Polítiques d'acceleració

Diversos d'aquests connectors ja estan disponibles a la distribució de la biblioteca: diferents polítiques de programació i limitació. En particular, suport del dispositiu per a tasques CUDA i execució en un entorn de clúster. El suport del clúster encara no és públic, però si esteu interessats podeu contactar amb nosaltres.

Nanos++ ve amb suport per a la instrumentació amb la biblioteca Extrae que permet obtenir traces per a l'anàlisi del rendiment amb l'eina de visualització Paraver. Amb el connector d'instrumentació també podeu crear el gràfic de dependència de la vostra aplicació. Aquest tipus d'eines us proporcionen informació valuosa per entendre millor les característiques de la vostra aplicació.

No està pensat que els programadors escriguin aplicacions que cridin directament a Nanos++, la manera preferida és utilitzar-la mitjançant un dels models de programació compatibles. Per fer-ho, probablement també haureu d'instal·lar el nostre compilador Mercurium.

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