2 Star 0 Fork 0

mirrors_IntelPython/numba-dppy

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
BSL-1.0

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



Data Parallel Extension for Numba* (numba-dpex) is an open-source standalone extension for the Numba Python JIT compiler. Numba-dpex provides a SYCL*-like API for kernel programming Python. SYCL* is an open standard developed by the Unified Acceleration Foundation as a vendor-agnostic way of programming different types of data-parallel hardware such as multi-core CPUs, GPUs, and FPGAs. Numba-dpex's kernel-programming API brings the same programming model and a similar API to Python. The API allows expressing portable data-parallel kernels in Python and then JIT compiling them for different hardware targets. JIT compilation is supported for hardware that use the SPIR-V intermediate representation format that includes OpenCL CPU (Intel, AMD) devices, OpenCL GPU (Intel integrated and discrete GPUs) devices, and oneAPI Level Zero GPU (Intel integrated and discrete GPUs) devices.

The kernel programming API does not yet support every SYCL* feature. Refer to the SYCL* and numba-dpex feature comparison page to get a summary of supported features. Numba-dpex only implements SYCL*'s kernel programming API, all SYCL runtime Python bindings are provided by the dpctl package.

Along with the kernel programming API, numba-dpex extends Numba's auto-parallelizer to bring device offload capabilities to prange loops and NumPy-like vector expressions. The offload functionality is supported via the NumPy drop-in replacement library: dpnp. Note that dpnp and NumPy-based expressions can be used together in the same function, with dpnp expressions getting offloaded by numba-dpex and NumPy expressions getting parallelized by Numba.

Refer the documentation and examples to learn more.

Getting Started

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

Once the package is installed, a good starting point is to run the examples in the numba_dpex/examples directory. The test suite may also be invoked as follows:

python -m pytest --pyargs numba_dpex.tests

Conda

To install numba_dpex from the Intel(R) channel on Anaconda cloud, use the following command:

conda install numba-dpex -c conda-forge

Pip

The numba_dpex can be installed using pip obtaining wheel packages either from PyPi.

python -m pip install numba-dpex

Contributing

Please create an issue for feature requests and bug reports. You can also use the GitHub Discussions feature for general questions.

If you want to chat with the developers, join the #Data-Parallel-Python_community room on Gitter.im.

Also refer our CONTRIBUTING page.

The numba-dpex source tree includes vendored libraries governed by the following licenses. boost hash.hpp header --------------------- Boost Software License - Version 1.0 - August 17th, 2003 Permission is hereby granted, free of charge, to any person or organization obtaining a copy of the software and accompanying documentation covered by this license (the "Software") to use, reproduce, display, distribute, execute, and transmit the Software, and to prepare derivative works of the Software, and to permit third-parties to whom the Software is furnished to do so, all subject to the following: The copyright notices in the Software and this entire statement, including the above license grant, this restriction and the following disclaimer, must be included in all copies of the Software, in whole or in part, and all derivative works of the Software, unless such copies or derivative works are solely in the form of machine-executable object code generated by a source language processor. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. numba ------------------------ Copyright (c) 2012, Anaconda, Inc. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

简介

暂无描述 展开 收起
README
BSL-1.0
取消

发行版

暂无发行版

近期动态

4年多前创建了仓库
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/mirrors_IntelPython/numba-dppy.git
git@gitee.com:mirrors_IntelPython/numba-dppy.git
mirrors_IntelPython
numba-dppy
numba-dppy
main

搜索帮助