Improve `WHEEL_LINUX_CONFIGS` structure in `dist_config.py`
kmaehashi opened this issue · comments
Kenichi Maehashi commented
Currently, wheel config is defined like this:
'10.0': {
'name': 'cupy-cuda100',
'kind': 'cuda',
'image': 'nvidia/cuda:10.0-devel-centos6',
'libs': [
],
'includes': [
],
'preloads': ['nccl', 'cudnn'],
'verify_image': 'nvidia/cuda:10.0-devel-{system}',
'verify_systems': ['ubuntu16.04'],
'system_packages': '',
},
I'd like to change to this:
'cuda-10.0': {
'name': 'cupy-cuda100',
'platform': 'cuda',
'platform_version': '10.0',
'preloads': ['nccl', 'cudnn'],
'builder': {
'image': 'nvidia/cuda:10.0-devel-centos6',
'template': 'cuda', # template Dockerfile
'envs': {'CUPY_USE_CUDA_PYTHON': '0'},
'libs': [],
},
'verifier': {
'images': [
{'image': 'nvidia/cuda:10.0-devel-ubuntu16.04', 'template': 'cuda'}
]
},
},
- Add
cuda-*
prefix to configuration names - Merge
WHEEL_LINUX_CONFIGS
andSDIST_CONFIG
- Allow specifying Dockerfile template for builder/verifier so that we can use different Dockerfile for builder/verifier (currently Dockerfiles are very hacky to handle CUDA/ROCm, CentOS 6/7 in one Dockerfile)
- Allow specifying environment variables for each build configuration (e.g., can be used to support CUDA Python, HIP platform list, etc.)
- Rename
kind
toplatform
- Remove
includes
which is no longer used (originally used for ChainerX)