Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .pfnci/build_submit.sh
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ submit_job() {

# wheels (Windows)
for CUDA in 12.x 13.x; do
for PYTHON in 3.10 3.11 3.12 3.13 3.14; do # TODO add 3.14t
for PYTHON in 3.10 3.11 3.12 3.13 3.14 3.14t; do
submit_job cupy-wheel-win ".pfnci\\wheel-windows\\main.bat ${CUDA} ${PYTHON} ${BRANCH} ${JOB_GROUP}"
done
done
Expand Down
2 changes: 1 addition & 1 deletion .pfnci/config.pbtxt
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ configs {
time_limit {
seconds: 10800
}
command: ".pfnci\\wheel-windows\\main.bat 13.x 3.14"
command: ".pfnci\\wheel-windows\\main.bat 13.x 3.14t"
}
}
configs {
Expand Down
5 changes: 5 additions & 0 deletions .pfnci/wheel-windows/_flexci.ps1
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
function ActivatePython($version) {
$pyexe = "python.exe"
if ($version -eq "3.9") {
$pydir = "Python39"
} elseif ($version -eq "3.10") {
Expand All @@ -11,10 +12,14 @@ function ActivatePython($version) {
$pydir = "Python313"
} elseif ($version -eq "3.14") {
$pydir = "Python314"
} elseif ($version -eq "3.14t") {
$pydir = "Python314"
$pyexe = "python3.14t.exe"
} else {
throw "Unsupported Python version: $version"
}
$Env:PATH = "C:\Development\Python\$pydir;C:\Development\Python\$pydir\Scripts;" + $Env:PATH
return "C:\Development\Python\$pydir\$pyexe"
}

function ActivateCUDA($version) {
Expand Down
20 changes: 10 additions & 10 deletions .pfnci/wheel-windows/build.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -30,14 +30,14 @@ function UninstallCuTENSOR($cuda_path) {
# Activate target CUDA/Python
ActivateCUDA $cuda
$cuda_path = $Env:CUDA_PATH
ActivatePython $python
$python_exe = ActivatePython $python

# Show build configuration
echo ">> Environment Variables"
echo " CUDA_PATH: $cuda_path"
echo " PATH: $Env:PATH"
echo ">> Python Version:"
RunOrDie python -V
RunOrDie $python_exe -V

# Clone CuPy and checkout the target branch
if ($Env:CUPY_RELEASE_NO_CLONE -eq "1") {
Expand All @@ -57,20 +57,20 @@ if ($Env:CUPY_RELEASE_NO_CLONE -eq "1") {

# Install dependencies
echo ">> Updating packaging utilities..."
RunOrDie python -m pip install -U setuptools pip
RunOrDie $python_exe -m pip install -U setuptools pip
echo ">> Installing dependences for wheel build..."
RunOrDie python -m pip install -U -r ./requirements.txt -r ./builder/requirements.cupy-build.txt wheel pytest
RunOrDie $python_exe -m pip install -U -r ./requirements.txt -r ./builder/requirements.cupy-build.txt wheel pytest
echo ">> Packages installed:"
RunOrDie python -m pip list
RunOrDie $python_exe -m pip list

# Build
# Note: cuTENSOR will be installed by the tool.
echo ">> Starting build..."
RunOrDie python ./dist.py --action build --target wheel-win --source cupy --python $python --cuda $cuda
RunOrDie $python_exe ./dist.py --action build --target wheel-win --source cupy --python $python --cuda $cuda

# Get wheel name
$dist_config = @(
python .\get_dist_info.py --target wheel-win --source cupy --python $python --cuda $cuda `
& $python_exe .\get_dist_info.py --target wheel-win --source cupy --python $python --cuda $cuda `
| ConvertFrom-Csv -Delimiter "=" -Header "Key", "Value"
)
$wheel_file = $dist_config[0].Value
Expand All @@ -84,13 +84,13 @@ UninstallCuTENSOR $cuda_path

# Verify
echo ">> Validating with twine check..."
RunOrDie python -m twine check --strict $wheel_file
RunOrDie $python_exe -m twine check --strict $wheel_file
echo ">> Starting verification..."
RunOrDie python ./dist.py --action verify --target wheel-win --python $python --cuda $cuda --dist $wheel_file --test release-tests/common --test release-tests/pkg_wheel
RunOrDie $python_exe ./dist.py --action verify --target wheel-win --python $python --cuda $cuda --dist $wheel_file --test release-tests/common --test release-tests/pkg_wheel

# Show build configuration in CuPy
echo ">> Build configuration"
RunOrDie python -c "import cupy; cupy.show_config()"
RunOrDie $python_exe -c "import cupy; cupy.show_config()"

# Upload to GCS
if ($job_group -eq "") {
Expand Down
2 changes: 1 addition & 1 deletion builder/agent.py
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ def main(self) -> None:
env: dict[str, str] = {}

for kv in args.env:
pair = kv.split('=', 2)
pair = kv.split('=', 1)
assert len(pair) == 2, 'invalid --env format'
env[pair[0]] = pair[1]

Expand Down
Loading