In a nutshell, OCCA (like oca-rina) is an open-source library which aims to
- Make it easy to program different types of devices (e.g. CPU, GPU, FPGA)
- Provide a unified API for interacting with backend device APIs (e.g. OpenMP, CUDA, OpenCL)
- Use just-in-time compilation to build backend kernels
- Provide a kernel language, a minor extension to C, to abstract programming for each backend
- Documentation
- Want to contribute? Checkout the 'beginner' issues
- 🌟 Who is using OCCA?
pip install occa
Try out local installation
git submodule update --init
pip install -e .
Between updates, run
# To avoid doing a `make clean` each time, use the `--no-clean` flag
python setup.py build_ext --no-clean --inplace
pytest tests
Test deployment before uploading package to pypi
python setup.py install sdist
pip install dist/occa-<version>.tar.gz
After testing, upload to pypi by running
twine upload dist/*