Skip to content

use gompi toolchain for EPA-ng 0.3.8 (dependency for PICRUSt2 2.6.1), since it supports MPI#25154

Merged
boegel merged 9 commits intoeasybuilders:developfrom
ccoulombe:develop
Feb 18, 2026
Merged

use gompi toolchain for EPA-ng 0.3.8 (dependency for PICRUSt2 2.6.1), since it supports MPI#25154
boegel merged 9 commits intoeasybuilders:developfrom
ccoulombe:develop

Conversation

@ccoulombe
Copy link
Copy Markdown
Contributor

Added EPA-ng recipe

cc: @boegel

Added EPA-ng recipe
@boegel
Copy link
Copy Markdown
Member

boegel commented Feb 14, 2026

Ah, seems like we overlooked this, this already got fixed via:

I also don't see a reason to use foss toolchain for EPA-ng?

@boegel boegel added this to the 5.x milestone Feb 14, 2026
@ccoulombe
Copy link
Copy Markdown
Contributor Author

ccoulombe commented Feb 16, 2026

EPA-ng is a massively parallel tool, and it uses mpi per my config, hence foss. The merged PR for EPA-ng only uses OpenMP.

@boegel
Copy link
Copy Markdown
Member

boegel commented Feb 17, 2026

EPA-ng is a massively parallel tool, and it uses mpi per my config, hence foss. The merged PR for EPA-ng only uses OpenMP.

@ccoulombe Ah, thanks for the clarification

I wonder how we should proceed here then...

  1. Remove EPA-ng-0.3.8-GCC-12.3.0.eb?
  2. Add a versionsuffix to EPA-ng with foss (like EPA-ng-0.3.8-foss-2023a-mpi.eb), and change the dependency in PICRUSt2 accordingly?

@boegel boegel added update and removed new labels Feb 17, 2026
@ccoulombe
Copy link
Copy Markdown
Contributor Author

Personally, I would keep one recipe, hence I tend towards 1.
Having one that is a superset is probably more flexible.

@boegel
Copy link
Copy Markdown
Member

boegel commented Feb 17, 2026

Personally, I would keep one recipe, hence I tend towards 1. Having one that is a superset is probably more flexible.

@ccoulombe Makes sense, let's go with 1).

Can you update your PR to remove EPA-ng-0.3.8-GCC-12.3.0.eb?

Comment thread easybuild/easyconfigs/e/EPA-ng/EPA-ng-0.3.8-foss-2023a.eb Outdated
@boegel boegel changed the title Updated picrust2 to use EPA-ng use EPA-ng built with foss toolchain as dependency for PICRUSt2 2.6.1 Feb 17, 2026
@boegel boegel modified the milestones: 5.x, next release (5.2.1) Feb 17, 2026
@github-actions github-actions Bot removed the change label Feb 17, 2026
@github-actions
Copy link
Copy Markdown

Updated software EPA-ng-0.3.8-foss-2023a.eb

Diff against EPA-ng-0.3.8-GCC-12.3.0.eb

easybuild/easyconfigs/e/EPA-ng/EPA-ng-0.3.8-GCC-12.3.0.eb

diff --git a/easybuild/easyconfigs/e/EPA-ng/EPA-ng-0.3.8-GCC-12.3.0.eb b/easybuild/easyconfigs/e/EPA-ng/EPA-ng-0.3.8-foss-2023a.eb
index 2ccd7a8002..336d6dc3ce 100644
--- a/easybuild/easyconfigs/e/EPA-ng/EPA-ng-0.3.8-GCC-12.3.0.eb
+++ b/easybuild/easyconfigs/e/EPA-ng/EPA-ng-0.3.8-foss-2023a.eb
@@ -1,45 +1,28 @@
-easyblock = 'CMakeMake'
+easyblock = 'MakeCp'
 
 name = 'EPA-ng'
 version = '0.3.8'
 
 homepage = 'https://github.com/pierrebarbera/epa-ng'
-description = """EPA-ng - Fast, parallel, highly accurate Maximum Likelihood Phylogenetic
-Placement, by the team behind RAxML(-ng)"""
-
-toolchain = {'name': 'GCC', 'version': '12.3.0'}
-toolchainopts = {'pic': True, 'openmp': True}
-
-sources = [{
-    'git_config': {
-        'url': 'https://github.com/pierrebarbera',
-        'repo_name': '%(namelower)s',
-        'tag': 'v%(version)s',
-        'recursive': True,
-    },
-    'filename': SOURCE_TAR_XZ,
-}]
-checksums = ['23b8f07743c0f4dbea17b67155b18bdbb98ff983782f4245f9b00e3e0a25a0ed']
+description = """Massively parallel phylogenetic placement of genetic sequences"""
+
+toolchain = {'name': 'foss', 'version': '2023a'}
+
+source_urls = ['https://github.com/pierrebarbera/epa-ng/archive/refs/tags/']
+sources = ['v%(version)s.tar.gz']
+checksums = ['d1db23919f49cfad202b18623e5eb30c3d6cedcc1705b944221daea8131cbb74']
 
 builddependencies = [
     ('CMake', '3.26.3'),
-    ('Bison', '3.8.2'),
-    ('flex', '2.6.4'),
-    ('pkgconf', '1.9.5'),
-    ('Autotools', '20220317'),
 ]
 
-runtest = 'test'
+preconfigopts = 'export EPA_HYBRID=ON && '
 
-skipsteps = ['install']
-
-postinstallcmds = ["cp -a %(start_dir)s/bin %(installdir)s"]
+files_to_copy = ['bin']
 
 sanity_check_paths = {
-    'files': ['bin/epa-ng'],
-    'dirs': [],
+    'files': ['bin/%(namelower)s'],
+    'dirs': ['bin'],
 }
 
-sanity_check_commands = ['epa-ng --help']
-
 moduleclass = 'bio'

@boegel boegel changed the title use EPA-ng built with foss toolchain as dependency for PICRUSt2 2.6.1 use foss toolchain for EPA-ng 0.3.8 (dependency for PICRUSt2 2.6.1), since it supports MPI Feb 17, 2026
Comment thread easybuild/easyconfigs/e/EPA-ng/EPA-ng-0.3.8-foss-2023a.eb Outdated
@boegel
Copy link
Copy Markdown
Member

boegel commented Feb 17, 2026

@boegelbot please test @ jsc-zen3
EB_ARGS="EPA-ng-0.3.8-gompi-2023a.eb PICRUSt2-2.6.1-foss-2023a.eb"

@boegelbot
Copy link
Copy Markdown
Collaborator

@boegel: 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=25154 EB_ARGS="EPA-ng-0.3.8-gompi-2023a.eb PICRUSt2-2.6.1-foss-2023a.eb" EB_CONTAINER= EB_REPO=easybuild-easyconfigs EB_BRANCH=develop /opt/software/slurm/bin/sbatch --job-name test_PR_25154 --ntasks=8 ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

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

Test results coming soon (I hope)...

Details

- notification for comment with ID 3917337321 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).

@boegel boegel changed the title use foss toolchain for EPA-ng 0.3.8 (dependency for PICRUSt2 2.6.1), since it supports MPI use gompi toolchain for EPA-ng 0.3.8 (dependency for PICRUSt2 2.6.1), since it supports MPI Feb 17, 2026
@boegelbot
Copy link
Copy Markdown
Collaborator

Test report by @boegelbot
SUCCESS
Build succeeded for 2 out of 2 (total: 5 mins 48 secs) (2 easyconfigs in total)
jsczen3c1.int.jsc-zen3.fz-juelich.de - Linux Rocky Linux 9.7, x86_64, AMD EPYC-Milan Processor (zen3), Python 3.9.23
See https://gist.github.com/boegelbot/bfe2dbf1c1ce1fa142dff36cfe87ed39 for a full test report.

@boegel
Copy link
Copy Markdown
Member

boegel commented Feb 17, 2026

Test report by @boegel
SUCCESS
Build succeeded for 2 out of 2 (total: 2 mins 58 secs) (2 easyconfigs in total)
node4414.skiddo.os - Linux RHEL 9.6, x86_64, AMD EPYC 9755 128-Core Processor (zen5), Python 3.9.21
See https://gist.github.com/boegel/096c94e6b03e90c004ec5bf2095a0715 for a full test report.

@boegel
Copy link
Copy Markdown
Member

boegel commented Feb 17, 2026

Test report by @boegel
SUCCESS
Build succeeded for 2 out of 2 (total: 5 mins 45 secs) (2 easyconfigs in total)
node4218.shinx.os - Linux RHEL 9.6, x86_64, AMD EPYC 9654 96-Core Processor (zen4), Python 3.9.21
See https://gist.github.com/boegel/777a7c11f2ee7f987e387cc535188c4f for a full test report.

Comment thread easybuild/easyconfigs/e/EPA-ng/EPA-ng-0.3.8-gompi-2023a.eb
@boegel
Copy link
Copy Markdown
Member

boegel commented Feb 18, 2026

@boegelbot please test @ jsc-zen3

@boegelbot
Copy link
Copy Markdown
Collaborator

@boegel: 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=25154 EB_ARGS= EB_CONTAINER= EB_REPO=easybuild-easyconfigs EB_BRANCH=develop /opt/software/slurm/bin/sbatch --job-name test_PR_25154 --ntasks=8 ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

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

Test results coming soon (I hope)...

Details

- notification for comment with ID 3919376849 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
Copy Markdown
Collaborator

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

@boegel
Copy link
Copy Markdown
Member

boegel commented Feb 18, 2026

Going in, thanks @ccoulombe!

@boegel boegel merged commit bd8ce60 into easybuilders:develop Feb 18, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants