Skip to main content

Python bindings for the Alveo Collectives Communication Library (ACCL)

Project description

ACCL Python Bindings

This package provides Python bindings for the Alveo Collective Communication Library (ACCL).

Installation

PyACCL is built and uploaded to PyPI with:

python3 setup.py sdist
python3 -m twine upload dist/*

Install it as follows:

From PyPI
python3 -m pip install pyaccl
Locally from source distribution
python3 -m pip install dist/*.tar.gz
Locally editable
python3 -m pip install -e .

Downloading Notebooks and Overlays

PyACCL provides a few Jupyter notebooks and associated FPGA overlays for Alveo boards. After installing the PyACCL package, you can download these with:

pynq get-notebooks --from-package pyaccl all

Pynq will automatically download the right overlay for the Alveo device(s) in your system. If you do not have an Alveo board, add --ignore-overlays to the above command. The notebooks and overlays will be downloaded to the folder where the command was executed, and a Jupyter notebook server can be started from there.

There are several notebooks available to get you started with PyACCL:

Running Tests

PyACCL includes tests for single ACCL instances and systems of ACCL instances. The tests are designed to run against ACCL emulator/simulator sessions as well as the single-FPGA ACCL test overlay, which connects 3 ACCL instances on a single Alveo board.

To run the tests, add the ACCL emulator executable cclo_emu to your path and start your emulator/simulator session:

pyaccl-emulate -n <NRANKS>

then run the following command from the pyaccl root folder:

mpirun -np <NRANKS> python3 -m pytest --with-mpi

If your system has an Alveo board and NRANKS is less or equal to 3, the test fixture will try and download the appropriate overlay for it, otherwise it will skip hardware testcases. Similarly, the test fixture will attempt to identify a valid emulator/simulator session with the appropriate number of ranks, then run testcases against it. If you omit --with-mpi, only single-instance tests will run, i.e. tests for copy() and combine() primitives.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyaccl-0.2.tar.gz (31.0 kB view details)

Uploaded Source

File details

Details for the file pyaccl-0.2.tar.gz.

File metadata

  • Download URL: pyaccl-0.2.tar.gz
  • Upload date:
  • Size: 31.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.8.10

File hashes

Hashes for pyaccl-0.2.tar.gz
Algorithm Hash digest
SHA256 2ce2af9c02999358f0137e623c7159147fd2d0244c5cd9f6577cc48a1f0c26af
MD5 7c608566f28c12dd1626a70fd4c314c0
BLAKE2b-256 43523970785c3d0f4479d552c5bdd54e2c6cb09578edbac195180247aa3c07b9

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page