跳至主要内容

Numba的扩展,用于添加数据并行卸载功能

项目描述

Code style: black Coverage Status pre-commit Join the chat at https://matrix.to/#/#Data-Parallel-Python_community:gitter.im Coverity Scan Build Status OpenSSF Scorecard oneAPI logo



数据并行扩展Numba*(numba-dpex)是Numba Python JIT编译器的一个开源独立扩展。Numba。Numba-dpex为Python内核编程提供类似SYCL*的API。SYCL*是由统一加速基金会开发的一个开放标准,作为一种与供应商无关的方式来编程不同类型的数据并行硬件,如多核CPU、GPU和FPGA。Numba-dpex的内核编程API将相同的编程模型和类似的API带到Python。该API允许在Python中表达可移植的数据并行内核,然后为不同的硬件目标进行JIT编译。支持使用SPIR-V中间表示格式进行JIT编译的硬件,包括OpenCL CPU(英特尔、AMD)设备、OpenCL GPU(英特尔集成和离散GPU)设备和oneAPI Level Zero GPU(英特尔集成和离散GPU)设备。

内核编程API尚未支持所有的SYCL*功能。请参阅SYCL*和numba-dpex功能比较页面以获取支持的特性概述。Numba-dpex仅实现SYCL*的内核编程API,所有SYCL运行时Python绑定都由dpctl包提供。

除了内核编程API之外,numba-dpex还将Numba的自动并行化扩展到prange循环和类似NumPy的向量表达式中,以提供设备卸载功能。卸载功能通过NumPy的替换库:dpnp来支持。请注意,dpnp和基于NumPy的表达式可以在同一函数中使用,其中dpnp表达式由numba-dpex卸载,而NumPy表达式由Numba并行化。

请参阅文档和示例以获取更多信息。

入门指南

Numba-dpex是Intel® Python(IDP)分发和Intel® oneAPI AIKit的一部分,可以与oneAPI一起安装。此外,我们还支持从Anaconda云安装它。有关详细信息,请参阅我们的文档页面

安装完包后,一个好的起点是运行numba_dpex/examples目录中的示例。也可以按以下方式调用测试套件

python -m pytest --pyargs numba_dpex.tests

Conda

要从Anaconda云上的Intel(R)频道安装numba_dpex,请使用以下命令

conda install numba-dpex -c intel -c conda-forge

Pip

可以使用pip安装numba_dpex,通过PyPi或Anaconda上的Intel(R)频道获取wheel包。要从Anaconda上的Intel(R)频道安装numba_dpex wheel包,请运行以下命令

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

贡献

请为功能请求和错误报告创建问题。您还可以使用GitHub讨论功能提出一般性问题。

如果您想与开发者交谈,请加入Gitter.im上的#Data-Parallel-Python_community房间。

也请参阅我们的CONTRIBUTING页面。

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

本发行版没有提供源代码分发文件。请参阅生成分发归档教程

构建的分发包

numba_dpex-0.23.0-5-cp311-cp311-win_amd64.whl (334.8 kB 查看哈希值)

上传时间 CPython 3.11 Windows x86-64

numba_dpex-0.23.0-5-cp311-cp311-manylinux_2_28_x86_64.whl (325.1 kB 查看哈希值)

上传时间 CPython 3.11 manylinux: glibc 2.28+ x86-64

numba_dpex-0.23.0-5-cp310-cp310-win_amd64.whl (334.8 kB 查看哈希值)

上传时间 CPython 3.10 Windows x86-64

numba_dpex-0.23.0-5-cp310-cp310-manylinux_2_28_x86_64.whl (325.1 kB 查看哈希值)

上传时间 CPython 3.10 manylinux: glibc 2.28+ x86-64

numba_dpex-0.23.0-5-cp39-cp39-win_amd64.whl (334.8 kB 查看哈希值)

上传时间 CPython 3.9 Windows x86-64

numba_dpex-0.23.0-5-cp39-cp39-manylinux_2_28_x86_64.whl (325.1 kB 查看哈希值)

上传时间 CPython 3.9 manylinux: glibc 2.28+ x86-64

由以下支持