All Projects → IntelPython → dpnp

IntelPython / dpnp

Licence: BSD-2-Clause license
NumPy drop-in replacement for Intel(R) XPUs

Programming Languages

C++
36643 projects - #6 most used programming language
python
139335 projects - #7 most used programming language
cython
566 projects

Projects that are alternatives of or similar to dpnp

Bohrium
Automatic parallelization of Python/NumPy, C, and C++ codes on Linux and MacOSX
Stars: ✭ 209 (+397.62%)
Mutual labels:  numpy, gpu-acceleration
sparse dot
Python wrapper for Intel Math Kernel Library (MKL) matrix multiplication
Stars: ✭ 38 (-9.52%)
Mutual labels:  numpy, mkl
Onednn
oneAPI Deep Neural Network Library (oneDNN)
Stars: ✭ 2,600 (+6090.48%)
Mutual labels:  oneapi, dpcpp
scikit-learn-intelex
Intel(R) Extension for Scikit-learn is a seamless way to speed up your Scikit-learn application
Stars: ✭ 887 (+2011.9%)
Mutual labels:  intel, oneapi
python-awips
A framework for querying AWIPS meteorological datasets from an EDEX Data Server.
Stars: ✭ 31 (-26.19%)
Mutual labels:  numpy
PuzzleLib
Deep Learning framework with NVIDIA & AMD support
Stars: ✭ 52 (+23.81%)
Mutual labels:  numpy
darknet
Darknet on OpenCL Convolutional Neural Networks on OpenCL on Intel & NVidia & AMD & Mali GPUs for macOS & GNU/Linux
Stars: ✭ 160 (+280.95%)
Mutual labels:  intel
primitiv-python
Python binding of primitiv.
Stars: ✭ 17 (-59.52%)
Mutual labels:  numpy
CS231n
PyTorch/Tensorflow solutions for Stanford's CS231n: "CNNs for Visual Recognition"
Stars: ✭ 47 (+11.9%)
Mutual labels:  numpy
spyndex
Awesome Spectral Indices in Python.
Stars: ✭ 56 (+33.33%)
Mutual labels:  numpy
valinvest
A value investing tool based on Warren Buffett, Joseph Piotroski and Benjamin Graham thoughts
Stars: ✭ 84 (+100%)
Mutual labels:  numpy
linux-intel-undervolt-tool
Scripts for undervolting 6+th gen Intel i* CPUs and their internal GPU.
Stars: ✭ 53 (+26.19%)
Mutual labels:  intel
gpufetch
Simple yet fancy GPU architecture fetching tool
Stars: ✭ 66 (+57.14%)
Mutual labels:  intel
GStreamer-Python
Fetch RTSP Stream using GStreamer in Python and get image in Numpy
Stars: ✭ 81 (+92.86%)
Mutual labels:  numpy
Deep-Learning-with-PyTorch-A-60-Minute-Blitz-cn
PyTorch1.0 深度学习:60分钟入门与实战(Deep Learning with PyTorch: A 60 Minute Blitz 中文翻译与学习)
Stars: ✭ 127 (+202.38%)
Mutual labels:  numpy
concrete-numpy
Concrete Numpy is a python package that contains the tools data scientists need to compile various numpy functions into their Fully Homomorphic Encryption (FHE) equivalents. Concrete Numpy goes on top of the Concrete Library and its Compiler.
Stars: ✭ 111 (+164.29%)
Mutual labels:  numpy
object-detection-with-deep-learning
demonstrating use of convolution neural networks to detect objects in a video
Stars: ✭ 17 (-59.52%)
Mutual labels:  numpy
Dimensionality-reduction-and-classification-on-Hyperspectral-Images-Using-Python
In this repository, You can find the files which implement dimensionality reduction on the hyperspectral image(Indian Pines) with classification.
Stars: ✭ 63 (+50%)
Mutual labels:  numpy
ormsgpack
Msgpack serialization/deserialization library for Python, written in Rust using PyO3 and rust-msgpack. Reboot of orjson. msgpack.org[Python]
Stars: ✭ 88 (+109.52%)
Mutual labels:  numpy
wavebin
∿ Oscilloscope waveform capture viewer and converter.
Stars: ✭ 31 (-26.19%)
Mutual labels:  numpy

Build Status codecov Build Sphinx

DPNP: NumPy Drop-In Replacement for Intel(R) XPU

API coverage summary

Full documentation

DPNP C++ backend documentation

The project contains:

  • Python interface with NumPy-like API
  • C++ library with SYCL based kernels

How to run

By default main CPU SYCL queue is used. To use Intel GPU please use:

DPNP_QUEUE_GPU=1 python examples/example1.py

Build from source:

git clone https://github.com/IntelPython/dpnp
cd dpnp
./0.build.sh

Install Wheel Package from Pypi

Install DPNP

python -m pip install --index-url https://pypi.anaconda.org/intel/simple --extra-index-url https://pypi.org/simple dpnp

Note: DPNP wheel package is placed on Pypi, but some of its dependencies (like Intel numpy) are in Anaconda Cloud. That is why install command requires additional intel Pypi channel from Anaconda Cloud.

Set path to Performance Libraries in case of using venv or system Python:

export LD_LIBRARY_PATH=<path_to_your_env>/lib

It is also required to set following environment variables:

export OCL_ICD_FILENAMES_RESET=1
export OCL_ICD_FILENAMES=libintelocl.so

Run test

. ./0.env.sh
pytest
# or
pytest tests/test_matmul.py -s -v
# or
python -m unittest tests/test_mixins.py

Run numpy external test

. ./0.env.sh
python -m tests.third_party.numpy_ext
# or
python -m tests.third_party.numpy_ext core/tests/test_umath.py
# or
python -m tests.third_party.numpy_ext core/tests/test_umath.py::TestHypot::test_simple

Building documentation:

Prerequisites:
$ conda install sphinx sphinx_rtd_theme
Building:
1. Install dpnp into your python environment
2. $ cd doc && make html
3. The documentation will be in doc/_build/html

Packaging:

. ./0.env.sh
conda-build conda-recipe/

Run benchmark:

cd benchmarks/

asv run --python=python --bench <filename without .py>
# example:
asv run --python=python --bench bench_elementwise

# or

asv run --python=python --bench <class>.<bench>
# example:
asv run --python=python --bench Elementwise.time_square

# add --quick option to run every case once but looks like first execution has additional overheads and takes a lot of time (need to be investigated)

Tests matrix:

# Name OS distributive interpreter python used from SYCL queue manager build commands set forced environment
1 Ubuntu 20.04 Python37 Linux Ubuntu 20.04 Python 3.7 IntelOneAPI local export DPNP_DEBUG=1 python setup.py clean python setup.py build_clib python setup.py build_ext --inplace pytest cmake-3.19.2, valgrind, pytest-valgrind, conda-build, pytest, hypothesis
2 Ubuntu 20.04 Python38 Linux Ubuntu 20.04 Python 3.8 IntelOneAPI local export DPNP_DEBUG=1 python setup.py clean python setup.py build_clib python setup.py build_ext --inplace pytest cmake-3.19.2, valgrind, pytest-valgrind, conda-build, pytest, hypothesis
3 Ubuntu 20.04 Python39 Linux Ubuntu 20.04 Python 3.9 IntelOneAPI local export DPNP_DEBUG=1 python setup.py clean python setup.py build_clib python setup.py build_ext --inplace pytest cmake-3.19.2, valgrind, pytest-valgrind, conda-build, pytest, hypothesis
4 Ubuntu 20.04 External Tests Python37 Linux Ubuntu 20.04 Python 3.7 IntelOneAPI local export DPNP_DEBUG=1 python setup.py clean python setup.py build_clib python setup.py build_ext --inplace python -m tests_external.numpy.runtests cmake-3.19.2, valgrind, pytest-valgrind, conda-build, pytest, hypothesis
5 Ubuntu 20.04 External Tests Python38 Linux Ubuntu 20.04 Python 3.8 IntelOneAPI local export DPNP_DEBUG=1 python setup.py clean python setup.py build_clib python setup.py build_ext --inplace python -m tests_external.numpy.runtests cmake-3.19.2, valgrind, pytest-valgrind, conda-build, pytest, hypothesis
6 Ubuntu 20.04 External Tests Python39 Linux Ubuntu 20.04 Python 3.9 IntelOneAPI local export DPNP_DEBUG=1 python setup.py clean python setup.py build_clib python setup.py build_ext --inplace python -m tests_external.numpy.runtests cmake-3.19.2, valgrind, pytest-valgrind, conda-build, pytest, hypothesis
7 Code style Linux Ubuntu 20.04 Python 3.8 IntelOneAPI local python ./setup.py style cmake-3.19.2, valgrind, pytest-valgrind, conda-build, pytest, hypothesis, conda-verify, pycodestyle, autopep8, black
8 Valgrind Linux Ubuntu 20.04 IntelOneAPI local export DPNP_DEBUG=1 python setup.py clean python setup.py build_clib python setup.py build_ext --inplace cmake-3.19.2, valgrind, pytest-valgrind, conda-build, pytest, hypothesis
9 Code coverage Linux Ubuntu 20.04 Python 3.8 IntelOneAPI local export DPNP_DEBUG=1 python setup.py clean python setup.py build_clib python setup.py build_ext --inplace cmake-3.19.2, valgrind, pytest-valgrind, conda-build, pytest, hypothesis, conda-verify, pycodestyle, autopep8, pytest-cov
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].