El grup STAR del BSC actualitza la seva distribució de programari per desenvolupar i executar aplicacions paral·leles en sistemes d’alt rendiment

19 Novembre 2024

El grup STAR se centra en la recerca que abasta múltiples capes de programari, des de sistemes operatius, runtimes i APIs de baix nivell fins a models de programació, eines i aplicacions

El grup System Tools and Advanced Runtimes (STAR) del Barcelona Supercomputing Center–Centro Nacional de Supercomputación (BSC-CNS) es complau a anunciar el llançament de la versió 2024.11 de la distribució de programari STAR, que presenta diverses actualitzacions i millores.

La nova versió del model de programació OmpSs-2 introdueix suport per a corutines de C++20 a través del compilador LLVM Clang, el runtime NODES i la biblioteca de tasques nOS-V. Aquest avanç permet la suspensió eficient de tasques, millorant enormement el rendiment i la flexibilitat en aplicacions de computació paral·lela. A més, estem llançant una biblioteca TAMPI redissenyada, altament optimitzada per a escenaris intensius en paral·lelisme i comunicació.

Actualitzacions clau en la versió 2024.11

nOS-V:

API de suspensió de tasques: Introdueix una nova API que permet el suport de corutines i construccions similars.

Suport per a RISC-V: Afegeix suport nadiu per a l’arquitectura RISC-V.

API de topologia: Permet la configuració de la topologia del sistema a través del fitxer nosv.toml.

Variables de condició: Introdueix suport per a variables de condició com a substitució de les variables de condició pthread.

Suport per al model de descomposició: Implementa suport a través de ovniemu -b.

Mode turbo: Habilita el mode turbo per defecte i afegeix comprovacions de correcció per a les banderes FPU.

 

NODES:

Suport de corutines: Afegeix suport per suspendre i reprendre tasques a través d’una nova API de runtime.

 

LLVM/Clang:

Suport de corutines: Afegeix suport per a trucades a corutines de C++20 dins de tasques delineades.

 

LLVM/OpenMP (libompv):

Mode de compatibilitat: Suporta codi generat pels compiladors LLVM/Intel establint OMP_ENABLE_COMPAT=1.

Millores generals: Diverses correccions d’errors i millores de rendiment.

 

Ovni:

Model de descomposició per a nOS-V: Afegeix suport detallat per a l’anàlisi de rendiment.

Nova API de marca: Introdueix ovni_mark_*() per emetre esdeveniments definits per l’usuari.

Gestió de metadades de flux: Implementa l’API ovni_attr_*() per a un millor control.

Actualització del format de traçes: Actualitza el format de traçes a la versió 3 per suportar fluxos independents.

 

Biblioteques conscients de tasques:

Nou disseny de TAMPI: La darrera biblioteca de MPI conscient de tasques (TAMPI) millora significativament el rendiment en escenaris de comunicació altament paral·lels. El nou disseny, basat en esquemes de bloqueig avançats, pot aprofitar múltiples contextos de comunicació, superant dràsticament la biblioteca TAMPI original.

Per a més informació i accés als repositoris, si us plau visiteu: https://github.com/bsc-pm/ompss-2-releases