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

Move support for dpNP #103

Merged
merged 4 commits into from
Nov 17, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions numba-dppy/conda-recipe/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ requirements:
- llvm-spirv
- numba
- dpctl
- dpnp
run:
- python
- numba >=0.51
Expand Down
38 changes: 36 additions & 2 deletions numba-dppy/setup.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,39 @@
from setuptools import find_packages, setup
import os
from setuptools import Extension, find_packages, setup
from Cython.Build import cythonize

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

def get_ext_modules():
ext_modules = []

dpnp_present = False
try:
import dpnp
except:
pass
else:
dpnp_present = True

if dpnp_present:
dpnp_lib_path = []
dpnp_lib_path += [os.path.dirname(dpnp.__file__)]
ext_dpnp_glue = Extension(name='numba_dppy.dpnp_glue.dpnp_fptr_interface',
sources=['numba_dppy/dpnp_glue/dpnp_fptr_interface.pyx'],
include_dirs=[dpnp.get_include()],
libraries=['dpnp_backend_c'],
library_dirs=dpnp_lib_path,
runtime_library_dirs=dpnp_lib_path,
language="c++")
ext_modules += [ext_dpnp_glue]

if dpnp_present:
return cythonize(ext_modules)
else:
return ext_modules


packages = find_packages(include=["numba_dppy", "numba_dppy.*"])
build_requires = ["cython"]
install_requires = [
"numba",
"dpctl",
Expand All @@ -13,7 +45,9 @@
description="Numba extension for Intel CPU and GPU backend",
url="https://github.com/IntelPython/numba-dppy",
packages=packages,
setup_requires=build_requires,
install_requires=install_requires,
ext_modules=get_ext_modules(),
author="Intel Corporation",
classifiers=[
"Development Status :: 4 - Beta",
Expand Down
32 changes: 2 additions & 30 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -293,40 +293,12 @@ def check_file_at_path(path2file):

ext_modules += ext_np_ufunc_backends


# check if dpnp is present
dpnp_present = False

try:
import dpnp
except:
pass
else:
dpnp_present = True

if dpnp_present:
dpnp_lib_path = []
dpnp_lib_path += [os.path.dirname(dpnp.__file__)]
from Cython.Build import cythonize
ext_dpnp_glue = Extension(name='numba.dppl.dpnp_glue.dpnp_fptr_interface',
sources=['numba/dppl/dpnp_glue/dpnp_fptr_interface.pyx'],
include_dirs=[dpnp.get_include()],
libraries=['dpnp_backend_c'],
library_dirs=dpnp_lib_path,
runtime_library_dirs=dpnp_lib_path,
language="c++")
ext_modules += [ext_dpnp_glue]

if dpnp_present:
return cythonize(ext_modules)
else:
return ext_modules
return ext_modules


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

build_requires = [f'numpy >={min_numpy_build_version}', 'cython']

build_requires = ['numpy >={}'.format(min_numpy_build_version)]
install_requires = [
'llvmlite >={},<{}'.format(min_llvmlite_version, max_llvmlite_version),
'numpy >={}'.format(min_numpy_run_version),
Expand Down