cupy / cupy-release-tools

Tools for CuPy Release

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Improve `WHEEL_LINUX_CONFIGS` structure in `dist_config.py`

kmaehashi opened this issue · comments

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 and SDIST_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 to platform
  • Remove includes which is no longer used (originally used for ChainerX)