All Projects → IntelPython → numba-dppy

IntelPython / numba-dppy

Licence: Apache-2.0 license
Numba extension for Intel(R) XPUs

Programming Languages

python
139335 projects - #7 most used programming language
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to numba-dppy

ESA
Easy SimAuto (ESA): An easy-to-use Power System Analysis Automation Environment atop PowerWorld Simulator Automation Server (SimAuto)
Stars: ✭ 26 (+0%)
Mutual labels:  numba
qgs
A 2-layer quasi-geostrophic atmospheric model in Python. Can be coupled to a simple land or shallow-water ocean component.
Stars: ✭ 24 (-7.69%)
Mutual labels:  numba
gpu mandelbrot
Interactive Mandelbrot set on GPU with Python
Stars: ✭ 33 (+26.92%)
Mutual labels:  numba
Stumpy
STUMPY is a powerful and scalable Python library for modern time series analysis
Stars: ✭ 2,019 (+7665.38%)
Mutual labels:  numba
scipy-crash-course
Material for a 24 hours course on Scientific Python
Stars: ✭ 98 (+276.92%)
Mutual labels:  numba
sycl
SYCL for Vitis: Experimental fusion of triSYCL with Intel SYCL oneAPI DPC++ up-streaming effort into Clang/LLVM
Stars: ✭ 80 (+207.69%)
Mutual labels:  sycl
numbsql
Run Numba compiled functions into SQLite
Stars: ✭ 34 (+30.77%)
Mutual labels:  numba
Batch-First
A JIT compiled chess engine which traverses the search tree in batches in a best-first manner, allowing for neural network batching, asynchronous GPU use, and vectorized CPU computations.
Stars: ✭ 27 (+3.85%)
Mutual labels:  numba
BenchmarksPythonJuliaAndCo
Benchmark(s) of numerical programs with Python (and Scipy, Pythran, Numba), Julia and C++.
Stars: ✭ 19 (-26.92%)
Mutual labels:  numba
PyBox
A box-model that automatically creates and solves equations used to describe the evolution in atmospheric composition using Python with Numba and, optionally, Fortran.
Stars: ✭ 30 (+15.38%)
Mutual labels:  numba
warp-drive
Extremely Fast End-to-End Deep Multi-Agent Reinforcement Learning Framework on a GPU (JMLR 2022)
Stars: ✭ 364 (+1300%)
Mutual labels:  numba
skan
Python module to analyse skeleton (thin object) images
Stars: ✭ 92 (+253.85%)
Mutual labels:  numba
QUB DW HighPerformancePython
Code and more for the QUB Development Weeks event 'High Performance Python'
Stars: ✭ 79 (+203.85%)
Mutual labels:  numba
RRMPG
Rainfall-Runoff modelling playground
Stars: ✭ 56 (+115.38%)
Mutual labels:  numba
Python-Complementary-Languages
Just a small test to see which language is better for extending python when using lists of lists
Stars: ✭ 32 (+23.08%)
Mutual labels:  numba
NumbaLSODA
Python wrapper of LSODA (solving ODEs) which can be called from within numba functions.
Stars: ✭ 30 (+15.38%)
Mutual labels:  numba
codex-africanus
Radio Astronomy Algorithms Library
Stars: ✭ 13 (-50%)
Mutual labels:  numba
glm
OpenGL Mathematics (GLM)
Stars: ✭ 6,667 (+25542.31%)
Mutual labels:  sycl
transonic
🚀 Make your Python code fly at transonic speeds!
Stars: ✭ 93 (+257.69%)
Mutual labels:  numba
dataiter
Python classes for data manipulation
Stars: ✭ 25 (-3.85%)
Mutual labels:  numba

Code style: black Coverage Status

oneAPI logo





What?

The data-parallel extension to Numba (Numba-dpex) adds data-parallel kernel programming and auto-offload capabilities to Numba. The extension uses the Intel® DPC++ runtime and supports various OpenCL and Level Zero devices. Refer the user guide for more details.

Installing

Numba-dpex is part of the Intel® Distribution of Python (IDP) and Intel® oneAPI BaseKit, and can be installed along with oneAPI. Additionally, we support installing it from Anaconda cloud and PyPi. Please refer the instructions on our documentation page for more details.

Getting started

A good starting point is to run the test suite that includes the unit tests inside the numba_dpex/tests module. To run the tests, invoke:

python -m pytest --pyargs numba_dpex.tests

or

pytest

Once you run the tests and make sure your numba-dpex installation is up and running, try out the examples inside the numba_dpex/examples folder. For example, you can try the vector addition example as follows:

python numba_dpex/examples/sum.py

Known Issue

Floor division operator // is not supported inside the numba_dpex.kernel kernel programming API. The below code snippet will result in error reported in this Issue.

import numpy as np, numba_dpex
@numba_dpex.kernel
def div_kernel(dst, src, m):
    i = numba_dpex.get_global_id(0)
    dst[i] = src[i] // m

import dpctl
with dpctl.device_context(dpctl.SyclQueue()):
    X = np.arange(10)
    Y = np.arange(10)
    div_kernel[10, numba_dpex.DEFAULT_LOCAL_SIZE](Y, X, 5)
    D = X//5
    print(Y, D)

To bypass this issue, the llvm-spirv tool from the dpcpp conda package needs to be used.

For linux: conda install dpcpp_linux-64 For Windows: conda install dpcpp_win-64

Learn more?

Detailed documentation including user guides are hosted on our documentation site.

Found a bug?

Please report issues and bugs directly on github.

Test Matrix:

# OS Distribution Python Architecture Test type IntelOneAPI Build Commands Dependencies Backend
1 Linux Ubuntu 20.04 3.7, 3.8 Gen9 Integrated CI 2021.3, 2021.4 (1) Numba, NumPy, dpnp OCL, L0-1.1
2 Linux Ubuntu 20.04 3.7, 3.8 Gen12 Discrete Manual 2021.3, 2021.4 (1) Numba, NumPy, dpnp OCL, L0-1.1
3 Linux Ubuntu 20.04 3.7, 3.8 i7-10710U CI 2021.3, 2021.4 (1) Numba, NumPy, dpnp OCL, L0-1.1
4 Windows 10 3.7, 3.8 Gen9 Integrated CI 2021.3, 2021.4 (1) Numba, NumPy OCL
5 Windows 10 3.7, 3.8 i7-10710 CI 2021.3, 2021.4 (1) Numba, NumPy OCL

(1): python setup.py install; pytest -q -ra --disable-warnings --pyargs numba_dpex -vv

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].