ACCL é um kernel Vitis e drivers XRT associados que juntos fornecem coletivos semelhantes a MPI para FPGAs Xilinx. O ACCL foi projetado para permitir que kernels de computação residentes na estrutura do FPGA se comuniquem diretamente sob supervisão do host, mas sem exigir movimentação de dados entre o FPGA e o host. Em vez disso, o ACCL usa pilhas TCP e UDP compatíveis com Vitis para conectar FPGAs diretamente pela Ethernet a até 100 Gbps em placas Alveo.
ACCL atualmente oferece suporte a Send/Recv e aos seguintes coletivos:
Consulte INSTALL.md para aprender como criar designs habilitados para ACCL e interagir com eles a partir de C++. Para usar ACCL do Python, consulte PyACCL.
Se você usa nosso trabalho ou gostaria de citá-lo por conta própria, use a seguinte citação:
@INPROCEEDINGS{9651265,
author={He, Zhenhao and Parravicini, Daniele and Petrica, Lucian and O’Brien, Kenneth and Alonso, Gustavo and Blott, Michaela},
booktitle={2021 IEEE/ACM International Workshop on Heterogeneous High-performance Reconfigurable Computing (H2RC)},
title={ACCL: FPGA-Accelerated Collectives over 100 Gbps TCP-IP},
year={2021},
pages={33-43},
doi={10.1109/H2RC54759.2021.00009}}