Skip to content

vlad-perevezentsev/numba-dppy

 
 

Repository files navigation

Code style: black

numba-dppy

Numba + dpPy + dpCtl + dpNP = numba-dppy

numba-dppy extends Numba with a new backend to support compilation for Intel CPU and GPU architectures.

For more information about Numba, see the Numba homepage: http://numba.pydata.org.

Note: numba-dppy requires patched version of Numba. See https://github.com/IntelPython/numba.

For more information about dpCtl, see the dpCtl homepage: https://intelpython.github.io/dpctl/

For more information about dpNP, see the dpNP homepage: https://intelpython.github.io/dpnp/

Dependencies

  • numba 0.52.* (IntelPython/numba)
  • dpCtl 0.6.*
  • dpNP >=0.5.1 (optional)
  • llvm-spirv (SPIRV generation from LLVM IR)
  • llvmdev (LLVM IR generation)
  • spirv-tools
  • scipy (for testing)

dpPy

dpPy is a proof-of-concept backend for NUMBA to support compilation for Intel CPU and GPU architectures. The present implementation of dpPy is based on OpenCL 2.1, but is likely to change in the future to rely on Sycl/DPC++ or Intel Level-0 driver API.

Installation

Use setup.py or conda (see conda-recipe).

Testing

See folder numba_dppy/tests.

Run tests:

python -m pytest --pyargs numba_dppy.tests

or

pytest

Examples

See folder numba_dppy/examples.

Run examples:

python numba_dppy/examples/sum.py

Debugging

Please follow instructions in the debugging.md

Reporting issues

Please use https://github.com/IntelPython/numba-dppy/issues to report issues and bugs.

Features

Read this guide for additional features INDEX.md

About

numba + dpPy + dpCtl + dpNP = numba-dppy

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 97.8%
  • C 2.0%
  • Other 0.2%