Skip to content

Improve WHEEL_LINUX_CONFIGS structure in dist_config.py #166

Description

@kmaehashi

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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions