Skip to content

Commit

Permalink
Release of RTK v2.5.0
Browse files Browse the repository at this point in the history
Dear RTK users,

[RTK v2.5.0](https://github.com/RTKConsortium/RTK/archive/v2.5.0.zip) has just been released. This release is intended to produce Python packages compatible with the ITK Python packages v5.4rc01.

Release notes:
* Various CI improvements
* Account for yaw and tilt in ImagingRing geometry
* Allow for fast switching in one step spectral CT
* Add inferior and superior clip images in Joseph forward projector
* Remove ITKCudaCommon (now in https://github.com/RTKConsortium/ITKCudaCommon)
* Add various wrappings

Many thanks to all contributors for this release: Matthieu Laurendeau,
Simon Rit, Antoine Robert and Shengpeng Yu.

Simon (for the RTK consortium)
  • Loading branch information
Simon Rit authored and SimonRit committed Sep 18, 2023
1 parent d78d777 commit 0f218d3
Show file tree
Hide file tree
Showing 5 changed files with 46 additions and 17 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/build-test-cxx-cuda.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ name: 'Build, Test RTK with CUDA'
on: [push,pull_request]

env:
itk-git-tag: "v5.3.0"
itk-module-deps: "CudaCommon@82ce4108588f36906dffce146bbad6981e5a5a44"
itk-git-tag: "v5.4rc01"
itk-module-deps: "CudaCommon@v1.0.1"

jobs:
build-test-cxx:
Expand Down
47 changes: 38 additions & 9 deletions .github/workflows/build-test-package-python-cuda.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,18 @@ on: [push,pull_request]

env:
cmake-options: '-DRTK_BUILD_APPLICATIONS:BOOL=OFF -DRTK_CUDA_VERSION=11.6'
itk-wheel-tag: 'v5.3.0'
itk-python-package-tag: 'dc6a18600233ac69a8f42b7489e4edf6a5d8883a'
itk-wheel-tag: 'v5.4rc01'
itk-python-package-tag: '5ad02309321621cdc7269b9b68a35013c912271c'
itk-python-package-org: 'InsightSoftwareConsortium'
itk-module-deps: "RTKConsortium/ITKCudaCommon@82ce4108588f36906dffce146bbad6981e5a5a44"
itk-module-deps: "RTKConsortium/ITKCudaCommon@v1.0.1"

jobs:
build-linux-cuda-python-packages:
runs-on: self-hosted-linux
strategy:
max-parallel: 2
matrix:
python-version: ["37", "38", "39", "310", "311"]
python3-minor-versions: ["7", "8", "9", "10", "11"]
manylinux-platform: ["_2_28-x64","2014-x64"]

steps:
Expand Down Expand Up @@ -49,21 +49,39 @@ jobs:
export TARGET_ARCH=`(echo ${MANYLINUX_PLATFORM} | cut -d '-' -f 2)`
export ITK_MODULE_NO_CLEANUP=TRUE
echo "Building for manylinux specialization ${MANYLINUX_VERSION} and target architecture ${TARGET_ARCH}"
./dockcross-manylinux-download-cache-and-build-module-wheels.sh "${CMAKE_OPTIONS[@]}" -x "libcuda.so;libcuda.so.1;libcudart.so;libcudart.so.11.0;libcublas.so;libcublas.so.11;libcublasLt.so;libcublasLt.so.11;libcufft.so;libcufft.so.10" cp${{ matrix.python-version }}
./dockcross-manylinux-download-cache-and-build-module-wheels.sh "${CMAKE_OPTIONS[@]}" -x "libcuda.so;libcuda.so.1;libcudart.so;libcudart.so.11.0;libcublas.so;libcublas.so.11;libcublasLt.so;libcublasLt.so.11;libcufft.so;libcufft.so.10" cp3${{ matrix.python3-minor-versions }}
mv *zst ../..
- name: Validate build output
shell: bash
run: |
/home/srit/miniconda3/envs/py310/bin/python -m pip install twine
ls dist/
MANYLINUX_PLATFORM=${{ matrix.manylinux-platform }}
MANYLINUX_VERSION=`(echo ${MANYLINUX_PLATFORM} | cut -d '-' -f 1)`
TARGET_ARCH_NAME=`(echo ${MANYLINUX_PLATFORM} | cut -d '-' -f 2)`
if [[ ${TARGET_ARCH_NAME} == "x64" ]]; then
TARGET_ARCH_NAME="x86_64" # Match auditwheel naming convention
fi
WHEEL_PATTERN="dist/itk_*cp3${{ matrix.python3-minor-version }}*manylinux${MANYLINUX_VERSION}*${TARGET_ARCH_NAME}.whl"
echo "Searching for wheels matching pattern ${WHEEL_PATTERN}"
/home/srit/miniconda3/envs/py310/bin/python -m twine check ${WHEEL_PATTERN}
- name: Publish Python package as GitHub Artifact
uses: actions/upload-artifact@v3
with:
name: LinuxWheel${{ matrix.python-version }}-cuda116
name: LinuxWheel3${{ matrix.python3-minor-versions }}-cuda116
path: dist/*.whl

build-windows-cuda-python-packages:
runs-on: self-hosted-windows
strategy:
max-parallel: 2
matrix:
python-version-minor: ["7", "8", "9", "10", "11"]
python3-minor-version: ["7", "8", "9", "10", "11"]

steps:
- uses: actions/checkout@v3
Expand Down Expand Up @@ -105,15 +123,26 @@ jobs:
$env:ITKPYTHONPACKAGE_TAG = "${{ env.itk-python-package-tag }}"
$env:ITKPYTHONPACKAGE_ORG = "${{ env.itk-python-package-org }}"
$env:ITK_MODULE_PREQ = "${{ env.itk-module-deps }}"
./windows-download-cache-and-build-module-wheels.ps1 "${{ matrix.python-version-minor }}" -setup_options "--lib-paths ""C:/Program\ Files/NVIDIA\ GPU\ Computing\ Toolkit/CUDA/v11.6/bin"" --exclude-libs ""nvcuda.dll;concrt140.dll;cublas64_11.dll;cublasLt64_11.dll;cudart64_110.dll;cufft64_10.dll""" -cmake_options "${{ env.cmake-options }}"
./windows-download-cache-and-build-module-wheels.ps1 "${{ matrix.python3-minor-version }}" -setup_options "--lib-paths ""C:/Program\ Files/NVIDIA\ GPU\ Computing\ Toolkit/CUDA/v11.6/bin"" --exclude-libs ""nvcuda.dll;concrt140.dll;cublas64_11.dll;cublasLt64_11.dll;cudart64_110.dll;cufft64_10.dll""" -cmake_options "${{ env.cmake-options }}"
mkdir -p '${{ github.workspace }}\dist'
cp 'dist\*.whl' '${{ github.workspace }}\dist'
- name: Validate build output
shell: pwsh
run: |
python -m pip install twine
ls dist/
$WHEEL_PATTERN = "dist/itk_*cp3${{ matrix.python3-minor-version }}*win*.whl"
echo "Searching for wheels matching pattern ${WHEEL_PATTERN}"
python -m twine check ${WHEEL_PATTERN}
- name: Publish Python package as GitHub Artifact
uses: actions/upload-artifact@v3
with:
name: WindowsWheel3.${{ matrix.python-version-minor }}-cuda116
name: WindowsWheel3${{ matrix.python3-minor-version }}-cuda116
path: dist/*.whl

publish-python-packages-to-pypi:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/build-test-package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@ on: [push,pull_request]

jobs:
cxx-build-workflow:
uses: InsightSoftwareConsortium/ITKRemoteModuleBuildTestPackageAction/.github/workflows/build-test-cxx.yml@1514c2c529d3319976f82e48a9292be0297ffe9d
uses: InsightSoftwareConsortium/ITKRemoteModuleBuildTestPackageAction/.github/workflows/build-test-cxx.yml@v5.4.0

python-build-workflow:
uses: InsightSoftwareConsortium/ITKRemoteModuleBuildTestPackageAction/.github/workflows/build-test-package-python.yml@1514c2c529d3319976f82e48a9292be0297ffe9d
uses: InsightSoftwareConsortium/ITKRemoteModuleBuildTestPackageAction/.github/workflows/build-test-package-python.yml@v5.4.0
with:
manylinux-platforms: '["_2_28-x64","2014-x64"]'
cmake-options: '-DRTK_BUILD_APPLICATIONS:BOOL=OFF'
Expand Down
4 changes: 2 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ project(RTK)

## RTK Version
set(RTK_VERSION_MAJOR "2")
set(RTK_VERSION_MINOR "4")
set(RTK_VERSION_PATCH "1")
set(RTK_VERSION_MINOR "5")
set(RTK_VERSION_PATCH "0")
set(RTK_VERSION_STRING "${RTK_VERSION_MAJOR}.${RTK_VERSION_MINOR}")

set(RTK_LIBRARIES RTK)
Expand Down
4 changes: 2 additions & 2 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

# Configure wheel name if CUDA is used
wheel_name='itk-rtk'
wheel_requirements=[r'itk>=5.3.0']
wheel_requirements=[r'itk>=5.4rc1']

# Extract cuda version from the RTK_CUDA_VERSION cmake option
for arg in sys.argv:
Expand All @@ -24,7 +24,7 @@

setup(
name=wheel_name,
version='2.4.1',
version='2.5.0',
author='RTK Consortium',
author_email='rtk-users@openrtk.org',
packages=['itk'],
Expand Down

0 comments on commit 0f218d3

Please sign in to comment.