-
Notifications
You must be signed in to change notification settings - Fork 32
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
100 changed files
with
5,871 additions
and
2,370 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
numba_dppy/_version.py export-subst |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
*.pyc | ||
*.o | ||
*.so | ||
*.dylib | ||
*.pyd | ||
*.pdb | ||
*.egg-info | ||
*.sw[po] | ||
*.out | ||
*.ll | ||
.coverage | ||
.nfs* | ||
tags | ||
MANIFEST | ||
|
||
build/ | ||
docs/_build/ | ||
docs/gh-pages/ | ||
dist/ | ||
htmlcov/ | ||
.idea/ | ||
.vscode/ | ||
.mypy_cache/ | ||
.ipynb_checkpoints/ | ||
__pycache__/ | ||
|
||
docs/source/developer/autogen* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
# Changelog | ||
All notable changes to this project will be documented in this file. | ||
|
||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), | ||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). | ||
|
||
## [Unreleased] | ||
|
||
## [0.12.0] - 2020-12-17 | ||
### Added | ||
- numba-dppy is a standalone package now. Added setup.py and conda recipe. | ||
- Offload diagnostics. | ||
- Controllable fallback. | ||
- Add flags to generate debug symbols. | ||
- Implementation of `np.linalg.eig`, `np.ndarray.sum`, `np.ndarray.max`, `np.ndarray.min`, `np.ndarray.mean`. | ||
- Two new re-write passes to convert NumPy calls into a pseudo `numba_dppy` call site to allow target-specific | ||
overload of NumPy functions. The rewrite passes is a temporary fix till Numba gains support for target-specific overlaods. | ||
- Updated to dpCtl 0.5.* and dpNP 0.4.* | ||
|
||
### Changed | ||
- The `dpnp` interface now uses Numba's `@overload` functionality as opposed to the previous `@lower_builtin` method. | ||
- Rename `DPPL` to `DPPY`. | ||
- Cleaned test code. | ||
- `DPPLTestCase` replaced with `unittest.TestCase`. | ||
- All tests and examples use `with device_context`. | ||
- Config environment variables starts with `NUMBA_DPPY_` | ||
(i.e. NUMBA_DPPY_SAVE_IR_FILES and NUMBA_DPPY_SPIRV_VAL) | ||
- Remove nested folder `dppl` in `tests`. | ||
- No dependency on `cffi`. | ||
|
||
### Removed | ||
- The old backup file. | ||
|
||
## NUMBA Version 0.48.0 + DPPY Version 0.3.0 (June 29, 2020) | ||
|
||
This release includes: | ||
- Caching of dppy.kernels which will improve performance. | ||
- Addition of support for Intel Advisor which will help in profiling applications. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
## Debugging with GDB | ||
|
||
Setting the debug environment variable `NUMBA_DPPY_DEBUG` (e.g. `export NUMBA_DPPY_DEBUG=True`) enables | ||
the emission of debug info to the llvm and spirv IR. | ||
To disable debugging set this variable to None: (e.g. `export NUMBA_DPPY_DEBUG= `). | ||
Currently, the following debug info is available: | ||
- Source location (filename and line number) is available. | ||
- Setting break points by the line number. | ||
- Stepping over break points. | ||
|
||
### Requirements | ||
|
||
Intel® Distribution for GDB installed to the system. | ||
Documentation for this debugger can be found in the | ||
[Intel® Distribution for GDB documentation](https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/distribution-for-gdb.html). | ||
|
||
### Example debug usage | ||
|
||
```bash | ||
$ export NUMBA_DPPY_DEBUG=True | ||
$ gdb-oneapi -q python | ||
(gdb) break numba_dppy/examples/sum.py:14 # Assumes the kernel is in file sum.py, at line 14 | ||
(gdb) run sum.py | ||
``` | ||
|
||
### Limitations | ||
|
||
Currently, Numba-dppy provides only initial support of debugging GPU kernels. | ||
The following functionality is **not supported** : | ||
- Printing kernel local variables (e.g. ```info locals```). | ||
- Stepping over several off-loaded functions. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
# numba-dppy | ||
|
||
Below is the functionality that is implemented in numba-dppy. You can follow the detailed descriptions of some of the features. | ||
|
||
## Offload Diagnostics | ||
|
||
Setting the debug environment variable `NUMBA_DPPY_OFFLOAD_DIAGNOSTICS ` | ||
(e.g. `export NUMBA_DPPY_OFFLOAD_DIAGNOSTICS=1`) enables the parallel and offload diagnostics information. | ||
|
||
If set to an integer value between 1 and 4 (inclusive) diagnostic information about parallel transforms undertaken by Numba will be written to STDOUT. The higher the value set the more detailed the information produced. | ||
In the "Auto-offloading" section there is the information on which device (device name) this parfor or kernel was offloaded. | ||
|
||
## Controllable Fallback | ||
|
||
With the default behavior of numba-dppy, if a section of code cannot be offloaded on the GPU, then it is automatically executed on the CPU and printed a warning. This behavior only applies to njit functions and auto-offloading of numpy functions, array expressions, and prange loops. | ||
|
||
Setting the debug environment variable `NUMBA_DPPY_FALLBACK_OPTION ` | ||
(e.g. `export NUMBA_DPPY_FALLBACK_OPTION=0`) enables the code is not automatically offload to the CPU, and an error occurs. This is necessary in order to understand at an early stage which parts of the code do not work on the GPU, and not to wait for the program to execute on the CPU if you don't need it. |
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.