https://github.com/xilinx/accl
Alveo Collective Communication Library: MPI-like communication operations for Xilinx Alveo accelerators
https://github.com/xilinx/accl
fpga hpc mpi
Last synced: 3 months ago
JSON representation
Alveo Collective Communication Library: MPI-like communication operations for Xilinx Alveo accelerators
- Host: GitHub
- URL: https://github.com/xilinx/accl
- Owner: Xilinx
- License: apache-2.0
- Created: 2021-07-15T14:15:56.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2025-03-25T21:53:24.000Z (10 months ago)
- Last Synced: 2025-06-12T15:54:42.135Z (7 months ago)
- Topics: fpga, hpc, mpi
- Language: C++
- Homepage: https://accl.readthedocs.io/
- Size: 5.82 MB
- Stars: 95
- Watchers: 10
- Forks: 28
- Open Issues: 24
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# ACCL: Alveo Collective Communication Library
[](https://accl.readthedocs.io/en/latest/?badge=latest)

ACCL is a Vitis kernel and associated XRT drivers which together provide MPI-like collectives for Xilinx FPGAs. ACCL is designed to enable compute kernels resident in FPGA fabric to communicate directly under host supervision but without requiring data movement between the FPGA and host. Instead, ACCL uses Vitis-compatible TCP and UDP stacks to connect FPGAs directly over Ethernet at up to 100 Gbps on Alveo cards.
ACCL currently supports Send/Recv and the following collectives:
* Broadcast
* Scatter
* Gather
* All-gather
* Reduce
* All-reduce
* Reduce-Scatter
## Installation
See [INSTALL.md](INSTALL.md) to learn how to build ACCL-enabled designs and interact with them from C++.
To use ACCL from Python, refer to [PyACCL](https://github.com/Xilinx/pyaccl).
## Citation
If you use our work or would like to cite it in your own, please cite one of our papers:
```
@INPROCEEDINGS{298689,
author = {Zhenhao He and Dario Korolija and Yu Zhu and Benjamin Ramhorst and Tristan Laan and Lucian Petrica and Michaela Blott and Gustavo Alonso},
title = {{ACCL+}: an {FPGA-Based} Collective Engine for Distributed Applications},
booktitle = {18th USENIX Symposium on Operating Systems Design and Implementation (OSDI 24)},
year = {2024},
isbn = {978-1-939133-40-3},
address = {Santa Clara, CA},
pages = {211--231},
url = {https://www.usenix.org/conference/osdi24/presentation/he},
publisher = {USENIX Association},
month = jul
}
```
```
@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}}
```