From 43af38648223bcf03071daa76912b8cea852bd9b Mon Sep 17 00:00:00 2001 From: Charles Coulombe Date: Sat, 5 Nov 2022 21:53:47 -0400 Subject: [PATCH 1/3] Added dlpack recipe --- easybuild/easyconfigs/d/dlpack/dlpack-0.7.eb | 42 ++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 easybuild/easyconfigs/d/dlpack/dlpack-0.7.eb diff --git a/easybuild/easyconfigs/d/dlpack/dlpack-0.7.eb b/easybuild/easyconfigs/d/dlpack/dlpack-0.7.eb new file mode 100644 index 00000000000..87d30f6c12d --- /dev/null +++ b/easybuild/easyconfigs/d/dlpack/dlpack-0.7.eb @@ -0,0 +1,42 @@ +easyblock = 'CMakeMake' + +name = 'dlpack' +version = '0.7' + +homepage = 'https://dmlc.github.io/dlpack/latest/' +description = """ +In order for an ndarray system to interact with a variety of frameworks, a stable in-memory data structure is needed. + +DLPack is one such data structure that allows exchange between major frameworks. It is developed with inputs from many deep learning system core developers. Highlights include: + +- Minimum and stable: simple header +- Designed for cross hardware: CPU, CUDA, OpenCL, Vulkan, Metal, VPI, ROCm, WebGPU, Hexagon +- Already a standard with wide community adoption and support: + * NumPy + * CuPy + * PyTorch + * Tensorflow + * MXNet + * TVM + * mpi4py +- Clean C ABI compatible. + * Means you can create and access it from any language. + * It is also essential for building JIT and AOT compilers to support these data types. +""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/dmlc/dlpack/archive/refs/tags'] +sources = ['v%(version)s.tar.gz'] +checksums = ['13f60672b324d081545f423d720737121c4952a9b90bdd49dc372a84c3fe96ee'] + +builddependencies = [ + ('CMake', '3.23.1') +] + +sanity_check_paths = { + 'files': ['include/dlpack/dlpack.h'], + 'dirs': ['include'], +} + +moduleclass = 'tools' From 16a141f3fa59bf2e63ae688807d526dc4a46f3d9 Mon Sep 17 00:00:00 2001 From: Charles Coulombe Date: Fri, 18 Nov 2022 13:26:14 -0500 Subject: [PATCH 2/3] Added cuda-python (3.8 - 3.10) to CUDAcore --- .../easyconfigs/c/CUDAcore/CUDAcore-11.7.0.eb | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/easybuild/easyconfigs/c/CUDAcore/CUDAcore-11.7.0.eb b/easybuild/easyconfigs/c/CUDAcore/CUDAcore-11.7.0.eb index d8f3b81d99d..7cababdb832 100644 --- a/easybuild/easyconfigs/c/CUDAcore/CUDAcore-11.7.0.eb +++ b/easybuild/easyconfigs/c/CUDAcore/CUDAcore-11.7.0.eb @@ -16,4 +16,28 @@ source_urls = ['https://developer.download.nvidia.com/compute/cuda/%(version)s/l sources = ['cuda_%%(version)s_%s_linux%%(cudaarch)s.run' % local_nv_version] checksums = ['087fdfcbba1f79543b1f78e43a8dfdac5f6db242d042dde820e16dc185892f26'] +multi_deps = {'Python': ['3.8', '3.9', '3.10'] } +multi_deps_extensions_only = True + +exts_defaultclass = 'PythonPackage' +exts_list = [ + ('cuda-python', '11.7.1', { + 'modulename': 'cuda', + 'source_urls': ['https://github.com/NVIDIA/cuda-python/archive/refs/tags'], + 'sources': [{'filename': 'cuda-python-%(version)s.tar.gz', 'download_filename': 'v%(version)s.tar.gz'}], + 'checksums': ['6a138fd2c831b668b80bc82251e3050c410d17f1ae3b36d0e00106a168ec36f0'], + 'preinstallopts': 'pip install --no-index cython --prefix=%(installdir)s && ', + 'installopts': ' ', # Make sure to override installopts inherited from EB_CUDA + 'use_pip': True, + }), +] +exts_filter = ("python -c 'import %(ext_name)s'", '') + +sanity_check_commands = [ + "python -c 'import cuda,cython'", + "python -c 'from cuda import cuda, cudart, nvrtc'", +] + +modextrapaths = {'EBPYTHONPREFIXES':''} + moduleclass = 'system' From 00dcf922e19257cba6c7d3fc2099a2de300841f2 Mon Sep 17 00:00:00 2001 From: Charles Coulombe Date: Fri, 25 Nov 2022 15:01:28 -0500 Subject: [PATCH 3/3] Revert "Added cuda-python (3.8 - 3.10) to CUDAcore" This reverts commit 16a141f3fa59bf2e63ae688807d526dc4a46f3d9. Now a python package: https://github.com/ComputeCanada/wheels_builder/pull/74/commits/1f291a9ae0c2e6496e99ee8ba08ff32bb2931248 --- .../easyconfigs/c/CUDAcore/CUDAcore-11.7.0.eb | 24 ------------------- 1 file changed, 24 deletions(-) diff --git a/easybuild/easyconfigs/c/CUDAcore/CUDAcore-11.7.0.eb b/easybuild/easyconfigs/c/CUDAcore/CUDAcore-11.7.0.eb index 7cababdb832..d8f3b81d99d 100644 --- a/easybuild/easyconfigs/c/CUDAcore/CUDAcore-11.7.0.eb +++ b/easybuild/easyconfigs/c/CUDAcore/CUDAcore-11.7.0.eb @@ -16,28 +16,4 @@ source_urls = ['https://developer.download.nvidia.com/compute/cuda/%(version)s/l sources = ['cuda_%%(version)s_%s_linux%%(cudaarch)s.run' % local_nv_version] checksums = ['087fdfcbba1f79543b1f78e43a8dfdac5f6db242d042dde820e16dc185892f26'] -multi_deps = {'Python': ['3.8', '3.9', '3.10'] } -multi_deps_extensions_only = True - -exts_defaultclass = 'PythonPackage' -exts_list = [ - ('cuda-python', '11.7.1', { - 'modulename': 'cuda', - 'source_urls': ['https://github.com/NVIDIA/cuda-python/archive/refs/tags'], - 'sources': [{'filename': 'cuda-python-%(version)s.tar.gz', 'download_filename': 'v%(version)s.tar.gz'}], - 'checksums': ['6a138fd2c831b668b80bc82251e3050c410d17f1ae3b36d0e00106a168ec36f0'], - 'preinstallopts': 'pip install --no-index cython --prefix=%(installdir)s && ', - 'installopts': ' ', # Make sure to override installopts inherited from EB_CUDA - 'use_pip': True, - }), -] -exts_filter = ("python -c 'import %(ext_name)s'", '') - -sanity_check_commands = [ - "python -c 'import cuda,cython'", - "python -c 'from cuda import cuda, cudart, nvrtc'", -] - -modextrapaths = {'EBPYTHONPREFIXES':''} - moduleclass = 'system'