Skip to content
This repository was archived by the owner on Jan 25, 2023. It is now read-only.

Commit 8bac304

Browse files
authored
Merge pull request #103 from PokhodenkoSA/move/dpnp
Move support for dpNP
2 parents 3bbb1e9 + aa1f1f7 commit 8bac304

File tree

3 files changed

+39
-32
lines changed

3 files changed

+39
-32
lines changed

numba-dppy/conda-recipe/meta.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ requirements:
2020
- llvm-spirv
2121
- numba
2222
- dpctl
23+
- dpnp
2324
run:
2425
- python
2526
- numba >=0.51

numba-dppy/setup.py

Lines changed: 36 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,39 @@
1-
from setuptools import find_packages, setup
1+
import os
2+
from setuptools import Extension, find_packages, setup
3+
from Cython.Build import cythonize
24

3-
packages = find_packages(include=["numba_dppy", "numba_dppy.*"])
45

6+
def get_ext_modules():
7+
ext_modules = []
8+
9+
dpnp_present = False
10+
try:
11+
import dpnp
12+
except:
13+
pass
14+
else:
15+
dpnp_present = True
16+
17+
if dpnp_present:
18+
dpnp_lib_path = []
19+
dpnp_lib_path += [os.path.dirname(dpnp.__file__)]
20+
ext_dpnp_glue = Extension(name='numba_dppy.dpnp_glue.dpnp_fptr_interface',
21+
sources=['numba_dppy/dpnp_glue/dpnp_fptr_interface.pyx'],
22+
include_dirs=[dpnp.get_include()],
23+
libraries=['dpnp_backend_c'],
24+
library_dirs=dpnp_lib_path,
25+
runtime_library_dirs=dpnp_lib_path,
26+
language="c++")
27+
ext_modules += [ext_dpnp_glue]
28+
29+
if dpnp_present:
30+
return cythonize(ext_modules)
31+
else:
32+
return ext_modules
33+
34+
35+
packages = find_packages(include=["numba_dppy", "numba_dppy.*"])
36+
build_requires = ["cython"]
537
install_requires = [
638
"numba",
739
"dpctl",
@@ -13,7 +45,9 @@
1345
description="Numba extension for Intel CPU and GPU backend",
1446
url="https://github.com/IntelPython/numba-dppy",
1547
packages=packages,
48+
setup_requires=build_requires,
1649
install_requires=install_requires,
50+
ext_modules=get_ext_modules(),
1751
author="Intel Corporation",
1852
classifiers=[
1953
"Development Status :: 4 - Beta",

setup.py

Lines changed: 2 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -293,40 +293,12 @@ def check_file_at_path(path2file):
293293

294294
ext_modules += ext_np_ufunc_backends
295295

296-
297-
# check if dpnp is present
298-
dpnp_present = False
299-
300-
try:
301-
import dpnp
302-
except:
303-
pass
304-
else:
305-
dpnp_present = True
306-
307-
if dpnp_present:
308-
dpnp_lib_path = []
309-
dpnp_lib_path += [os.path.dirname(dpnp.__file__)]
310-
from Cython.Build import cythonize
311-
ext_dpnp_glue = Extension(name='numba.dppl.dpnp_glue.dpnp_fptr_interface',
312-
sources=['numba/dppl/dpnp_glue/dpnp_fptr_interface.pyx'],
313-
include_dirs=[dpnp.get_include()],
314-
libraries=['dpnp_backend_c'],
315-
library_dirs=dpnp_lib_path,
316-
runtime_library_dirs=dpnp_lib_path,
317-
language="c++")
318-
ext_modules += [ext_dpnp_glue]
319-
320-
if dpnp_present:
321-
return cythonize(ext_modules)
322-
else:
323-
return ext_modules
296+
return ext_modules
324297

325298

326299
packages = find_packages(include=["numba", "numba.*"])
327300

328-
build_requires = [f'numpy >={min_numpy_build_version}', 'cython']
329-
301+
build_requires = ['numpy >={}'.format(min_numpy_build_version)]
330302
install_requires = [
331303
'llvmlite >={},<{}'.format(min_llvmlite_version, max_llvmlite_version),
332304
'numpy >={}'.format(min_numpy_run_version),

0 commit comments

Comments
 (0)