CLUEstering: una libreria di clustering per il calcolo scientifico ad alte prestazioni
by
Sala Venturi
CNAF
CLUEstering è una libreria di clustering versatile basata su CLUE, un algoritmo di clustering density-based e pesato, ottimizzato per il calcolo ad alte prestazioni. La libreria presenta un'interfaccia basata sia su C++20 sia su Python, rendendola accessibile a sviluppatori e ricercatori in diversi campi scientifici.
Il design intrinsecamente parallelo dell'algoritmo permette di sfruttare al meglio i moderni acceleratori come GPU e, in prospettiva, FPGA, permettendo così di gestire grandi quantità di dati in maniera efficiente.
Per garantire la portabilità del codice su diverse architetture, il backend è implementato utilizzando alpaka, una libreria C++ di performance portability che consente di ottenere prestazioni quasi native su una vasta gamma di acceleratori con una minima duplicazione del codice.
La combinazione unica di clustering density-based e pesato rende CLUEstering un algoritmo distintivo rispetto ai metodi tradizionali, ideale per applicazioni scientifiche e ingegneristiche su larga scala.