XILINX Open Hardware 2017 PhD Award a Del Sozzo, Rabozzi, Nanni
25 settembre 2017
Sommario
Il NECSTLab ha raggiunto un nuovo importante traguardo: lo scorso 31 agosto allo XILINX Open Hardware 2017, il progetto “bibbidi N-BObbiDY boo: Magic Acceleration of N-Body Simulation” di Emanuele Del Sozzo, Marco Rabozzi, Marco Nanni, è arrivato primo classificato nella categoria PhD Award.
Il progetto in breve: la simulazione N-Body è il processo che descrive l’evoluzione di un sistema di forze composto da N particelle. Si tratta di un processo molto importante in fisica poiché è in grado di descrivere il comportamento di un sistema di particelle in ambiti che spaziano dalla astrofisica alla dinamica molecolare. L’algoritmo più accurato per svolgere tale simulazione, denominato metodo All-Pairs, è particolarmente oneroso dal punto di vista computazionale ed implementazioni puramente software sono inefficienti sia da un punto di vista delle prestazioni che del consumo di potenza. Un’implementazione accelerata su hardware, come ad esempio su FPGA, favorisce entrambi questi aspetti andando a sfruttare una esecuzione parallela dell’algoritmo con un assorbimento di potenza relativamente contenuto. Inoltre, i benefici ottenuti su questo algoritmo si riflettono anche su metodi approssimati per la simulazione N-Body, poiché molti di questi algoritmi sfruttano un approccio che richiede l’utilizzo del metodo All-Pairs applicato su un sottoinsieme delle particelle del sistema. Questo lavoro propone un’architettura ad elevate prestazioni, altamente scalabile ed efficiente da un punto di vista energetico per la simulazione N-Body tramite il metodo All-Pairs. La nostra implementazione può scalare a sistemi con un numero arbitrario di particelle grazie ad un approccio basato sulla suddivisione in blocchi dei dati e della computazione (tiling) che consente di raggiungere prestazioni nell’ordine dei 4400 Mpairs/s fornendo una accelerazione di 24X (5.7X) rispetto ad una implementazione a singolo thread (multi thread) ottimizzata con opzione 03 su CPU. Inoltre, l’implementazione proposta ottiene il miglior rapporto prestazioni/potenza rispetto ad implementazioni su CPU e GPU disponibili nello stato dell’arte.
Il progetto in breve: la simulazione N-Body è il processo che descrive l’evoluzione di un sistema di forze composto da N particelle. Si tratta di un processo molto importante in fisica poiché è in grado di descrivere il comportamento di un sistema di particelle in ambiti che spaziano dalla astrofisica alla dinamica molecolare. L’algoritmo più accurato per svolgere tale simulazione, denominato metodo All-Pairs, è particolarmente oneroso dal punto di vista computazionale ed implementazioni puramente software sono inefficienti sia da un punto di vista delle prestazioni che del consumo di potenza. Un’implementazione accelerata su hardware, come ad esempio su FPGA, favorisce entrambi questi aspetti andando a sfruttare una esecuzione parallela dell’algoritmo con un assorbimento di potenza relativamente contenuto. Inoltre, i benefici ottenuti su questo algoritmo si riflettono anche su metodi approssimati per la simulazione N-Body, poiché molti di questi algoritmi sfruttano un approccio che richiede l’utilizzo del metodo All-Pairs applicato su un sottoinsieme delle particelle del sistema. Questo lavoro propone un’architettura ad elevate prestazioni, altamente scalabile ed efficiente da un punto di vista energetico per la simulazione N-Body tramite il metodo All-Pairs. La nostra implementazione può scalare a sistemi con un numero arbitrario di particelle grazie ad un approccio basato sulla suddivisione in blocchi dei dati e della computazione (tiling) che consente di raggiungere prestazioni nell’ordine dei 4400 Mpairs/s fornendo una accelerazione di 24X (5.7X) rispetto ad una implementazione a singolo thread (multi thread) ottimizzata con opzione 03 su CPU. Inoltre, l’implementazione proposta ottiene il miglior rapporto prestazioni/potenza rispetto ad implementazioni su CPU e GPU disponibili nello stato dell’arte.