https://github.com/cupy/cupy-release-tools

Tools for CuPy Release

https://github.com/cupy/cupy-release-tools

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.1%) to scientific vocabulary

Keywords

cupy

Keywords from Contributors

cublas cudnn curand cusolver cusparse cusparselt cutensor nccl nvrtc nvtx
Last synced: 9 months ago · JSON representation

Repository

Tools for CuPy Release

Basic Info
  • Host: GitHub
  • Owner: cupy
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 698 KB
Statistics
  • Stars: 8
  • Watchers: 7
  • Forks: 13
  • Open Issues: 20
  • Releases: 58
Topics
cupy
Created over 8 years ago · Last pushed 10 months ago
Metadata Files
Readme

README.rst

cupy-release-tools
==================

Tools to automate the CuPy release process.
This tool is used to create both source distribution (``sdist``) and wheels.

The release process consists of 3 steps:

1. Build
2. Verify
3. Publish

Requirements
------------

Linux
~~~~~

* For ``sdist`` and CUDA (x86_64) wheel build, run the tool on Linux (x86_64). NVIDIA GPU + NVIDIA Container Toolkit are required for Verify step.
* For CUDA (aarch64) wheel build, run the tool on Linux (x86_64 with QEMU (aarch64), aarch64, or Tegra). NVIDIA GPU + NVIDIA Container Toolkit is required for Verify step.
* For ROCm wheel build, run the tool on Linux (x86_64). AMD GPU is required for Verify step.

Notes:

* To ensure the reproducibility of builds, the build environment is isolated by Docker.

Windows
~~~~~~~

* Windows 8+ (x86_64)
* Python, CUDA and Visual C++ are required. Versions depend on the target of the wheel.

Notes:

* Be aware that Windows tools in this repository is expected to be run on isolated virtual machine.
  Especially note that the tool directly installs the dependency libraries to ``%CUDA_PATH%``.
* ``sdist`` build on Windows is not supported.

Quick Guide
-----------

For Linux builds, you can use the ``build.sh`` shell script that wraps the Build and Verify steps.

::

  # Prepare source tree
  git clone --recursive https://github.com/cupy/cupy.git

  # Build & verify a sdist (using Python 3.10)
  ./build.sh sdist 3.10

  # Build & verify a wheel for CUDA 11.0 + Python 3.8
  ./build.sh 11.0 3.8

For Windows, or if you need some more detailed configuration, see the sections below to manually run the tool.

Build
-----

This tool can build wheels for Linux & Windows for supported CUDA/ROCm x Python variants defined in ``dist_config.py``.

Building Distributions
~~~~~~~~~~~~~~~~~~~~~~

**IMPORTANT**: Always make sure to use a fresh, just-git-cloned CuPy source tree!

To build a sdist, use the following command.
``--source`` is a path to the source tree.

::

  ./dist.py --action build --target sdist --python 3.6.0 --source path/to/cupy_repo

To build a wheel, use the following command.
This example builds wheel of CuPy with CUDA 10.0 for Python 3.8.

::

  ./dist.py --action build --target wheel-linux --python 3.8 --cuda 10.0 --source path/to/cupy_repo

Use ``--target wheel-win`` for Windows build.
Use ``--cuda rocm-5.0`` for ROCm (AMD GPU) build.

The resulting asset (sdist/wheel) will be generated to the current directory.

Working Directory (Linux)
~~~~~~~~~~~~~~~~~~~~~~~~~

It is safe to run multiple ``dist.py`` at a time.
Each time you run the tool, a dedicated temporary directory (``/tmp/cupy-dist-XXXXX``) is created.
The temporary directory is shared with the builder docker container as a volume.
The working directory will be removed after the build.

Verify
------

The tool can be used to confirm that the built distribution can work on multiple environments.

Verifying Distributions
~~~~~~~~~~~~~~~~~~~~~~~

To verify the built distribution, use the following command:

::

  ./dist.py --action verify --target wheel-linux --python 3.8 --cuda 10.0 --dist cupy_cuda100-9.0.0b2-cp38-cp38-manylinux_x86_64.whl --test release-tests/common --test release-tests/nccl

You can specify test suites directory to ``--test`` argument.
``release-tests`` is a minimal test cases handy for final check before release.
Of course, you can also run the full unit test suites from CuPy source tree.

Publish
-------

Use ``twine`` command to upload distributions.

Owner

  • Name: CuPy
  • Login: cupy
  • Kind: organization

NumPy & SciPy for GPU

GitHub Events

Total
  • Create event: 7
  • Issues event: 5
  • Release event: 5
  • Watch event: 2
  • Delete event: 4
  • Issue comment event: 51
  • Push event: 40
  • Pull request review event: 51
  • Pull request review comment event: 35
  • Pull request event: 87
  • Fork event: 2
Last Year
  • Create event: 7
  • Issues event: 5
  • Release event: 5
  • Watch event: 2
  • Delete event: 4
  • Issue comment event: 51
  • Push event: 40
  • Pull request review event: 51
  • Pull request review comment event: 35
  • Pull request event: 87
  • Fork event: 2

Committers

Last synced: 11 months ago

All Time
  • Total Commits: 618
  • Total Committers: 8
  • Avg Commits per committer: 77.25
  • Development Distribution Score (DDS): 0.159
Past Year
  • Commits: 99
  • Committers: 2
  • Avg Commits per committer: 49.5
  • Development Distribution Score (DDS): 0.495
Top Committers
Name Email Commits
Kenichi Maehashi w****r@k****m 520
SS 6****a 49
Masayuki Takagi k****a@g****m 33
Emilio Castillo e****l@p****p 10
Akifumi Imanishi i****i@p****p 3
niboshi n****0@g****m 1
Ryosuke Okuta o****a@p****p 1
Matthieu Darbois m****t 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 10
  • Total pull requests: 213
  • Average time to close issues: over 1 year
  • Average time to close pull requests: 4 days
  • Total issue authors: 3
  • Total pull request authors: 8
  • Average comments per issue: 0.2
  • Average comments per pull request: 1.1
  • Merged pull requests: 196
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 6
  • Pull requests: 105
  • Average time to close issues: about 11 hours
  • Average time to close pull requests: 2 days
  • Issue authors: 2
  • Pull request authors: 5
  • Average comments per issue: 0.0
  • Average comments per pull request: 1.06
  • Merged pull requests: 91
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • kmaehashi (8)
  • sevagh (1)
Pull Request Authors
  • kmaehashi (112)
  • chainer-ci (96)
  • takagi (8)
  • EarlMilktea (7)
  • asi1024 (4)
  • emcastillo (3)
  • leofang (1)
  • mayeut (1)
Top Labels
Issue Labels
blocking (1)
Pull Request Labels
backport (97) to-be-backported (93) blocking (38)

Dependencies

.github/workflows/backport.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.github/workflows/pretest.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
builder/Dockerfile docker
  • ${base_image} latest build
builder/base/cuda-10.2-jetson/Dockerfile docker
  • scratch latest build
builder/base/cuda-runfile/Dockerfile docker
  • ${BASE_IMAGE} latest build