Skip to content

{bio,perf}[GCC/14.2.0,foss/2025a] dorado v1.4.0, kineto v20260317 w/ CUDA 12.8.0#25641

Open
pavelToman wants to merge 3 commits intoeasybuilders:developfrom
pavelToman:20260327173649_new_pr_dorado140
Open

{bio,perf}[GCC/14.2.0,foss/2025a] dorado v1.4.0, kineto v20260317 w/ CUDA 12.8.0#25641
pavelToman wants to merge 3 commits intoeasybuilders:developfrom
pavelToman:20260327173649_new_pr_dorado140

Conversation

@pavelToman
Copy link
Copy Markdown
Collaborator

@pavelToman pavelToman commented Mar 27, 2026

…260317-GCC-14.2.0-CUDA-12.8.0.eb and patches: dorado-1.4.0_fix-TestUtils.h.patch, dorado-1.4.0_fix-hts-cmake.patch
@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 27, 2026

Updated software dorado-1.4.0-foss-2025a-CUDA-12.8.0.eb

Diff against dorado-1.1.1-foss-2024a-CUDA-12.6.0.eb

easybuild/easyconfigs/d/dorado/dorado-1.1.1-foss-2024a-CUDA-12.6.0.eb

diff --git a/easybuild/easyconfigs/d/dorado/dorado-1.1.1-foss-2024a-CUDA-12.6.0.eb b/easybuild/easyconfigs/d/dorado/dorado-1.4.0-foss-2025a-CUDA-12.8.0.eb
index eb876a41d6..593675d075 100644
--- a/easybuild/easyconfigs/d/dorado/dorado-1.1.1-foss-2024a-CUDA-12.6.0.eb
+++ b/easybuild/easyconfigs/d/dorado/dorado-1.4.0-foss-2025a-CUDA-12.8.0.eb
@@ -1,14 +1,14 @@
 easyblock = 'CMakeMake'
 
 name = 'dorado'
-version = '1.1.1'
+version = '1.4.0'
 versionsuffix = '-CUDA-%(cudaver)s'
 
 homepage = 'https://github.com/nanoporetech/dorado'
 description = """Dorado is a high-performance, easy-to-use, open source basecaller for Oxford Nanopore reads."""
 
-toolchain = {'name': 'foss', 'version': '2024a'}
-toolchainopts = {'usempi': True}
+toolchain = {'name': 'foss', 'version': '2025a'}
+toolchainopts = {'usempi': False}
 
 source_urls = ['https://github.com/nanoporetech/dorado/archive/']
 sources = [{
@@ -21,30 +21,30 @@ sources = [{
     'filename': SOURCE_TAR_XZ,
 }]
 patches = [
-    '%(name)s-1.0.0_dont_install_external_libraries.patch',
+    'dorado-1.4.0_fix-hts-cmake.patch',
+    'dorado-1.4.0_fix-TestUtils.h.patch',
 ]
 checksums = [
-    {'dorado-1.1.1.tar.xz': 'e3aad85ab5076bae19a679332b71215c3b10faa745e3b46b7a35fc8fdb14fed6'},
-    {'dorado-1.0.0_dont_install_external_libraries.patch':
-     '2db45a8b1d5360e743b96beb9ce61264a2b3d4a815bed10ee4978caa3fba3a3b'},
+    {'dorado-1.4.0.tar.xz': 'b65aaaeacd9169ecf3722b4e37956f74ae4ac9ce09827d3bb4cdef1ec82e6965'},
+    {'dorado-1.4.0_fix-hts-cmake.patch': 'b99f268086650462437cc252040bb8636dfe1e1bbb566e65590fd3401d63f2a0'},
+    {'dorado-1.4.0_fix-TestUtils.h.patch': 'f99f0de9506ad9e58be508ae353546e94eb77c6ae5b085637060ec83331ad5ed'},
 ]
 
 builddependencies = [
-    ('binutils', '2.42'),
-    ('CMake', '3.29.3'),
-    ('patchelf', '0.18.0'),
-    ('git', '2.45.1'),
+    ('CMake', '3.31.3'),
+    ('git', '2.49.0'),
 ]
 
 dependencies = [
-    ('CUDA', '12.6.0', '', SYSTEM),
+    ('CUDA', '12.8.0', '', SYSTEM),
+    ('Python', '3.13.1'),
     ('OpenSSL', '3', '', SYSTEM),
-    ('PyTorch', '2.7.1', versionsuffix),
-    ('HDF5', '1.14.5'),
+    ('PyTorch', '2.9.1', versionsuffix),
+    ('HDF5', '1.14.6'),
     ('zstd', '1.5.6'),
-    ('HTSlib', '1.21'),
-    ('kineto', '20250715', versionsuffix),
-    ('libaec', '1.1.3'),
+    ('HTSlib', '1.22.1'),
+    ('kineto', '20260317', versionsuffix),
+    ('libaec', '1.1.4'),
 ]
 
 # don't link to OpenSSL static libraries
@@ -53,68 +53,26 @@ preconfigopts = "sed -i '/OPENSSL_USE_STATIC_LIBS TRUE/d' ../dorado/cmake/OpenSS
 # link in the ssl and crypto libs, to fix:
 # undefined reference to symbol 'SSL_get_peer_certificate@@OPENSSL_1_1_0'
 preconfigopts += r"sed -i 's/OpenSSL::SSL/ssl\n    crypto/g' ../dorado/dorado/utils/CMakeLists.txt && "
-
-# don't use vendored HTSlib, use provided HTSlib dependency
-preconfigopts += "rm -r ../dorado/dorado/3rdparty/htslib/ && "
-preconfigopts += "sed -i '/add_dependencies.*htslib_project/d' ../dorado/CMakeLists.txt && "
-preconfigopts += "sed -i '/add_dependencies.*htslib_project/d' ../dorado/dorado/utils/CMakeLists.txt && "
-preconfigopts += "sed -i '/Htslib.cmake/d' ../dorado/CMakeLists.txt && "
-# rename link target 'htslib' -> 'hts' only in CMake files, excluding kadayashi's cmake dir
-preconfigopts += r"find ../dorado -type f \( -name CMakeLists.txt -o -name '*.cmake' \) "
-preconfigopts += "-not -path '../dorado/dorado/3rdparty/kadayashi/cmake/*' -print0 | "
-preconfigopts += r"xargs -0 sed -i -E 's/\<htslib\>/hts/g' && "
-# keep kadayashi's find_package on 'htslib' and make it return -lhts via its finder
-preconfigopts += r"sed -i -E 's/find_package\(\s*hts\b/find_package(htslib/' "
-preconfigopts += "../dorado/dorado/3rdparty/kadayashi/CMakeLists.txt && "
-preconfigopts += r"sed -i -E 's/\bset\(HTSLIB_LIBRARIES\s+htslib(::hts)?\)/set(HTSLIB_LIBRARIES hts)/' "
-preconfigopts += "../dorado/dorado/3rdparty/kadayashi/cmake/Findhtslib.cmake && "
-
+# replace dont_install_external_libraries.patch by sed cmd - use system CUDA
+preconfigopts += "sed -i '/install(FILES ${NATIVE_CUDA_LIBS} DESTINATION lib COMPONENT redist_libs)/d' "
+preconfigopts += "../dorado/cmake/InstallRedistLibs.cmake && "
 # disable treating warnings like errors by stripping out -Werror
 # cfr. https://github.com/nanoporetech/dorado/issues/779
 preconfigopts += "sed -i 's/-Werror//g' ../dorado/cmake/Warnings.cmake && "
-preconfigopts += "sed -i 's/enable_warnings_as_errors.*//g' ../dorado/CMakeLists.txt "
-preconfigopts += "../dorado/dorado/utils/CMakeLists.txt "
-preconfigopts += "../dorado/dorado/modbase/CMakeLists.txt "
-preconfigopts += "../dorado/dorado/torch_utils/CMakeLists.txt && "
 
-# skip including a nonexistant file
-preconfigopts += "TMPDIR=$(mktemp -d) && "
-preconfigopts += "head -442 ../dorado/cmake/Torch.cmake > $TMPDIR/cmake && "
-preconfigopts += "tail -31 ../dorado/cmake/Torch.cmake >> $TMPDIR/cmake && "
-preconfigopts += "mv $TMPDIR/cmake ../dorado/cmake/Torch.cmake && "
-
-_copts = [
+local_torch_root_py = 'import torch, pathlib; print(pathlib.Path(torch.__file__).resolve().parent)'
+configopts = ' '.join([
     "-DCUDA_TOOLKIT_ROOT_DIR=$EBROOTCUDA",
     "-DCMAKE_CUDA_COMPILER=$EBROOTCUDA/bin/nvcc",
     '-DOPENSSL_ROOT_DIR=$EBROOTOPENSSL',
-    "-DDORADO_LIBTORCH_DIR=$EBROOTPYTORCH/lib",
-    # add -pthread flag (in addition to -lpthread) to avoid linking error:
-    # in function `_GLOBAL__sub_I_mutex.cc': mutex.cc:(.text.startup+0x17): undefined reference to `pthread_atfork'
     '-DCMAKE_C_FLAGS="$CFLAGS -pthread"',
     '-DCMAKE_CXX_FLAGS="$CXXFLAGS -pthread"',
-    # "-DHTSLIB_INCLUDE_DIR=$EBROOTHTSLIB/include",
-    # "-DHTSLIB_LIBRARIES=$EBROOTHTSLIB/lib/libhts.so",
-    '-DCMAKE_EXE_LINKER_FLAGS="$LDFLAGS -lcublas"',
-    '-DCMAKE_SHARED_LINKER_FLAGS="$LDFLAGS -lcublas"',
-]
+    # let torch find its files - different paths for PyTorch from sources and wheels
+    rf'''-DDORADO_LIBTORCH_DIR="$(python -s -c '{local_torch_root_py}')"''',
+    r'''-DCMAKE_PREFIX_PATH="$(python -s -c 'import torch; print(torch.utils.cmake_prefix_path)')"''',
+]) + ' '
 
-configopts = ' '.join(_copts) + ' '
-
-# disable CMake fiddling with RPATH when EasyBuild is configured to use RPATH linking
-configopts += "$(if %(rpath_enabled)s; then "
-configopts += "echo '-DCMAKE_SKIP_INSTALL_RPATH=YES -DCMAKE_SKIP_RPATH=YES'; fi) "
-
-# CUDA libraries that are copied to installdir need to be patched to have an RPATH section
-# when EasyBuild is configured to use RPATH linking (required to pass RPATH sanity check);
-# by default, CMake sets RUNPATH to '$ORIGIN' rather than RPATH (but that's disabled above)
-postinstallcmds = [
-    "if %(rpath_enabled)s; then "
-    "  for lib in $(ls %(installdir)s/lib/lib{cu,nv}*.so*); do "
-    "    echo setting RPATH in $lib;"
-    "    patchelf --force-rpath --set-rpath '$ORIGIN' $lib;"
-    "  done;"
-    "fi",
-]
+runtest = True
 
 sanity_check_paths = {
     'files': ['bin/dorado'],
Diff against dorado-0.9.1-foss-2023a-CUDA-12.1.1.eb

easybuild/easyconfigs/d/dorado/dorado-0.9.1-foss-2023a-CUDA-12.1.1.eb

diff --git a/easybuild/easyconfigs/d/dorado/dorado-0.9.1-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/d/dorado/dorado-1.4.0-foss-2025a-CUDA-12.8.0.eb
index f1006a7765..593675d075 100644
--- a/easybuild/easyconfigs/d/dorado/dorado-0.9.1-foss-2023a-CUDA-12.1.1.eb
+++ b/easybuild/easyconfigs/d/dorado/dorado-1.4.0-foss-2025a-CUDA-12.8.0.eb
@@ -1,14 +1,14 @@
 easyblock = 'CMakeMake'
 
 name = 'dorado'
-version = '0.9.1'
+version = '1.4.0'
 versionsuffix = '-CUDA-%(cudaver)s'
 
 homepage = 'https://github.com/nanoporetech/dorado'
 description = """Dorado is a high-performance, easy-to-use, open source basecaller for Oxford Nanopore reads."""
 
-toolchain = {'name': 'foss', 'version': '2023a'}
-toolchainopts = {'usempi': True}
+toolchain = {'name': 'foss', 'version': '2025a'}
+toolchainopts = {'usempi': False}
 
 source_urls = ['https://github.com/nanoporetech/dorado/archive/']
 sources = [{
@@ -21,30 +21,30 @@ sources = [{
     'filename': SOURCE_TAR_XZ,
 }]
 patches = [
-    '%(name)s-0.8.0_dont_install_external_libraries.patch',
+    'dorado-1.4.0_fix-hts-cmake.patch',
+    'dorado-1.4.0_fix-TestUtils.h.patch',
 ]
 checksums = [
-    {'dorado-0.9.1.tar.xz':
-     '95fcbc822b0f31e0f670cafbd234ea639233e978d2fad745b0546b344974dff0'},
-    {'dorado-0.8.0_dont_install_external_libraries.patch':
-     '28942b7057af00c574a5e70d33a58b4036fd09ae0b041f45b67581c8dda832b1'},
+    {'dorado-1.4.0.tar.xz': 'b65aaaeacd9169ecf3722b4e37956f74ae4ac9ce09827d3bb4cdef1ec82e6965'},
+    {'dorado-1.4.0_fix-hts-cmake.patch': 'b99f268086650462437cc252040bb8636dfe1e1bbb566e65590fd3401d63f2a0'},
+    {'dorado-1.4.0_fix-TestUtils.h.patch': 'f99f0de9506ad9e58be508ae353546e94eb77c6ae5b085637060ec83331ad5ed'},
 ]
 
 builddependencies = [
-    ('binutils', '2.40'),
-    ('CMake', '3.26.3'),
-    ('patchelf', '0.18.0'),
+    ('CMake', '3.31.3'),
+    ('git', '2.49.0'),
 ]
 
 dependencies = [
-    ('CUDA', '12.1.1', '', SYSTEM),
-    ('OpenSSL', '1.1', '', SYSTEM),
-    ('PyTorch', '2.1.2', '-CUDA-%(cudaver)s'),
-    ('HDF5', '1.14.0'),
-    ('zstd', '1.5.5'),
-    ('HTSlib', '1.18'),
-    ('kineto', '0.4.0'),
-    ('libaec', '1.0.6'),
+    ('CUDA', '12.8.0', '', SYSTEM),
+    ('Python', '3.13.1'),
+    ('OpenSSL', '3', '', SYSTEM),
+    ('PyTorch', '2.9.1', versionsuffix),
+    ('HDF5', '1.14.6'),
+    ('zstd', '1.5.6'),
+    ('HTSlib', '1.22.1'),
+    ('kineto', '20260317', versionsuffix),
+    ('libaec', '1.1.4'),
 ]
 
 # don't link to OpenSSL static libraries
@@ -52,49 +52,27 @@ dependencies = [
 preconfigopts = "sed -i '/OPENSSL_USE_STATIC_LIBS TRUE/d' ../dorado/cmake/OpenSSL.cmake && "
 # link in the ssl and crypto libs, to fix:
 # undefined reference to symbol 'SSL_get_peer_certificate@@OPENSSL_1_1_0'
-preconfigopts += "sed -i 's/OpenSSL::SSL/ssl\\n    crypto/g' ../dorado/dorado/utils/CMakeLists.txt && "
-
-# don't use vendored HTSlib, use provided HTSlib dependency
-preconfigopts += "rm -r ../dorado/dorado/3rdparty/htslib/ && "
-preconfigopts += "sed -i '/add_dependencies.*htslib_project/d' ../dorado/CMakeLists.txt && "
-preconfigopts += "sed -i '/add_dependencies.*htslib_project/d' ../dorado/dorado/utils/CMakeLists.txt && "
-preconfigopts += "sed -i '/Htslib.cmake/d' ../dorado/CMakeLists.txt && "
-# link with -lhts, not -lhtslib
-preconfigopts += "sed -i 's/htslib/hts/g' ../dorado/CMakeLists.txt && "
-preconfigopts += "sed -i 's/htslib/hts/g' ../dorado/dorado/utils/CMakeLists.txt && "
-preconfigopts += "sed -i 's/htslib/hts/g' ../dorado/dorado/torch_utils/CMakeLists.txt && "
-
+preconfigopts += r"sed -i 's/OpenSSL::SSL/ssl\n    crypto/g' ../dorado/dorado/utils/CMakeLists.txt && "
+# replace dont_install_external_libraries.patch by sed cmd - use system CUDA
+preconfigopts += "sed -i '/install(FILES ${NATIVE_CUDA_LIBS} DESTINATION lib COMPONENT redist_libs)/d' "
+preconfigopts += "../dorado/cmake/InstallRedistLibs.cmake && "
 # disable treating warnings like errors by stripping out -Werror
 # cfr. https://github.com/nanoporetech/dorado/issues/779
 preconfigopts += "sed -i 's/-Werror//g' ../dorado/cmake/Warnings.cmake && "
 
-_copts = [
+local_torch_root_py = 'import torch, pathlib; print(pathlib.Path(torch.__file__).resolve().parent)'
+configopts = ' '.join([
     "-DCUDA_TOOLKIT_ROOT_DIR=$EBROOTCUDA",
     "-DCMAKE_CUDA_COMPILER=$EBROOTCUDA/bin/nvcc",
     '-DOPENSSL_ROOT_DIR=$EBROOTOPENSSL',
-    "-DDORADO_LIBTORCH_DIR=$EBROOTPYTORCH/lib",
-    # add -pthread flag (in addition to -lpthread) to avoid linking error:
-    # in function `_GLOBAL__sub_I_mutex.cc': mutex.cc:(.text.startup+0x17): undefined reference to `pthread_atfork'
     '-DCMAKE_C_FLAGS="$CFLAGS -pthread"',
-]
+    '-DCMAKE_CXX_FLAGS="$CXXFLAGS -pthread"',
+    # let torch find its files - different paths for PyTorch from sources and wheels
+    rf'''-DDORADO_LIBTORCH_DIR="$(python -s -c '{local_torch_root_py}')"''',
+    r'''-DCMAKE_PREFIX_PATH="$(python -s -c 'import torch; print(torch.utils.cmake_prefix_path)')"''',
+]) + ' '
 
-configopts = ' '.join(_copts) + ' '
-
-# disable CMake fiddling with RPATH when EasyBuild is configured to use RPATH linking
-configopts += "$(if %(rpath_enabled)s; then "
-configopts += "echo '-DCMAKE_SKIP_INSTALL_RPATH=YES -DCMAKE_SKIP_RPATH=YES'; fi) "
-
-# CUDA libraries that are copied to installdir need to be patched to have an RPATH section
-# when EasyBuild is configured to use RPATH linking (required to pass RPATH sanity check);
-# by default, CMake sets RUNPATH to '$ORIGIN' rather than RPATH (but that's disabled above)
-postinstallcmds = [
-    "if %(rpath_enabled)s; then "
-    "  for lib in $(ls %(installdir)s/lib/lib{cu,nv}*.so*); do "
-    "    echo setting RPATH in $lib;"
-    "    patchelf --force-rpath --set-rpath '$ORIGIN' $lib;"
-    "  done;"
-    "fi",
-]
+runtest = True
 
 sanity_check_paths = {
     'files': ['bin/dorado'],
Diff against dorado-0.9.0-foss-2023a-CUDA-12.1.1.eb

easybuild/easyconfigs/d/dorado/dorado-0.9.0-foss-2023a-CUDA-12.1.1.eb

diff --git a/easybuild/easyconfigs/d/dorado/dorado-0.9.0-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/d/dorado/dorado-1.4.0-foss-2025a-CUDA-12.8.0.eb
index 38a2abfe08..593675d075 100644
--- a/easybuild/easyconfigs/d/dorado/dorado-0.9.0-foss-2023a-CUDA-12.1.1.eb
+++ b/easybuild/easyconfigs/d/dorado/dorado-1.4.0-foss-2025a-CUDA-12.8.0.eb
@@ -1,14 +1,14 @@
 easyblock = 'CMakeMake'
 
 name = 'dorado'
-version = '0.9.0'
+version = '1.4.0'
 versionsuffix = '-CUDA-%(cudaver)s'
 
 homepage = 'https://github.com/nanoporetech/dorado'
 description = """Dorado is a high-performance, easy-to-use, open source basecaller for Oxford Nanopore reads."""
 
-toolchain = {'name': 'foss', 'version': '2023a'}
-toolchainopts = {'usempi': True}
+toolchain = {'name': 'foss', 'version': '2025a'}
+toolchainopts = {'usempi': False}
 
 source_urls = ['https://github.com/nanoporetech/dorado/archive/']
 sources = [{
@@ -21,30 +21,30 @@ sources = [{
     'filename': SOURCE_TAR_XZ,
 }]
 patches = [
-    '%(name)s-0.8.0_dont_install_external_libraries.patch',
+    'dorado-1.4.0_fix-hts-cmake.patch',
+    'dorado-1.4.0_fix-TestUtils.h.patch',
 ]
 checksums = [
-    {'dorado-0.9.0.tar.xz':
-     'f08ccbd047d16e20e1fbd71f3449c9b82cbe264aa07a0d0f9a637f957587d99a'},
-    {'dorado-0.8.0_dont_install_external_libraries.patch':
-     '28942b7057af00c574a5e70d33a58b4036fd09ae0b041f45b67581c8dda832b1'},
+    {'dorado-1.4.0.tar.xz': 'b65aaaeacd9169ecf3722b4e37956f74ae4ac9ce09827d3bb4cdef1ec82e6965'},
+    {'dorado-1.4.0_fix-hts-cmake.patch': 'b99f268086650462437cc252040bb8636dfe1e1bbb566e65590fd3401d63f2a0'},
+    {'dorado-1.4.0_fix-TestUtils.h.patch': 'f99f0de9506ad9e58be508ae353546e94eb77c6ae5b085637060ec83331ad5ed'},
 ]
 
 builddependencies = [
-    ('binutils', '2.40'),
-    ('CMake', '3.26.3'),
-    ('patchelf', '0.18.0'),
+    ('CMake', '3.31.3'),
+    ('git', '2.49.0'),
 ]
 
 dependencies = [
-    ('CUDA', '12.1.1', '', SYSTEM),
-    ('OpenSSL', '1.1', '', SYSTEM),
-    ('PyTorch', '2.1.2', '-CUDA-%(cudaver)s'),
-    ('HDF5', '1.14.0'),
-    ('zstd', '1.5.5'),
-    ('HTSlib', '1.18'),
-    ('kineto', '0.4.0'),
-    ('libaec', '1.0.6'),
+    ('CUDA', '12.8.0', '', SYSTEM),
+    ('Python', '3.13.1'),
+    ('OpenSSL', '3', '', SYSTEM),
+    ('PyTorch', '2.9.1', versionsuffix),
+    ('HDF5', '1.14.6'),
+    ('zstd', '1.5.6'),
+    ('HTSlib', '1.22.1'),
+    ('kineto', '20260317', versionsuffix),
+    ('libaec', '1.1.4'),
 ]
 
 # don't link to OpenSSL static libraries
@@ -52,49 +52,27 @@ dependencies = [
 preconfigopts = "sed -i '/OPENSSL_USE_STATIC_LIBS TRUE/d' ../dorado/cmake/OpenSSL.cmake && "
 # link in the ssl and crypto libs, to fix:
 # undefined reference to symbol 'SSL_get_peer_certificate@@OPENSSL_1_1_0'
-preconfigopts += "sed -i 's/OpenSSL::SSL/ssl\\n    crypto/g' ../dorado/dorado/utils/CMakeLists.txt && "
-
-# don't use vendored HTSlib, use provided HTSlib dependency
-preconfigopts += "rm -r ../dorado/dorado/3rdparty/htslib/ && "
-preconfigopts += "sed -i '/add_dependencies.*htslib_project/d' ../dorado/CMakeLists.txt && "
-preconfigopts += "sed -i '/add_dependencies.*htslib_project/d' ../dorado/dorado/utils/CMakeLists.txt && "
-preconfigopts += "sed -i '/Htslib.cmake/d' ../dorado/CMakeLists.txt && "
-# link with -lhts, not -lhtslib
-preconfigopts += "sed -i 's/htslib/hts/g' ../dorado/CMakeLists.txt && "
-preconfigopts += "sed -i 's/htslib/hts/g' ../dorado/dorado/utils/CMakeLists.txt && "
-preconfigopts += "sed -i 's/htslib/hts/g' ../dorado/dorado/torch_utils/CMakeLists.txt && "
-
+preconfigopts += r"sed -i 's/OpenSSL::SSL/ssl\n    crypto/g' ../dorado/dorado/utils/CMakeLists.txt && "
+# replace dont_install_external_libraries.patch by sed cmd - use system CUDA
+preconfigopts += "sed -i '/install(FILES ${NATIVE_CUDA_LIBS} DESTINATION lib COMPONENT redist_libs)/d' "
+preconfigopts += "../dorado/cmake/InstallRedistLibs.cmake && "
 # disable treating warnings like errors by stripping out -Werror
 # cfr. https://github.com/nanoporetech/dorado/issues/779
 preconfigopts += "sed -i 's/-Werror//g' ../dorado/cmake/Warnings.cmake && "
 
-_copts = [
+local_torch_root_py = 'import torch, pathlib; print(pathlib.Path(torch.__file__).resolve().parent)'
+configopts = ' '.join([
     "-DCUDA_TOOLKIT_ROOT_DIR=$EBROOTCUDA",
     "-DCMAKE_CUDA_COMPILER=$EBROOTCUDA/bin/nvcc",
     '-DOPENSSL_ROOT_DIR=$EBROOTOPENSSL',
-    "-DDORADO_LIBTORCH_DIR=$EBROOTPYTORCH/lib",
-    # add -pthread flag (in addition to -lpthread) to avoid linking error:
-    # in function `_GLOBAL__sub_I_mutex.cc': mutex.cc:(.text.startup+0x17): undefined reference to `pthread_atfork'
     '-DCMAKE_C_FLAGS="$CFLAGS -pthread"',
-]
+    '-DCMAKE_CXX_FLAGS="$CXXFLAGS -pthread"',
+    # let torch find its files - different paths for PyTorch from sources and wheels
+    rf'''-DDORADO_LIBTORCH_DIR="$(python -s -c '{local_torch_root_py}')"''',
+    r'''-DCMAKE_PREFIX_PATH="$(python -s -c 'import torch; print(torch.utils.cmake_prefix_path)')"''',
+]) + ' '
 
-configopts = ' '.join(_copts) + ' '
-
-# disable CMake fiddling with RPATH when EasyBuild is configured to use RPATH linking
-configopts += "$(if %(rpath_enabled)s; then "
-configopts += "echo '-DCMAKE_SKIP_INSTALL_RPATH=YES -DCMAKE_SKIP_RPATH=YES'; fi) "
-
-# CUDA libraries that are copied to installdir need to be patched to have an RPATH section
-# when EasyBuild is configured to use RPATH linking (required to pass RPATH sanity check);
-# by default, CMake sets RUNPATH to '$ORIGIN' rather than RPATH (but that's disabled above)
-postinstallcmds = [
-    "if %(rpath_enabled)s; then "
-    "  for lib in $(ls %(installdir)s/lib/lib{cu,nv}*.so*); do "
-    "    echo setting RPATH in $lib;"
-    "    patchelf --force-rpath --set-rpath '$ORIGIN' $lib;"
-    "  done;"
-    "fi",
-]
+runtest = True
 
 sanity_check_paths = {
     'files': ['bin/dorado'],

Updated software kineto-20260317-GCC-14.2.0-CUDA-12.8.0.eb

Diff against kineto-20250715-GCC-13.3.0-CUDA-12.6.0.eb

easybuild/easyconfigs/k/kineto/kineto-20250715-GCC-13.3.0-CUDA-12.6.0.eb

diff --git a/easybuild/easyconfigs/k/kineto/kineto-20250715-GCC-13.3.0-CUDA-12.6.0.eb b/easybuild/easyconfigs/k/kineto/kineto-20260317-GCC-14.2.0-CUDA-12.8.0.eb
index ea9f20e466..6233e8f08e 100644
--- a/easybuild/easyconfigs/k/kineto/kineto-20250715-GCC-13.3.0-CUDA-12.6.0.eb
+++ b/easybuild/easyconfigs/k/kineto/kineto-20260317-GCC-14.2.0-CUDA-12.8.0.eb
@@ -1,14 +1,14 @@
 easyblock = 'CMakeMake'
 
 name = 'kineto'
-version = '20250715'
-local_commit = '16e2a56'
+version = '20260317'
+local_commit = '7d860f2'
 versionsuffix = '-CUDA-%(cudaver)s'
 
 homepage = 'https://github.com/pytorch/kineto'
 description = "A CPU+GPU Profiling library that provides access to timeline traces and hardware performance counters"
 
-toolchain = {'name': 'GCC', 'version': '13.3.0'}
+toolchain = {'name': 'GCC', 'version': '14.2.0'}
 
 source_urls = ['https://github.com/pytorch/kineto/archive/']
 sources = [{
@@ -20,13 +20,13 @@ sources = [{
     },
     'filename': SOURCE_TAR_XZ,
 }]
-checksums = ['bc44d710104b879f6982ffd4d79a8ba6c97c8aa5fefbcfd85c317d541ed1094d']
+checksums = ['015ad66abc07c4120be0789168d34f5537dc8b87b0ad96775a3ba70a18894c96']
 
 builddependencies = [
-    ('CMake', '3.29.3'),
-    ('Python', '3.12.3'),
+    ('CMake', '3.31.3'),
+    ('Python', '3.13.1'),
 ]
-dependencies = [('CUDA', '12.6.0', '', SYSTEM)]
+dependencies = [('CUDA', '12.8.0', '', SYSTEM)]
 
 start_dir = 'libkineto'
 
Diff against kineto-0.4.0-GCC-13.3.0.eb

easybuild/easyconfigs/k/kineto/kineto-0.4.0-GCC-13.3.0.eb

diff --git a/easybuild/easyconfigs/k/kineto/kineto-0.4.0-GCC-13.3.0.eb b/easybuild/easyconfigs/k/kineto/kineto-20260317-GCC-14.2.0-CUDA-12.8.0.eb
index 456a2baa5c..6233e8f08e 100644
--- a/easybuild/easyconfigs/k/kineto/kineto-0.4.0-GCC-13.3.0.eb
+++ b/easybuild/easyconfigs/k/kineto/kineto-20260317-GCC-14.2.0-CUDA-12.8.0.eb
@@ -1,33 +1,32 @@
 easyblock = 'CMakeMake'
 
 name = 'kineto'
-version = '0.4.0'
+version = '20260317'
+local_commit = '7d860f2'
+versionsuffix = '-CUDA-%(cudaver)s'
 
 homepage = 'https://github.com/pytorch/kineto'
 description = "A CPU+GPU Profiling library that provides access to timeline traces and hardware performance counters"
 
-toolchain = {'name': 'GCC', 'version': '13.3.0'}
+toolchain = {'name': 'GCC', 'version': '14.2.0'}
 
 source_urls = ['https://github.com/pytorch/kineto/archive/']
 sources = [{
     'git_config': {
         'url': 'https://github.com/pytorch',
         'repo_name': name,
-        'tag': 'v%(version)s',
+        'commit': local_commit,
         'recursive': True,
     },
     'filename': SOURCE_TAR_XZ,
 }]
-patches = ['kineto-0.4.0-include-cstdint.patch']
-checksums = [
-    {'kineto-0.4.0.tar.xz': '5f1c744d57fdc40878b0ff87400097b04ed3027757bcccf6d4f8ceecc8e29855'},
-    {'kineto-0.4.0-include-cstdint.patch': '516703955485531c4309338c85d84692817e36a7bf424af2fc47d286ddc2c320'},
-]
+checksums = ['015ad66abc07c4120be0789168d34f5537dc8b87b0ad96775a3ba70a18894c96']
 
 builddependencies = [
-    ('CMake', '3.29.3'),
-    ('Python', '3.12.3'),
+    ('CMake', '3.31.3'),
+    ('Python', '3.13.1'),
 ]
+dependencies = [('CUDA', '12.8.0', '', SYSTEM)]
 
 start_dir = 'libkineto'
 
Diff against kineto-0.4.0-GCC-12.3.0.eb

easybuild/easyconfigs/k/kineto/kineto-0.4.0-GCC-12.3.0.eb

diff --git a/easybuild/easyconfigs/k/kineto/kineto-0.4.0-GCC-12.3.0.eb b/easybuild/easyconfigs/k/kineto/kineto-20260317-GCC-14.2.0-CUDA-12.8.0.eb
index 8bbd957c43..6233e8f08e 100644
--- a/easybuild/easyconfigs/k/kineto/kineto-0.4.0-GCC-12.3.0.eb
+++ b/easybuild/easyconfigs/k/kineto/kineto-20260317-GCC-14.2.0-CUDA-12.8.0.eb
@@ -1,29 +1,32 @@
 easyblock = 'CMakeMake'
 
 name = 'kineto'
-version = '0.4.0'
+version = '20260317'
+local_commit = '7d860f2'
+versionsuffix = '-CUDA-%(cudaver)s'
 
 homepage = 'https://github.com/pytorch/kineto'
 description = "A CPU+GPU Profiling library that provides access to timeline traces and hardware performance counters"
 
-toolchain = {'name': 'GCC', 'version': '12.3.0'}
+toolchain = {'name': 'GCC', 'version': '14.2.0'}
 
 source_urls = ['https://github.com/pytorch/kineto/archive/']
 sources = [{
     'git_config': {
         'url': 'https://github.com/pytorch',
         'repo_name': name,
-        'tag': 'v%(version)s',
+        'commit': local_commit,
         'recursive': True,
     },
     'filename': SOURCE_TAR_XZ,
 }]
-checksums = ['5f1c744d57fdc40878b0ff87400097b04ed3027757bcccf6d4f8ceecc8e29855']
+checksums = ['015ad66abc07c4120be0789168d34f5537dc8b87b0ad96775a3ba70a18894c96']
 
 builddependencies = [
-    ('CMake', '3.26.3'),
-    ('Python', '3.11.3'),
+    ('CMake', '3.31.3'),
+    ('Python', '3.13.1'),
 ]
+dependencies = [('CUDA', '12.8.0', '', SYSTEM)]
 
 start_dir = 'libkineto'
 

@pavelToman
Copy link
Copy Markdown
Collaborator Author

Test report by @pavelToman
SUCCESS
Build succeeded for 2 out of 2 (total: 16 mins 41 secs) (2 easyconfigs in total)
node4010.donphan.os - Linux RHEL 9.6, x86_64, Intel(R) Xeon(R) Gold 6240 CPU @ 2.60GHz, 1 x NVIDIA NVIDIA A2, 580.95.05, Python 3.9.21
See https://gist.github.com/pavelToman/3b12f87bc2dbcee0328fbe9b8d1f4704 for a full test report.

….8.0.eb

Co-authored-by: Sam Moors <smoors@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

2025a issues & PRs related to 2025a common toolchains update

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Dorado 1.4

2 participants