Skip to content

Commit 6242fc7

Browse files
committed
Merge rapidsai/branch-25.10 into gforsyth/rattler-build
2 parents de9a29f + b738d2c commit 6242fc7

File tree

16 files changed

+78
-304
lines changed

16 files changed

+78
-304
lines changed

CHANGELOG.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,37 @@
1+
# cucim 25.08.00 (6 Aug 2025)
2+
3+
## 🚨 Breaking Changes
4+
5+
- Remove CUDA 11 from dependencies.yaml ([#887](https://github.com/rapidsai/cucim/pull/887)) [@KyleFromNVIDIA](https://github.com/KyleFromNVIDIA)
6+
- stop uploading packages to downloads.rapids.ai ([#883](https://github.com/rapidsai/cucim/pull/883)) [@jameslamb](https://github.com/jameslamb)
7+
8+
## 🐛 Bug Fixes
9+
10+
- Drop unused variable `CUDA_MAJOR_VERSION` ([#907](https://github.com/rapidsai/cucim/pull/907)) [@jakirkham](https://github.com/jakirkham)
11+
- Fix test failures due to deprecated Pillow Image.fromarray 'mode' parameter ([#901](https://github.com/rapidsai/cucim/pull/901)) [@grlee77](https://github.com/grlee77)
12+
- Adding GH_TOKEN pass-through to summarize job ([#891](https://github.com/rapidsai/cucim/pull/891)) [@msarahan](https://github.com/msarahan)
13+
14+
## 📖 Documentation
15+
16+
- add docs on CI workflow inputs ([#897](https://github.com/rapidsai/cucim/pull/897)) [@jameslamb](https://github.com/jameslamb)
17+
18+
## 🛠️ Improvements
19+
20+
- Drop CUDA 11 references from docs ([#914](https://github.com/rapidsai/cucim/pull/914)) [@jakirkham](https://github.com/jakirkham)
21+
- fix(docker): use versioned `-latest` tag for all `rapidsai` images ([#908](https://github.com/rapidsai/cucim/pull/908)) [@gforsyth](https://github.com/gforsyth)
22+
- remove cuspatial references ([#906](https://github.com/rapidsai/cucim/pull/906)) [@jameslamb](https://github.com/jameslamb)
23+
- Drop CUDA 11 from CI Scripts ([#903](https://github.com/rapidsai/cucim/pull/903)) [@AyodeAwe](https://github.com/AyodeAwe)
24+
- run: fix compatibility with PEP-0632 for supporting Python >=3.12 ([#902](https://github.com/rapidsai/cucim/pull/902)) [@ElieDeBrauwer](https://github.com/ElieDeBrauwer)
25+
- Enhance GPU memory leak test with unified memory check and increased thresholds ([#898](https://github.com/rapidsai/cucim/pull/898)) [@gigony](https://github.com/gigony)
26+
- Use CUDA 12.9 in Conda, Devcontainers, Spark, GHA, etc. ([#894](https://github.com/rapidsai/cucim/pull/894)) [@jakirkham](https://github.com/jakirkham)
27+
- Remove nvidia and dask channels ([#893](https://github.com/rapidsai/cucim/pull/893)) [@vyasr](https://github.com/vyasr)
28+
- refactor(shellcheck): fix all shellcheck warnings/errors ([#890](https://github.com/rapidsai/cucim/pull/890)) [@gforsyth](https://github.com/gforsyth)
29+
- refactor(conda): remove cuda11 conditionals from conda recipes ([#889](https://github.com/rapidsai/cucim/pull/889)) [@gforsyth](https://github.com/gforsyth)
30+
- Remove CUDA 11 from dependencies.yaml ([#887](https://github.com/rapidsai/cucim/pull/887)) [@KyleFromNVIDIA](https://github.com/KyleFromNVIDIA)
31+
- stop uploading packages to downloads.rapids.ai ([#883](https://github.com/rapidsai/cucim/pull/883)) [@jameslamb](https://github.com/jameslamb)
32+
- Forward-merge branch-25.06 into branch-25.08 ([#880](https://github.com/rapidsai/cucim/pull/880)) [@gforsyth](https://github.com/gforsyth)
33+
- Forward-merge branch-25.06 into branch-25.08 ([#876](https://github.com/rapidsai/cucim/pull/876)) [@gforsyth](https://github.com/gforsyth)
34+
135
# cucim 25.06.00 (5 Jun 2025)
236

337
## 🛠️ Improvements

conda/environments/all_cuda-129_arch-aarch64.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ dependencies:
1818
- ipython
1919
- lazy-loader>=0.4
2020
- libnvjpeg-dev
21-
- libnvjpeg-static
2221
- matplotlib-base>=3.7
2322
- nbsphinx
2423
- ninja

conda/environments/all_cuda-129_arch-x86_64.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ dependencies:
1919
- lazy-loader>=0.4
2020
- libcufile-dev
2121
- libnvjpeg-dev
22-
- libnvjpeg-static
2322
- matplotlib-base>=3.7
2423
- nbsphinx
2524
- ninja

cpp/plugins/cucim.kit.cuslide/CMakeLists.txt

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -125,8 +125,6 @@ superbuild_depend(cli11)
125125
superbuild_depend(pugixml)
126126
superbuild_depend(json)
127127
superbuild_depend(libdeflate)
128-
superbuild_depend(nvjpeg)
129-
superbuild_depend(libculibos)
130128

131129
################################################################################
132130
# Find cucim package
@@ -216,11 +214,6 @@ target_compile_options(${CUCIM_PLUGIN_NAME} PRIVATE $<$<COMPILE_LANGUAGE:CXX>:-W
216214
# Link libraries
217215
target_link_libraries(${CUCIM_PLUGIN_NAME}
218216
PRIVATE
219-
# Use custom nvjpeg_static that supports GPU input (>= CUDA 11.6)
220-
deps::nvjpeg_static # add this before cudart so that nvjpeg.h in static library takes precedence.
221-
# Add CUDA::culibos to link necessary methods for 'deps::nvjpeg_static'
222-
CUDA::culibos # for nvjpeg
223-
CUDA::cudart
224217
deps::fmt
225218
cucim::cucim
226219
deps::libtiff
@@ -231,6 +224,22 @@ target_link_libraries(${CUCIM_PLUGIN_NAME}
231224
deps::json
232225
deps::libdeflate
233226
)
227+
if (TARGET CUDA::nvjpeg_static)
228+
target_link_libraries(${CUCIM_PLUGIN_NAME}
229+
PRIVATE
230+
# Add nvjpeg before cudart so that nvjpeg.h in static library takes precedence.
231+
CUDA::nvjpeg_static
232+
# Add CUDA::culibos to link necessary methods for 'deps::nvjpeg_static'
233+
CUDA::culibos
234+
CUDA::cudart
235+
)
236+
else()
237+
target_link_libraries(${CUCIM_PLUGIN_NAME}
238+
PRIVATE
239+
CUDA::nvjpeg
240+
CUDA::cudart
241+
)
242+
endif()
234243

235244
target_include_directories(${CUCIM_PLUGIN_NAME}
236245
PUBLIC

cpp/plugins/cucim.kit.cuslide/cmake/deps/libculibos.cmake

Lines changed: 0 additions & 42 deletions
This file was deleted.

cpp/plugins/cucim.kit.cuslide/cmake/deps/nvjpeg.cmake

Lines changed: 0 additions & 41 deletions
This file was deleted.

dependencies.yaml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,6 @@ dependencies:
173173
cuda: "12.*"
174174
packages:
175175
- libnvjpeg-dev
176-
- libnvjpeg-static
177176
- output_types: conda
178177
matrices:
179178
- matrix:
@@ -240,8 +239,8 @@ dependencies:
240239
common:
241240
- output_types: [conda, requirements, pyproject]
242241
packages:
243-
- rapids-build-backend>=0.3.0,<0.4.0.dev0
244-
- setuptools>=61.0.0
242+
- rapids-build-backend>=0.4.0,<0.5.0.dev0
243+
- setuptools>=80.9.0
245244
run:
246245
common:
247246
- output_types: [conda, requirements, pyproject]

gds/CMakeLists.txt

Lines changed: 10 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@ if (NOT APPLE)
2424
set(CMAKE_INSTALL_RPATH $ORIGIN)
2525
endif ()
2626

27+
# Find CUDA Toolkit for cudart and cufile.
28+
find_package(CUDAToolkit REQUIRED)
29+
2730
################################################################################
2831
# Add library: cufile_stub
2932
################################################################################
@@ -52,52 +55,19 @@ target_compile_options(cufile_stub
5255
)
5356

5457
## Link libraries
55-
target_link_libraries(cufile_stub
58+
if (CUCIM_STATIC_GDS)
59+
# Enabling CUCIM_STATIC_GDS statically links cuFile
60+
target_link_libraries(cufile_stub
5661
PUBLIC
5762
${CMAKE_DL_LIBS}
5863
PRIVATE
59-
CUDA::cudart
60-
)
61-
62-
# Set GDS include path (cufile.h)
63-
if (DEFINED ENV{CONDA_BUILD} AND EXISTS $ENV{PREFIX}/include/cufile.h)
64-
set(GDS_INCLUDE_PATH "$ENV{PREFIX}/include")
65-
elseif (DEFINED ENV{CONDA_PREFIX} AND EXISTS $ENV{CONDA_PREFIX}/include/cufile.h)
66-
set(GDS_INCLUDE_PATH "$ENV{CONDA_PREFIX}/include")
67-
elseif (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../temp/cuda/include/cufile.h)
68-
set(GDS_INCLUDE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../temp/cuda/include)
69-
else ()
70-
set(GDS_INCLUDE_PATH /usr/local/cuda/include)
71-
endif ()
72-
73-
message("Set GDS_INCLUDE_PATH to '${GDS_INCLUDE_PATH}'.")
74-
75-
# Enabling CUCIM_STATIC_GDS assumes that lib/libcufile_static.a and include/cufile.h is available
76-
# under ../temp/cuda folder.
77-
if (CUCIM_STATIC_GDS)
78-
add_library(deps::gds_static STATIC IMPORTED GLOBAL)
79-
80-
if (DEFINED ENV{CONDA_BUILD})
81-
set(GDS_STATIC_LIB_PATH "$ENV{PREFIX}/lib/libcufile_static.a")
82-
elseif (DEFINED ENV{CONDA_PREFIX})
83-
set(GDS_STATIC_LIB_PATH "$ENV{CONDA_PREFIX}/lib/libcufile_static.a")
84-
elseif (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../temp/cuda/lib64/libcufile_static.a)
85-
set(GDS_STATIC_LIB_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../temp/cuda/lib64/libcufile_static.a)
86-
else ()
87-
set(GDS_STATIC_LIB_PATH /usr/local/cuda/lib64/libcufile_static.a)
88-
endif ()
89-
90-
message("Set GDS_STATIC_LIB_PATH to '${GDS_STATIC_LIB_PATH}'.")
91-
92-
set_target_properties(deps::gds_static PROPERTIES
93-
IMPORTED_LOCATION "${GDS_STATIC_LIB_PATH}"
94-
INTERFACE_INCLUDE_DIRECTORIES "${GDS_INCLUDE_PATH}"
64+
CUDA::cuFile_static
9565
)
66+
else()
67+
# Use `dlopen` to load cuFile at runtime
9668
target_link_libraries(cufile_stub
9769
PUBLIC
9870
${CMAKE_DL_LIBS}
99-
PRIVATE
100-
deps::gds_static
10171
)
10272
endif()
10373

@@ -110,9 +80,8 @@ PUBLIC
11080
target_include_directories(cufile_stub
11181
PUBLIC
11282
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include>
113-
$<BUILD_INTERFACE:${GDS_INCLUDE_PATH}>
83+
${CUDAToolkit_INCLUDE_DIRS}
11484
PRIVATE
115-
# Add path to cufile.h explicitly. ${TOP}/temp/cuda would be available by `./run copy_gds_files_`
11685
${CMAKE_CURRENT_SOURCE_DIR}/../cpp/include # for including helper.h in cucim/dynlib
11786
)
11887

gds/include/cufile_stub.h

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,12 @@
1616
#ifndef CUCIM_CUFILE_STUB_H
1717
#define CUCIM_CUFILE_STUB_H
1818

19-
#include "cufile.h"
19+
// Try to include the real cufile.h, fall back to minimal types if not available
20+
#if __has_include(<cufile.h>)
21+
#include <cufile.h>
22+
#else
23+
#include "cufile_stub_types.h"
24+
#endif
2025

2126
#include "cucim/dynlib/helper.h"
2227

gds/src/cufile_stub.cpp

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -61,19 +61,9 @@ void CuFileStub::load()
6161
{
6262
// Note: Load the dynamic library with RTLD_NODELETE flag because libcufile.so uses thread_local which can
6363
// cause a segmentation fault if the library is dynamically loaded/unloaded. (See #158)
64-
// CUDA versions before CUDA 11.7.1 did not ship libcufile.so.0, so this is
65-
// a workaround that adds support for all prior versions of libcufile.
6664
handle_ = cucim::dynlib::load_library(
6765
{
6866
"libcufile.so.0",
69-
"libcufile.so.1.3.0" /* 11.7.0 */,
70-
"libcufile.so.1.2.1" /* 11.6.2, 11.6.1 */,
71-
"libcufile.so.1.2.0" /* 11.6.0 */,
72-
"libcufile.so.1.1.1" /* 11.5.1 */,
73-
"libcufile.so.1.1.0" /* 11.5.0 */,
74-
"libcufile.so.1.0.2" /* 11.4.4, 11.4.3, 11.4.2 */,
75-
"libcufile.so.1.0.1" /* 11.4.1 */,
76-
"libcufile.so.1.0.0" /* 11.4.0 */
7767
},
7868
RTLD_LAZY | RTLD_LOCAL | RTLD_NODELETE);
7969
if (handle_ == nullptr)

0 commit comments

Comments
 (0)