Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

{bio}[foss/2023a] dorado v0.8.3 w/ CUDA 12.1.1 #21996

Merged

Conversation

pavelToman
Copy link
Collaborator

@pavelToman pavelToman commented Dec 10, 2024

(created using eb --new-pr)
resolves vscentrum/vsc-software-stack#468

Copy link

Updated software dorado-0.8.3-foss-2023a-CUDA-12.1.1.eb

Diff against dorado-0.8.0-foss-2023a-CUDA-12.1.1.eb

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

diff --git a/easybuild/easyconfigs/d/dorado/dorado-0.8.0-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/d/dorado/dorado-0.8.3-foss-2023a-CUDA-12.1.1.eb
index 778c00e0d6..8432e8fcef 100644
--- a/easybuild/easyconfigs/d/dorado/dorado-0.8.0-foss-2023a-CUDA-12.1.1.eb
+++ b/easybuild/easyconfigs/d/dorado/dorado-0.8.3-foss-2023a-CUDA-12.1.1.eb
@@ -1,7 +1,7 @@
 easyblock = 'CMakeMake'
 
 name = 'dorado'
-version = '0.8.0'
+version = '0.8.3'
 versionsuffix = '-CUDA-%(cudaver)s'
 
 homepage = 'https://github.com/nanoporetech/dorado'
@@ -21,9 +21,8 @@ sources = [{
     'filename': SOURCE_TAR_GZ,
 }]
 patches = [
-    '%(name)s-%(version)s_dont_install_external_libraries.patch',
+    '%(name)s-0.8.0_dont_install_external_libraries.patch',
 ]
-
 checksums = [
     None,
     '28942b7057af00c574a5e70d33a58b4036fd09ae0b041f45b67581c8dda832b1',
Diff against dorado-0.7.3-foss-2023a-CUDA-12.1.1.eb

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

diff --git a/easybuild/easyconfigs/d/dorado/dorado-0.7.3-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/d/dorado/dorado-0.8.3-foss-2023a-CUDA-12.1.1.eb
index 9927f0492b..8432e8fcef 100644
--- a/easybuild/easyconfigs/d/dorado/dorado-0.7.3-foss-2023a-CUDA-12.1.1.eb
+++ b/easybuild/easyconfigs/d/dorado/dorado-0.8.3-foss-2023a-CUDA-12.1.1.eb
@@ -1,7 +1,7 @@
 easyblock = 'CMakeMake'
 
 name = 'dorado'
-version = '0.7.3'
+version = '0.8.3'
 versionsuffix = '-CUDA-%(cudaver)s'
 
 homepage = 'https://github.com/nanoporetech/dorado'
@@ -21,14 +21,11 @@ sources = [{
     'filename': SOURCE_TAR_GZ,
 }]
 patches = [
-    '%(name)s-%(version)s_include-fstream.patch',
-    '%(name)s-%(version)s_dont_install_external_libraries.patch',
+    '%(name)s-0.8.0_dont_install_external_libraries.patch',
 ]
-
 checksums = [
     None,
-    'a32cbd34185bcc5ae3d552a072e396825aa7184187cd11c70a4380618387a530',
-    '2a250d606c0ae17f47d99981309fa204a1394ddd81851a1d530dcd0aea2306ac',
+    '28942b7057af00c574a5e70d33a58b4036fd09ae0b041f45b67581c8dda832b1',
 ]
 
 builddependencies = [
@@ -63,6 +60,7 @@ 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 && "
 
 # disable treating warnings like errors by stripping out -Werror
 # cfr. https://github.com/nanoporetech/dorado/issues/779
Diff against dorado-0.6.1-foss-2023a-CUDA-12.1.1.eb

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

diff --git a/easybuild/easyconfigs/d/dorado/dorado-0.6.1-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/d/dorado/dorado-0.8.3-foss-2023a-CUDA-12.1.1.eb
index 378a9deec6..8432e8fcef 100644
--- a/easybuild/easyconfigs/d/dorado/dorado-0.6.1-foss-2023a-CUDA-12.1.1.eb
+++ b/easybuild/easyconfigs/d/dorado/dorado-0.8.3-foss-2023a-CUDA-12.1.1.eb
@@ -1,7 +1,7 @@
 easyblock = 'CMakeMake'
 
 name = 'dorado'
-version = '0.6.1'
+version = '0.8.3'
 versionsuffix = '-CUDA-%(cudaver)s'
 
 homepage = 'https://github.com/nanoporetech/dorado'
@@ -20,10 +20,12 @@ sources = [{
     },
     'filename': SOURCE_TAR_GZ,
 }]
-patches = ['dorado-0.6.1_include-fstream.patch']
+patches = [
+    '%(name)s-0.8.0_dont_install_external_libraries.patch',
+]
 checksums = [
     None,
-    'a7692a2d67422d808b3b81f3a297b7b89299ab0091e5d01f0b8a9aee9b942377',
+    '28942b7057af00c574a5e70d33a58b4036fd09ae0b041f45b67581c8dda832b1',
 ]
 
 builddependencies = [
@@ -46,7 +48,6 @@ dependencies = [
 # don't link to OpenSSL static libraries
 # fix for CMake Error "missing: OPENSSL_CRYPTO_LIBRARY" (if only shared OpenSSL libraries are available)
 preconfigopts = "sed -i '/OPENSSL_USE_STATIC_LIBS TRUE/d' ../dorado/cmake/OpenSSL.cmake && "
-preconfigopts += "export OPENSSL_ROOT_DIR=$EBROOTOPENSSL && "
 # 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 && "
@@ -59,17 +60,23 @@ 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 && "
 
 # 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 && "
 
-configopts = "-DDORADO_INSTALL_PATH=%(installdir)s "
-configopts += "-DCUDA_TOOLKIT_ROOT_DIR=$EBROOTCUDA -DCMAKE_CUDA_COMPILER=$EBROOTCUDA/bin/nvcc "
-configopts += "-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'
-configopts += '-DCMAKE_C_FLAGS="$CFLAGS -pthread" '
+_copts = [
+    "-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"',
+]
+
+configopts = ' '.join(_copts) + ' '
 
 # disable CMake fiddling with RPATH when EasyBuild is configured to use RPATH linking
 configopts += "$(if %(rpath_enabled)s; then "

@pavelToman
Copy link
Collaborator Author

@boegelbot please test @ generoso

@boegelbot
Copy link
Collaborator

@pavelToman: Request for testing this PR well received on login1

PR test command 'EB_PR=21996 EB_ARGS= EB_CONTAINER= EB_REPO=easybuild-easyconfigs /opt/software/slurm/bin/sbatch --job-name test_PR_21996 --ntasks=4 ~/boegelbot/eb_from_pr_upload_generoso.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 14845

Test results coming soon (I hope)...

- notification for comment with ID 2531084812 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@pavelToman
Copy link
Collaborator Author

Test report by @pavelToman
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
node4012.donphan.os - Linux RHEL 8.8, x86_64, Intel(R) Xeon(R) Gold 6240 CPU @ 2.60GHz, 1 x NVIDIA NVIDIA A2, 545.23.08, Python 3.6.8
See https://gist.github.com/pavelToman/c059a3c50a13573f36e3f46ff123fe63 for a full test report.

@boegelbot
Copy link
Collaborator

Test report by @boegelbot
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
cns1 - Linux Rocky Linux 8.9, x86_64, Intel(R) Xeon(R) CPU E5-2667 v3 @ 3.20GHz (haswell), Python 3.6.8
See https://gist.github.com/boegelbot/bd09fc6118a2597da2dad517c3049fcb for a full test report.

@pavelToman
Copy link
Collaborator Author

@boegelbot please test @ jsc-zen3

@boegelbot
Copy link
Collaborator

@pavelToman: Request for testing this PR well received on jsczen3l1.int.jsc-zen3.fz-juelich.de

PR test command 'if [[ develop != 'develop' ]]; then EB_BRANCH=develop ./easybuild_develop.sh 2> /dev/null 1>&2; EB_PREFIX=/home/boegelbot/easybuild/develop source init_env_easybuild_develop.sh; fi; EB_PR=21996 EB_ARGS= EB_CONTAINER= EB_REPO=easybuild-easyconfigs EB_BRANCH=develop /opt/software/slurm/bin/sbatch --job-name test_PR_21996 --ntasks=8 ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 5423

Test results coming soon (I hope)...

- notification for comment with ID 2531148294 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@boegelbot
Copy link
Collaborator

Test report by @boegelbot
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
jsczen3c1.int.jsc-zen3.fz-juelich.de - Linux Rocky Linux 9.5, x86_64, AMD EPYC-Milan Processor (zen3), Python 3.9.19
See https://gist.github.com/boegelbot/db27f14f964e13da2cd4ee300834a0f5 for a full test report.

@pavelToman
Copy link
Collaborator Author

@boegelbot please test @ jsc-zen3-a100

@boegelbot
Copy link
Collaborator

@pavelToman: Request for testing this PR well received on jsczen3l1.int.jsc-zen3.fz-juelich.de

PR test command 'if [[ develop != 'develop' ]]; then EB_BRANCH=develop ./easybuild_develop.sh 2> /dev/null 1>&2; EB_PREFIX=/home/boegelbot/easybuild/develop source init_env_easybuild_develop.sh; fi; EB_PR=21996 EB_ARGS= EB_CONTAINER= EB_REPO=easybuild-easyconfigs EB_BRANCH=develop /opt/software/slurm/bin/sbatch --job-name test_PR_21996 --ntasks=8 --partition=jsczen3g --gres=gpu:1 ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 5424

Test results coming soon (I hope)...

- notification for comment with ID 2531220588 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@boegelbot
Copy link
Collaborator

Test report by @boegelbot
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
jsczen3g1.int.jsc-zen3.fz-juelich.de - Linux Rocky Linux 9.5, x86_64, AMD EPYC-Milan Processor (zen3), 1 x NVIDIA NVIDIA A100 80GB PCIe, 555.42.06, Python 3.9.19
See https://gist.github.com/boegelbot/44bd716a2b005ef381cc0813d808800a for a full test report.

@boegel boegel added this to the release after 4.9.4 milestone Dec 11, 2024
Copy link
Member

@boegel boegel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@boegel
Copy link
Member

boegel commented Dec 11, 2024

Test report by @boegel
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
node3306.joltik.os - Linux RHEL 9.4, x86_64, Intel(R) Xeon(R) Gold 6242 CPU @ 2.80GHz (cascadelake), 1 x NVIDIA Tesla V100-SXM2-32GB, 555.42.06, Python 3.9.18
See https://gist.github.com/boegel/7aae4dce1bb4525f3c1e22bc007c61bb for a full test report.

@boegel
Copy link
Member

boegel commented Dec 11, 2024

Going in, thanks @pavelToman!

@boegel boegel merged commit a27088b into easybuilders:develop Dec 11, 2024
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

dorado
3 participants