-
Notifications
You must be signed in to change notification settings - Fork 62
/
Copy pathmeta.yaml
155 lines (147 loc) · 4.29 KB
/
meta.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
{% set name = "legate-core" %}
{% if gpu_enabled == "true" %}
{% set gpu_enabled_bool = true %}
{% elif gpu_enabled == "false" %}
{% set gpu_enabled_bool = false %}
{% else %}
{# We need to have a default value for the initial pass over the recipe #}
{% set gpu_enabled_bool = false %}
{% endif %}
{% set default_env_var = '' %}
{% if build_number is defined %}
{# do nothing if defined #}
{% else %}
{% set build_number = environ.get('GIT_DESCRIBE_NUMBER', '0') %}
{% endif %}
{% if package_version is defined %}
{% set version = package_version %}
## The tag must be in one of the two formats (where N is a digit):
## vNN.NN.NN
## vNN.NN.NN.dev
{% elif 'dev' in environ.get('GIT_DESCRIBE_TAG', default_env_var) %}
{% set version = (environ.get('GIT_DESCRIBE_TAG') ~ environ.get('GIT_DESCRIBE_NUMBER', default_env_var)).lstrip('v') %}
{% else %}
{% set version = environ.get('GIT_DESCRIBE_TAG', default_env_var).lstrip('v') %}
{% endif %}
{% set cuda_version='.'.join(environ.get('CUDA', '11.5').split('.')[:2]) %}
{% set cuda_major=cuda_version.split('.')[0] %}
{% set py_version=environ.get('CONDA_PY', 36) %}
package:
name: {{ name|lower }}
version: {{ version }}
source:
{% if package_tar is defined %}
url: {{ package_tar }}
{% elif use_local_path is defined %}
path: ../../
{% else %}
git_url: ../../
{% endif %}
build:
skip: true # [not linux]
number: {{ build_number }}
missing_dso_whitelist:
- '*libcuda.so*'
{% if use_local_path is not defined %}
# use git hash
{% if not gpu_enabled_bool %}
string: "cuda{{ cuda_major }}_py{{ py_version }}_{{ GIT_DESCRIBE_HASH }}_{{ PKG_BUILDNUM }}_cpu"
{% else %}
string: "cuda{{ cuda_major }}_py{{ py_version }}_{{ GIT_DESCRIBE_HASH }}_{{ PKG_BUILDNUM }}"
{% endif %}
{% else %}
# do not use git hash
{% if not gpu_enabled_bool %}
string: "cuda{{ cuda_major }}_py{{ py_version }}_{{ PKG_BUILDNUM }}_cpu"
{% else %}
string: "cuda{{ cuda_major }}_py{{ py_version }}_{{ PKG_BUILDNUM }}"
{% endif %}
{% endif %}
script_env:
- SCCACHE_BUCKET
- SCCACHE_REGION
- SCCACHE_IDLE_TIMEOUT
- SCCACHE_S3_KEY_PREFIX
- SCCACHE_S3_KEY_PREFIX
- AWS_ACCESS_KEY_ID
- AWS_SECRET_ACCESS_KEY
- CMAKE_C_COMPILER_LAUNCHER
- CMAKE_CXX_COMPILER_LAUNCHER
- CMAKE_CUDA_COMPILER_LAUNCHER
{% if not gpu_enabled_bool %}
- CPU_ONLY=1
track_features:
- cpu_only
{% endif %}
run_exports:
{% if not gpu_enabled_bool %}
- {{ pin_subpackage(name, min_pin="x.x.x", max_pin="x.x.x") }} =*_cpu
{% else %}
- {{ pin_subpackage(name, min_pin="x.x.x", max_pin="x.x.x") }}
{% endif %}
{% if gpu_enabled_bool %}
# prevent nccl from pulling in cudatoolkit
# once an nccl package compatible with cuda-* packages is introduced, this can be removed
# ignore_run_exports:
# - cudatoolkit
ignore_run_exports_from:
- cuda-nvcc
{% endif %}
requirements:
build:
- make
- rust
- ninja
- cmake {{ cmake_version }}
- {{ compiler('c') }} =11.2
- {{ compiler('cxx') }} =11.2
host:
- zlib
- python
- llvm-openmp
- scikit-build
- numpy {{ numpy_version }}
{% if gpu_enabled_bool %}
- nccl
- cudatoolkit ={{ cuda_version }}
- cuda-nvcc ={{ cuda_version }}
- cuda-nvtx ={{ cuda_version }}
- cuda-cccl ={{ cuda_version }}
- cuda-cudart ={{ cuda_version }}
- cuda-nvml-dev ={{ cuda_version }}
- cuda-driver-dev ={{ cuda_version }}
- cuda-cudart-dev ={{ cuda_version }}
{% endif %}
run:
- cffi
- llvm-openmp
- numpy {{ numpy_version }}
- pyarrow {{ pyarrow_version }}
- typing_extensions
{% if gpu_enabled_bool %}
- cuda-cudart >={{ cuda_version }}
- nccl
{% endif %}
run_constrained:
- __glibc >=2.17 # [linux]
{% if gpu_enabled_bool %}
- __cuda >={{ cuda_version }}
{% endif %}
test:
imports:
- legate
about:
home: https://github.com/nv-legate/legate.core
license: Apache-2.0
license_file: LICENSE
summary: 'Scalable Computational Code'
description: |
The Legate project endeavors to democratize computing by
making it possible for all programmers to leverage the power
of large clusters of CPUs and GPUs by running the same code
that runs on a desktop or a laptop at scale.
doc_url: https://github.com/nv-legate/legate.core
dev_url: https://github.com/nv-legate/legate.core
extra:
recipe-maintainers:
- m3vaz