This repository was archived by the owner on Jan 25, 2023. It is now read-only.
forked from numba/numba
-
Notifications
You must be signed in to change notification settings - Fork 6
Add subtree numba-dppy #117
Merged
Merged
Changes from all commits
Commits
Show all changes
347 commits
Select commit
Hold shift + click to select a range
fdfba1a
(numba/dppy) Merge branch 'devel' of github.intel.com:SAT/NUMBA-PVC i…
35c4281
(numba/dppy) Reduction work-in-progress. Passing reduction var init …
DrTodd13 9a2cf57
(numba/dppy) Adding the max work group size as an item stored in the …
DrTodd13 a3b0dbe
(numba/dppy) change name of OCL to DPPY.
f670a36
(numba/dppy) Add debug prints to opencllite.c
1094660
(numba/dppy) Updates to pairwise_distance_ocl.py example.
13b4b56
(numba/dppy) Added helper functions
reazulhoque 29c0996
(numba/dppy) Added biolerplate code to get started with adding unit t…
reazulhoque f73425c
(numba/dppy) Updated renamed function calls in vector_add.c
reazulhoque 7df99d9
(numba/dppy) Remove dead codes and typos.
78a892d
(numba/dppy) Merge branch 'devel' of github.intel.com:SAT/NUMBA-PVC i…
e863528
(numba/dppy) Minor formatting change and remove incorrect comment.
fef42f7
(numba/dppy) Add dump functions to driver classes.
e5a246b
(numba/dppy) Minor formatting changes.
fe6c522
(numba/dppy) Rename dppy.jit to dppy.kernel
cab6cdb
(numba/dppy) Update the sum.py example to use dppy.kernel
d2e75d0
(numba/dppy) Add two variants of sum.py for feature testing.
dcc9d4b
(numba/dppy) Rename AutoJitDPPyKernel to JitDPPyKernel.
4cf55bc
(numba/dppy) conver EOL from windows to unix.
8884505
(numba/dppy) Remove commented out code.
8cc2f7c
(numba/dppy) dump_do_kernel_info should always print the kernel funct…
17c9297
(numba/dppy) Trun off caching of compiled kernels for the time being.
b1885f4
(numba/dppy) Add another version of vector addition.
e0f5b7b
(numba/dppy) First test to perform sum on both CPU and GPU device
reazulhoque 54282cd
(numba/dppy) Added attributes to decorator for access_type
reazulhoque de3748d
(numba/dppy) Added example using access_type for input parameter
reazulhoque 79cd23a
(numba/dppy) Use same data layout string as clang.
44c7030
(numba/dppy) Added support for basic datatypes like int, flot, double…
reazulhoque c59106c
(numba/dppy) Added check to make sure users know we do not support ke…
reazulhoque 0a92b70
(numba/dppy) Unit test case for testing math routines.
b63aa4d
(numba/dppy) Remove unwanted lines
reazulhoque c33d68d
(numba/dppy) Added support for basic datatypes
reazulhoque f33dcdf
(numba/dppy) Fixed converting all int to long
reazulhoque d7f9953
(numba/dppy) Break long line into 80 chars
reazulhoque 18c54ca
(numba/dppy) add test to make sure accessors are working
reazulhoque a1a1c62
(numba/dppy) Merge pull request #20 from SAT/feature/numba_array
6f71b53
(numba/dppy) Explicit error message for error code -54.
a6d712f
(numba/dppy) Remove meminfo argument.
7d270ca
(numba/dppy) Fix error check macro.
5d3eb4b
(numba/dppy) Add a 2D vector sum example.
3886c21
(numba/dppy) Merge branch 'devel' of github.intel.com:SAT/NUMBA-PVC i…
55483b6
(numba/dppy) Changes to modify how OpenCL global and local sizes are …
a1ffc55
(numba/dppy) Merge branch 'devel' into two-dimensional-kernels
e62b604
(numba/dppy) Generate executables with .exe suffix. Add *.exe to giti…
c92021e
(numba/dppy) Change to unix EOL.
ad0ef7d
(numba/dppy) Update examples...
29bdc34
(numba/dppy) Make sure we are treating single int for global_work_size
reazulhoque d5be001
(numba/dppy) Add Black Scholes test
reazulhoque 1ab5134
(numba/dppy) Added sum reduction test
reazulhoque 3608b48
(numba/dppy) Updated pairwise_distance example
reazulhoque f15479a
(numba/dppy) Make debug build an option
reazulhoque 893daae
(numba/dppy) Cleanedup llvm-spirv and spirv-tools requirements.
reazulhoque 137a252
(numba/dppy) Added conda_env_path to ensure using the right binaries
reazulhoque c7e7049
(numba/dppy) Fix Error Msg
reazulhoque 9565dd6
(numba/dppy) Remove Conda prefix to ensure correct bin
reazulhoque ce91db9
(numba/dppy) Remove files added accidentally
reazulhoque 28dcc16
(numba/dppy) Updated global_wirk_size and local_work_size
reazulhoque af5185e
(numba/dppy) Reformat long comment.
2cb9c75
(numba/dppy) Merge branch 'devel' into ms138-directives
f3e3ffb
(numba/dppy) Remove errors.py from DPPy
reazulhoque 6ab880e
(numba/dppy) Remove errors.py
reazulhoque 6fa9fb8
(numba/dppy) Remove errors.py from DPPy
reazulhoque 155e280
(numba/dppy) Merge branch 'ms138-directives' of https://github.intel.…
reazulhoque cc93110
(numba/dppy) Add dppy test to NUMBA test suite
reazulhoque df2c0de
(numba/dppy) Remove enums.py from DPPy
reazulhoque fa6e213
(numba/dppy) Add option to dump intermediate IR files
reazulhoque 1f58500
(numba/dppy) Moved flag to numba level
reazulhoque 36e3e56
(numba/dppy) Remove not needed comments
reazulhoque f5743a0
(numba/dppy) Make argument optional
reazulhoque 7d93c74
(numba/dppy) Added HowTo and reduction in examples
reazulhoque 044e3be
(numba/dppy) Added DPPy pipeline
reazulhoque df9a753
(numba/dppy) Merge branch 'ms138-directives' into spir-codegen
1520ade
(numba/dppy) Refactoring for coding style.
752c4e2
(numba/dppy) Refactoring for coding style.
48a8a5c
(numba/dppy) Added test to measure time of 1d reductions in different…
reazulhoque 6eab8ee
(numba/dppy) Added reduction plus scaling test
reazulhoque 4e1ddfd
(numba/dppy) Added sync before timing
reazulhoque 4405dbe
(numba/dppy) Include time to get data back
reazulhoque 28f8a7d
(numba/dppy) Changes for reductions including addrspaces for vars.
DrTodd13 6080fdc
(numba/dppy) Merge remote-tracking branch 'old/anl_release_v01' into …
reazulhoque 554980a
(numba/dppy) Added installation inside setup.py
reazulhoque ede408b
(numba/dppy) Added changes to build conda package for linux
reazulhoque c0c2daf
(numba/dppy) Fixed getting lib so intall and develop both works
reazulhoque aee94a2
(numba/dppy) Merge branch 'devel' into ms138-directives
fd0bd3f
(numba/dppy) Merge branch 'ms138-directives' into spir-codegen
d7d224a
(numba/dppy) Added recursive reduction example
reazulhoque 16a3f9e
(numba/dppy) Refactor code to add a DPPy-specific lowerinbg pass.
62913c7
(numba/dppy) Move an optimization level down and get rid of some addr…
reazulhoque 36fff6c
(numba/dppy) Add function attribute to always inline in LLVM ir
reazulhoque 813a07d
(numba/dppy) Added flag to turn spirv-val ON/OFF
reazulhoque c11e44c
(numba/dppy) Change how flag values work
reazulhoque bb21fd7
(numba/dppy) Remove extra print
reazulhoque f485eed
(numba/dppy) Increase test precision
reazulhoque fb12d1f
(numba/dppy) Update examples
reazulhoque f209d71
(numba/dppy) Adding a basic square matrix multiply example.
11517e8
(numba/dppy) Initial fix to get to the lowering pass using dppy_compi…
reazulhoque ec85e8a
(numba/dppy) Added dppy lowerer and dppy lowerer for arrayexpr
reazulhoque 4bf1769
(numba/dppy) Inherit from Lower
reazulhoque 7fa5e12
(numba/dppy) Added DPPy target in njit
reazulhoque 712b75b
(numba/dppy) Added numpy_math_functions test and made numpy.add() work
reazulhoque 4edb62e
(numba/dppy) Added the working math and trigonometric NumPy function …
reazulhoque 4a6b345
(numba/dppy) Replacing numpy ufuncs with OpenCL functions where possi…
reazulhoque a5e6f5b
(numba/dppy) Addd test for numpy floating and bit-twiddling functions
reazulhoque 0468d56
(numba/dppy) Addd test for numpy comparison functions
reazulhoque 6f51245
(numba/dppy) Remove unused code.
bf72cec
(numba/dppy) njit with parallel options will go through dppy pipeline
reazulhoque 394a3a5
(numba/dppy) MAde sure parallel flag is only activated when provided …
reazulhoque 3050652
(numba/dppy) Correct njit flag behavior
reazulhoque 7d44024
(numba/dppy) remove dppy dispatcher and create a new file cpu_dispatc…
reazulhoque 2fe8f09
(numba/dppy) Remove dppy backend (#44)
reazulhoque 20b3b0c
(numba/dppy) Propagate CPUDispatcher being moved from targets/registry
reazulhoque 077e7a5
(numba/dppy) Merge Devel
reazulhoque 73ea449
(numba/dppy) Initial cleaning of dppy_lowering
reazulhoque e2eea07
(numba/dppy) Clean up of call_dppy()
reazulhoque 58a8aad
(numba/dppy) Merge branch 'ms138-directives' into ms138-refactoring
4c7e815
(numba/dppy) Remove oll dppy_driver from numba.
555262f
(numba/dppy) convert the file to unix encoding.
432edf7
(numba/dppy) Convert to Unix encoding.
2832e79
(numba/dppy) Formatting changes...
e72897a
(numba/dppy) Refactor the code.
d0a0823
(numba/dppy) Some vectorize inliner is working
reazulhoque d2b92d2
(numba/dppy) More formatting changes...
48eb0f3
(numba/dppy) Run dos2unix on dppy_lowerer_2.py. Otherwise Eclipse on …
3e9b94f
(numba/dppy) Merge branch 'ms138-directives' into ms138-refactoring
8b19bc7
(numba/dppy) Move DUFunc inliner into a new file and fix a bug. Black…
d0a8546
(numba/dppy) Remove pass that is now called dufunc_inliner
reazulhoque b2261c0
(numba/dppy) Added vectorize test
reazulhoque cef85f1
(numba/dppy) Minor code style and function renaming.
6cf5566
(numba/dppy) Merge branch 'ms138-directives' of github.intel.com:SAT/…
283ca05
(numba/dppy) Remove limit on numpy dimensions with simple loop schedu…
reazulhoque 503b5ab
(numba/dppy) Fix indent calculation and 5d array example
reazulhoque c28cfad
(numba/dppy) remove variable for constant
reazulhoque 5e35f79
(numba/dppy) Move code hoisting and dppy function call generation to …
f4bca27
(numba/dppy) Remove suferfluous prints.
54a64cd
(numba/dppy) Minor formatting changes.
efe7b0a
(numba/dppy) Rename dppy_lower_2 to dppy_lowerer
7b3bd17
(numba/dppy) add missing code from the original dppy_lowerer.py.
8d9af06
(numba/dppy) Support for atomic add (#46)
reazulhoque b591d14
(numba/dppy) Ms138 directives (#52)
reazulhoque 6dfe641
(numba/dppy) DPPY tests are passing
reazulhoque 6775ddf
(numba/dppy) Feature/dppy func (#67)
reazulhoque 87f35d7
(numba/dppy) revert changes in dufunc to allow tests to pass
reazulhoque e9c15d3
(numba/dppy) DPPy target will retain a copy of ufunc_db for replacing…
reazulhoque 132bb2a
(numba/dppy) Added print to dppy.kernel (#69)
reazulhoque e57e5d3
(numba/dppy) Fix encoding of file from dos to unix. (#70)
d18b2a2
(numba/dppy) Add caching (#60)
b4f99ef
(numba/dppy) Adds support for local memory allocation inside dppy.ker…
reazulhoque b2515d9
(numba/dppy) Fix generation of the gufunc function name for parfors t…
a59f210
(numba/dppy) Migration to Numba 0.49 (#57)
PokhodenkoSA b344011
(numba/dppy) Merge branch 'devel' into 49.1
reazulhoque eb4dcd1
(numba/dppy) Update files with changes required to make them compatib…
reazulhoque c05dc4a
(numba/dppy) Updated to use sycllite branch from dppy-backend
reazulhoque c67fa1b
(numba/dppy) Rename to dppy (#86)
reazulhoque 0f72770
(numba/dppy) Force LLVM to use ZMM registers for vectorization.
PokhodenkoSA 6d73be1
(numba/dppy) Merge branch '49.1-gh' into '49.1'
reazulhoque e71ad21
(numba/dppy) Merge branch '49.1' into 'devel'
reazulhoque 3060a61
(numba/dppy) Merged devel
reazulhoque d772507
(numba/dppy) Import ufunc_db only after lazy_init
reazulhoque d6e6981
(numba/dppy) Added check to not error out if OpenCL is absent
reazulhoque 311186e
(numba/dppy) Fix minor bug
reazulhoque ad7d95c
(numba/dppy) Rename njit option spirv to offload
reazulhoque 151b501
(numba/dppl) Rename DPPy to DPPL in code.
PokhodenkoSA 4bcd90c
(numba/dppl) Added basic docstrings
reazulhoque c569f60
(numba/dppl) Update examples and more docstrings
reazulhoque eb4ac20
(numba/dppl) Update to PyDPPL 0.1.1
PokhodenkoSA c5f2b1c
(numba/dppl) Added unit test to check dppl apis
reazulhoque 087bdfc
(numba/dppl) Merge branch 'rhoque/update/dppl_api_unit_test' into 'de…
56a75a8
(numba/dppl) Added atomics for sub and add
reazulhoque 641ca96
(numba/dppl) Add linkd spirv binary
reazulhoque 6e4e01d
(numba/dppl) Initial integration with numba.dppl.atomic.add
reazulhoque dcfea17
(numba/dppl) Finalize atomic add and sub for 4 datatypes
reazulhoque 3099bc9
(numba/dppl) Made linking with external binaries optional
reazulhoque 4415d2c
(numba/dppl) Atomic functions will be provided by pydppl
reazulhoque 39ca42a
(numba/dppl) Update API and add test for local memory of different da…
reazulhoque a3f7ff5
(numba/dppl) Added atomic OpenCL kernel that will provide the atomic …
reazulhoque b0a048d
(numba/dppl) remove comment
reazulhoque 4e6d619
(numba/dppl) Use ctypes.util.find_library for finding DPPLOpenCLInter…
PokhodenkoSA db9b85e
(numba/dppl) Initial try at calling a c++ function while lowering a f…
reazulhoque 9e9fe84
(numba/dppl) Calling a function using address of it
reazulhoque ad0c65f
(numba/dppl) Initial integration for calling a Numpy for gpu function
reazulhoque 9cf9f8c
(numba/dppl) Initial fallback implementation
AlexanderKalistratov 8acbe6a
(numba/dppl) Add comments
reazulhoque 9b96efd
(numba/dppl) Added skeleton for argsort, argmax,sum and dotvv
reazulhoque a625318
(numba/dppl) Add WIP cython layer to interface with dpnp
reazulhoque 01b8f19
(numba/dppl) Retrieving the pointer correctly in cython
reazulhoque 1b8ead5
(numba/dppl) Rename PyDPPL/dppl to dpCtl/dpctl (#49)
PokhodenkoSA 9b2c5b1
(numba/dppl) First stab
reazulhoque bb12ff3
(numba/dppl) Added file back
reazulhoque 41e8870
(numba/dppl) merge with pydppl
reazulhoque 92d4f38
(numba/dppl) Updated cov and dot
reazulhoque 0c58e53
(numba/dppl) WIP added scalar args and submit
reazulhoque b4e7863
(numba/dppl) Added separate dispatcher (#42)
1e-to 5cb0b3b
(numba/dppl) Added passing scalar to sycl backend
reazulhoque e07e122
(numba/dppl) Sending reverse of global and local size to address sema…
reazulhoque e1844a8
(numba/dppl) Added parfor lower message (#43)
1e-to 9212f14
(numba/dppl) Updated all examples and tests to use the new sycl backe…
reazulhoque ce2c8dd
(numba/dppl) Added exlicit usm creation
reazulhoque c963ba7
(numba/dppl) WIP
reazulhoque bd32196
(numba/dppl) Added llvm generation for new backend
reazulhoque 8a150e2
(numba/dppl) Merge branch 'pydppl' of https://github.com/reazulhoque/…
reazulhoque 1f2f9a0
(numba/dppl) Semantics "with context" (#57)
1e-to 2179760
(numba/dppl) Fixed incorrect LLVM IR generation
reazulhoque 4f0db9b
(numba/dppl) Merge branch 'pydppl' into feature/sycl_integration
reazulhoque ced1b0e
(numba/dppl) WIP
reazulhoque 1880b79
(numba/dppl) LLVM generation working
reazulhoque 30be033
(numba/dppl) Cleanup
reazulhoque efb3eca
(numba/dppl) File name modification
reazulhoque 0ef3adf
(numba/dppl) Freeing the usm buffer being allocated
reazulhoque fc54c72
(numba/dppl) Merged pydppl
reazulhoque 7f730a5
(numba/dppl) Merge branch 'feature/sycl_integration' into feature/exp…
reazulhoque 38d01bd
(numba/dppl) successfully calling dpnp
reazulhoque 792d753
(numba/dppl) Added more np functions
reazulhoque 01c702f
(numba/dppl) Move addition to typing templates of existing Numpy func…
reazulhoque c377962
(numba/dppl) Add check in setting lower extension
reazulhoque 8178e74
(numba/dppl) Added multidimensional test
reazulhoque 721efee
(numba/dppl) Add bool
reazulhoque 267e2bd
(numba/dppl) Added unload pass to undo the overloading
reazulhoque 3702047
(numba/dppl) Fix context
2dffa68
(numba/dppl) Fix for dpctl update
reazulhoque 80424a0
(numba/dppl) Merge branch 'feature/sycl_integration' into feature/exp…
reazulhoque cfaf1f2
(numba/dppl) Merge with feature/experimental_numpy_for_gpu
reazulhoque 79b1490
(numba/dppl) small update to documentation
reazulhoque db13bee
(numba/dppl) Merge branch 'feature/sycl_integration' into feature/exp…
reazulhoque 1d8c311
(numba/dppl) Merge branch 'feature/experimental_numpy_for_gpu' into f…
reazulhoque f617061
(numba/dppl) Turn off debug mode after test
2299046
(numba/dppl) Fix getting dpctl lib at runtime
reazulhoque 0a5e0d6
(numba/dppl) Merge branch 'pydppl' into feature/sycl_integration
reazulhoque 5bc88be
(numba/dppl) Merge branch 'pydppl' into feature/experimental_numpy_fo…
reazulhoque a7039db
(numba/dppl) Skip if dpnp is not present
reazulhoque 556ec97
(numba/dppl) Merge branch 'feature/experimental_numpy_for_gpu' into f…
reazulhoque 20a3b82
(numba/dppl) skip tests if atomic support is not present
reazulhoque e34c9dd
(numba/dppl) Add check if dpctl is present in decorator.
AlexanderKalistratov 6a2716c
(numba/dppl) Turn lower_extension into a stack for parfor
reazulhoque 1492a13
(numba/dppl) Merge pull request #66 from AlexanderKalistratov/akalist…
reazulhoque fb9c310
(numba/dppl) Fix ir copy in fallback (#61)
AlexanderKalistratov 0539b82
(numba/dppl) Fix dppl_with_context example
AlexanderKalistratov fa996e3
(numba/dppl) Copy ir & funcdesc using same cache. Introduce new funct…
AlexanderKalistratov 20545c5
Initial commit
PokhodenkoSA f1d68cd
Update readme
PokhodenkoSA 2a97312
Add license BSD-2-Clause
PokhodenkoSA 5c0ca1b
Merge pull request #1 from IntelPython/spokhode/readme
PokhodenkoSA d5ddf3d
Add 'oneapi/' from commit 'c5b19175dfdef645dc7478b6e470340abb11201a'
PokhodenkoSA c144045
Add 'dppy/' from commit 'ad7d95cffb7513717b2b96545475f16d394ddb21'
PokhodenkoSA 57b6890
Add 'dppl/' from commit 'fa996e3adbfef446d97c4f3b7f6565f57abc9e40'
PokhodenkoSA d1acbb0
Add 'numba_dppy/' from commit 'fa996e3adbfef446d97c4f3b7f6565f57abc9e40'
PokhodenkoSA 1081eae
Remove history folders: oneapi, dppy, dppl
PokhodenkoSA 598728c
Merge pull request #2 from IntelPython/spokhode/add-dppy
PokhodenkoSA 1f5573b
Update LICENSE (#3)
PokhodenkoSA 7b1d06b
Remove context_name (#6)
PokhodenkoSA 97130d9
Add 'numba-dppy/' from commit '7b1d06b763bdf773a8191a6660cf5343dd5c4d39'
PokhodenkoSA File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or 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,23 @@ | ||
Copyright (c) 2019-2020, Intel Corporation | ||
All rights reserved. | ||
|
||
Redistribution and use in source and binary forms, with or without | ||
modification, are permitted provided that the following conditions are met: | ||
|
||
1. Redistributions of source code must retain the above copyright notice, this | ||
list of conditions and the following disclaimer. | ||
|
||
2. 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. |
This file contains hidden or 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,21 @@ | ||
# numba-dppy | ||
|
||
## Numba + dpCtl + dpNP = numba-dppy | ||
|
||
`numba-dppy` extends Numba with new backend for support compilation | ||
for Intel CPU and GPU architectures. | ||
|
||
For more information about Numba, see the Numba homepage: | ||
http://numba.pydata.org | ||
|
||
For more information about dpCtl, see the dpCtl homepage: | ||
https://intelpython.github.io/dpctl/ | ||
|
||
For more information about dpNP, see the dpNP homepage: | ||
https://intelpython.github.io/dpnp/ | ||
|
||
## Dependencies | ||
|
||
* numba | ||
* dpCtl | ||
* dpNP (optional) |
This file contains hidden or 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,3 @@ | ||
*.bc | ||
*.ll | ||
*.spirv |
This file contains hidden or 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,7 @@ | ||
NUMBA Version 0.48.0 + DPPL Version 0.3.0 (June 29, 2020) | ||
-------------------------------------------------------- | ||
|
||
This release includes: | ||
|
||
* Caching of dppl.kernels which will improve performance. | ||
* Addition of support for Intel Advisor which will help in profiling applications. |
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains hidden or 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,74 @@ | ||
from llvmlite import binding as ll | ||
from llvmlite.llvmpy import core as lc | ||
|
||
from numba.core.codegen import BaseCPUCodegen, CodeLibrary | ||
from numba.core import utils | ||
|
||
|
||
SPIR_TRIPLE = {32: ' spir-unknown-unknown', | ||
64: 'spir64-unknown-unknown'} | ||
|
||
SPIR_DATA_LAYOUT = { | ||
32 : ('e-p:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:' | ||
'256-v512:512-v1024:1024'), | ||
64 : ('e-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-' | ||
'v512:512-v1024:1024') | ||
} | ||
|
||
|
||
class SPIRVCodeLibrary(CodeLibrary): | ||
def _optimize_functions(self, ll_module): | ||
pass | ||
|
||
def _optimize_final_module(self): | ||
# Run some lightweight optimization to simplify the module. | ||
pmb = ll.PassManagerBuilder() | ||
pmb.opt_level = 1 | ||
pmb.disable_unit_at_a_time = False | ||
pmb.disable_unroll_loops = True | ||
pmb.loop_vectorize = False | ||
pmb.slp_vectorize = False | ||
|
||
pm = ll.ModulePassManager() | ||
pmb.populate(pm) | ||
pm.run(self._final_module) | ||
|
||
def _finalize_specific(self): | ||
# Fix global naming | ||
for gv in self._final_module.global_variables: | ||
if '.' in gv.name: | ||
gv.name = gv.name.replace('.', '_') | ||
|
||
def get_asm_str(self): | ||
# Return nothing: we can only dump assembler code when it is later | ||
# generated (in numba.dppl.compiler). | ||
return None | ||
|
||
|
||
class JITSPIRVCodegen(BaseCPUCodegen): | ||
""" | ||
This codegen implementation generates optimized SPIR 2.0 | ||
""" | ||
|
||
_library_class = SPIRVCodeLibrary | ||
|
||
def _init(self, llvm_module): | ||
assert list(llvm_module.global_variables) == [], "Module isn't empty" | ||
self._data_layout = SPIR_DATA_LAYOUT[utils.MACHINE_BITS] | ||
self._target_data = ll.create_target_data(self._data_layout) | ||
|
||
def _create_empty_module(self, name): | ||
ir_module = lc.Module(name) | ||
ir_module.triple = SPIR_TRIPLE[utils.MACHINE_BITS] | ||
if self._data_layout: | ||
ir_module.data_layout = self._data_layout | ||
return ir_module | ||
|
||
def _module_pass_manager(self): | ||
raise NotImplementedError | ||
|
||
def _function_pass_manager(self, llvm_module): | ||
raise NotImplementedError | ||
|
||
def _add_module(self, module): | ||
pass |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe Numba + DPPY + dpCtl + dpNP = numba-dppy :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@diptorupd please, provide a PR to https://github.com/IntelPython/numba-dppy.git