Merge branch 'master' into geant4

This commit is contained in:
2025-05-26 17:56:49 +02:00
207 changed files with 4118 additions and 1179 deletions

View File

@@ -1,14 +1,9 @@
#!/usr/bin/env modbuild
pbuild::set_download_url "https://download.schedmd.com/${P}/${P}-${V}.tar.bz2"
pbuild::add_to_group 'Batchsystem'
pbuild::install_docfiles 'AUTHORS' 'INSTALL' 'NEWS' 'README.rst' 'RELEASE_NOTES'
pbuild::pre_configure() {
pbuild::add_configure_args "--with-pmix=${PMIX_PREFIX}"
# pbuild::add_configure_args "--with-pmix=${PMIX_PREFIX}"
pbuild::add_configure_args "--with-nvml=${CUDA_PREFIX}"
pbuild::add_configure_args "--with-hwloc=${HWLOC_PREFIX}"
pbuild::add_configure_args "--with-ucx=${UCX_PREFIX}"
# pbuild::add_configure_args "--with-ucx=${UCX_PREFIX}"
# pbuild::add_configure_args "--with-netloc=${HWLOC_PREFIX}"
}

View File

@@ -0,0 +1,27 @@
---
# yamllint disable rule:line-length
format: 1
slurm:
defaults:
group: Batchsystem
overlay: Alps
relstage: stable
docfiles: [AUTHORS, INSTALL, NEWS, README.rst RELEASE_NOTES]
urls:
- url: https://download.schedmd.com/${P}/${P}-${V}.tar.bz2
shasums:
slurm-24.05.3.tar.bz2: b0b40513e9b6ae867ddb95d60b950bcb980c15b735b5d0dea37a9a00cc64ae24
versions:
24.05.3:
variants:
- systems: [.*.merlin7.psi.ch]
relstage: unstable
overlay: Alps
use_overlays: [PSI]
group_deps:
compiler: {gcc: [12.3.0]}
build_requires: [cuda/12.2.0, hwloc/2.11.1, patchelf/0.14.5]
configure_args+:
- '--with-pmix=/opt/psi/overlays/Alps/Libraries/pmix/2.2.5:/opt/psi/overlays/Alps/Libraries/pmix/3.2.5:/opt/psi/overlays/Alps/Libraries/pmix/4.2.9:/opt/psi/overlays/Alps/Libraries/pmix/5.0.3'
- '--with-cray_shasta'

View File

@@ -1,13 +1,2 @@
#!/usr/bin/env modbuild
pbuild::set_download_url "http://github.com/xianyi/$P/archive/v${V_PKG}.tar.gz"
pbuild::add_to_group 'Compiler'
pbuild::install_docfiles 'LICENSE' 'README.md'
#pbuild::set_supported_compilers 'gcc' 'intel' 'clang-macos'
pbuild::pre_configure() {
pbuild::add_configure_args "-DCMAKE_BUILD_TYPE=Release"
pbuild::add_configure_args "-DDYNAMIC_ARCH=ON"
}

View File

@@ -1,9 +0,0 @@
#!/usr/bin/env modbuild
pbuild::install_docfiles 'LICENSE' 'README.md'
pbuild::pre_configure() {
pbuild::add_configure_args "-DCMAKE_BUILD_TYPE=Release"
pbuild::add_configure_args "-DDYNAMIC_ARCH=ON"
}

View File

@@ -10,6 +10,12 @@ OpenBLAS:
urls:
- url: http://github.com/xianyi/$P/archive/v${V_PKG}.tar.gz
name: OpenBLAS-${V_PKG}.tar.gz
configure_args:
- -DCMAKE_BUILD_TYPE=Release
- -DDYNAMIC_ARCH=ON
docfiles:
- LICENSE
- README.md
shasums:
OpenBLAS-0.2.9.tar.gz: e899c70b8771896655765f5c64c00c990f8dd0fe569e96788d8c971a23ecb22a
@@ -26,11 +32,24 @@ OpenBLAS:
OpenBLAS-0.3.24.tar.gz: ceadc5065da97bd92404cac7254da66cc6eb192679cf1002098688978d4d5132
versions:
0.3.28:
config:
group_deps:
compiler:
gcc: [12.3.0, 12.4.0, 13.3.0, 14.2.0]
build_requires: [cmake/3.23.2]
relstage: unstable
variants:
- systems: [rhel.*]
overlay: devel
- systems: [login.*.merlin7.psi.ch]
overlay: Alps
use_overlays: [PSI, Alps]
0.3.24:
config:
group_deps:
compiler:
gcc: [12.3.0, 13.1.0]
gcc: [12.3.0, 13.1.0, 13.2.0]
build_requires: [cmake/3.23.2]
relstage: unstable
overlay: devel

9
Compiler/flair-geoviewer/build Executable file
View File

@@ -0,0 +1,9 @@
#!/usr/bin/env modbuild
pbuild::compile() {
make
}
pbuild::install() {
make DESTDIR="${FLAIR_PREFIX}" install
}

View File

@@ -0,0 +1,24 @@
---
# yamllint disable rule:line-length
format: 1
flair-geoviewer:
defaults:
group: Compiler
overlay: base
relstage: unstable
compile_in_sourcetree: true
systems: [rhel7, rhel8, rhel9]
docfiles: [AUTHORS, LICENSE, NEWS, README]
urls:
- url: https://flair.web.cern.ch/flair/download/flair-geoviewer-3.3-1.tgz
shasums:
flair-geoviewer-3.3-1.tgz: 3c18747abac21907e90c3ed1759b73ca53c987f12216ba8ee9919a199c0dca26
versions:
3.3.1:
variants:
- systems: [merlin-*, ra-*]
group_deps:
compiler: {gcc: [13.1.0]}
relstage: unstable
build_requires: ['flair/3.3.1', 'TclTk/8.6.9']

View File

@@ -0,0 +1,18 @@
#%Module1.0
module-whatis "Flair by CERN: Advanced graphical user interface for particle simulation programs"
module-url "http://flair.web.cern.ch/flair/index.html"
module-license "[http://flair.web.cern.ch/flair/license.html](http://flair.web.cern.ch/flair/license.html)"
module-maintainer "Elsa Germann <elsa.germann@psi.ch>"
module-help "
/fleə(r)/ n [U,C] natural or instinctive ability to do something well, to select or recognize what is best, more useful, etc.
flair is an advanced user friendly interface for several Monte Carlo codes. Originally it was developed for FLUKA, where its unique features strongly contributed to the success of both codes FLUKA and flair. From version 3 the interface was separated from the functionality permitting an easy integration of other simulation packages.
The current line of development is to make flair a unique tool for performing calculations with the same input using FLUKA, Geant4, PENELOPE, and other simulations engines.
Presently is fully supporting the CERN FLUKA version and there is ongoing work to support:
Moira a Geant4 based application, permitting the user to run with Geant4 FLUKA equivalent inputs with the same geometry, materials, scoring,...
Other codes like MCNP, PHITS, PENELOPE could be added in the future.
"

9
Compiler/flair/build Executable file
View File

@@ -0,0 +1,9 @@
#!/usr/bin/env modbuild
pbuild::compile() {
make
}
pbuild::install() {
make DESTDIR="${PREFIX}" install
}

View File

@@ -0,0 +1,23 @@
---
# yamllint disable rule:line-length
format: 1
flair:
defaults:
group: Compiler
overlay: base
relstage: unstable
compile_in_sourcetree: true
systems: [rhel7, rhel8, rhel9]
docfiles: [AUTHORS, LICENSE, NEWS, README]
urls:
- url: http://flair.web.cern.ch/flair/download/flair-3.3-1.tgz
shasums:
flair-3.3-1.tgz: 2bc9b02fd2d9ddb7eed96938314b9c73f0b6a844aa1af15728650eaf81e777bd
versions:
3.3.1:
variants:
- systems: [merlin-*, ra-*]
group_deps:
compiler: {gcc: [13.1.0]}
relstage: unstable

18
Compiler/flair/modulefile Normal file
View File

@@ -0,0 +1,18 @@
#%Module1.0
module-whatis "Flair by CERN: Advanced graphical user interface for particle simulation programs"
module-url "http://flair.web.cern.ch/flair/index.html"
module-license "[http://flair.web.cern.ch/flair/license.html](http://flair.web.cern.ch/flair/license.html)"
module-maintainer "Elsa Germann <elsa.germann@psi.ch>"
module-help "
/fleə(r)/ n [U,C] natural or instinctive ability to do something well, to select or recognize what is best, more useful, etc.
flair is an advanced user friendly interface for several Monte Carlo codes. Originally it was developed for FLUKA, where its unique features strongly contributed to the success of both codes FLUKA and flair. From version 3 the interface was separated from the functionality permitting an easy integration of other simulation packages.
The current line of development is to make flair a unique tool for performing calculations with the same input using FLUKA, Geant4, PENELOPE, and other simulations engines.
Presently is fully supporting the CERN FLUKA version and there is ongoing work to support:
Moira a Geant4 based application, permitting the user to run with Geant4 FLUKA equivalent inputs with the same geometry, materials, scoring,...
Other codes like MCNP, PHITS, PENELOPE could be added in the future.
"

16
Compiler/fluka4/build Executable file
View File

@@ -0,0 +1,16 @@
#!/usr/bin/env modbuild
pbuild::pre_prep(){
SRC_DIR="${PREFIX}"
BUILD_DIR="${PREFIX}"
}
pbuild::compile(){
cd src
make -j "${JOBS}"
}
pbuild::install() {
:
}

14
Compiler/fluka4/build-brond Executable file
View File

@@ -0,0 +1,14 @@
#!/usr/bin/env modbuild
pbuild::pre_prep(){
SRC_DIR="${PREFIX}"
BUILD_DIR="${PREFIX}"
}
pbuild::compile(){
:
}
pbuild::install() {
:
}

14
Compiler/fluka4/build-cendl Executable file
View File

@@ -0,0 +1,14 @@
#!/usr/bin/env modbuild
pbuild::pre_prep(){
SRC_DIR="${PREFIX}"
BUILD_DIR="${PREFIX}"
}
pbuild::compile(){
:
}
pbuild::install() {
:
}

14
Compiler/fluka4/build-endf Executable file
View File

@@ -0,0 +1,14 @@
#!/usr/bin/env modbuild
pbuild::pre_prep(){
SRC_DIR="${PREFIX}"
BUILD_DIR="${PREFIX}"
}
pbuild::compile(){
:
}
pbuild::install() {
:
}

15
Compiler/fluka4/build-flair Executable file
View File

@@ -0,0 +1,15 @@
#!/usr/bin/env modbuild
pbuild::pre_prep(){
SRC_DIR="${PREFIX}/flair"
BUILD_DIR="${PREFIX}/flair"
}
pbuild::compile(){
make -j "${JOBS}"
}
pbuild::install() {
:
}

View File

@@ -0,0 +1,15 @@
#!/usr/bin/env modbuild
pbuild::pre_prep(){
SRC_DIR="${PREFIX}/geoviewer"
BUILD_DIR="${PREFIX}/geoviewer"
}
pbuild::compile(){
make -j "${JOBS}"
}
pbuild::install() {
make DESTDIR="${PREFIX}/flair" install
}

14
Compiler/fluka4/build-jeff Executable file
View File

@@ -0,0 +1,14 @@
#!/usr/bin/env modbuild
pbuild::pre_prep(){
SRC_DIR="${PREFIX}"
BUILD_DIR="${PREFIX}"
}
pbuild::compile(){
:
}
pbuild::install() {
:
}

14
Compiler/fluka4/build-jendl Executable file
View File

@@ -0,0 +1,14 @@
#!/usr/bin/env modbuild
pbuild::pre_prep(){
SRC_DIR="${PREFIX}"
BUILD_DIR="${PREFIX}"
}
pbuild::compile(){
:
}
pbuild::install() {
:
}

View File

@@ -0,0 +1,242 @@
---
# yamllint disable rule:line-length
format: 1
fluka4:
defaults:
group: Compiler
overlay: base
relstage: unstable
compile_in_sourcetree: true
systems: [.*]
download_dir: /afs/psi.ch/software/Pmodules/protected/fluka
urls:
- url: none
name: fluka-4-${V_PKG}.x86-Linux-gfor9.tgz
shasums:
fluka-4-4.0.x86-Linux-gfor9.tgz: bcc303b96026b91f6d88d7a5ec274e31619562833330be93a992cd3c7e511eba
versions:
4.0:
config:
group_deps:
compiler: {gcc: [9.5.0]}
relstage: unstable
build_requires: []
runtime_deps: ['TclTk/8.6.9', 'Python/3.9.10', 'gnuplot/5.4.10']
sub_packages:
- name: flair
version: 3.3-1
build_args:
- --disable-cleanup
- -f
- name: flair-geoviewer
version: 3.3-1
build_args:
- --disable-cleanup
- -f
- name: jeff
version: 3.3-1-1
build_args:
- --disable-cleanup
- -f
- name: endf
version: viii0-1.0
build_args:
- --disable-cleanup
- -f
- name: jendl
version: 4.0u-1.0
build_args:
- --disable-cleanup
- -f
- name: cendl
version: 31-1.0
build_args:
- --disable-cleanup
- -f
- name: brond
version: 3.1-1.0
build_args:
- --disable-cleanup
- -f
4.0_beta:
config:
group_deps:
compiler: {gcc: [9.5.0]}
relstage: unstable
build_requires: []
runtime_deps: ['TclTk/8.6.9', 'Python/3.9.10', 'gnuplot/5.4.10']
sub_packages:
- name: flair
version: 3.x-3.5
build_args:
- --disable-cleanup
- -f
- name: flair-geoviewer
version: 3.x-3.5
build_args:
- --disable-cleanup
- -f
- name: jeff
version: 3.3-1-1
build_args:
- --disable-cleanup
- -f
- name: endf
version: viii0-1.0
build_args:
- --disable-cleanup
- -f
- name: jendl
version: 4.0u-1.0
build_args:
- --disable-cleanup
- -f
- name: cendl
version: 31-1.0
build_args:
- --disable-cleanup
- -f
- name: brond
version: 3.1-1.0
build_args:
- --disable-cleanup
- -f
4.1_beta1:
config:
group: Tools
build_requires: []
runtime_deps: ['gcc/9.5.0', 'TclTk/8.6.9', 'Python/3.9.10', 'gnuplot/5.4.10']
sub_packages:
- name: flair
version: 3.x-5
build_args:
- --disable-cleanup
- -f
- name: flair-geoviewer
version: 3.x-5
build_args:
- --disable-cleanup
- -f
- name: jeff
version: 3.3-1-1
build_args:
- --disable-cleanup
- -f
- name: endf
version: viii0-1.0
build_args:
- --disable-cleanup
- -f
- name: jendl
version: 4.0u-1.0
build_args:
- --disable-cleanup
- -f
- name: cendl
version: 31-1.0
build_args:
- --disable-cleanup
- -f
- name: brond
version: 3.1-1.0
build_args:
- --disable-cleanup
- -f
jeff:
type: sub_package
defaults:
urls:
- url: https://flukafiles.web.cern.ch/flukafiles/neutron/fluka_pw_$P-$V.tar.gz
strip_dirs: 0
shasums:
fluka_pw_jeff-3.3-1-1.tar.gz: 48810cab92bc79b241b306390f88b5fc1333363e85fdd0d9317263ba8e29ed8b
versions:
3.3-1-1:
endf:
defaults:
urls:
- url: https://flukafiles.web.cern.ch/flukafiles/neutron/fluka_pw_$P-$V.tgz
strip_dirs: 0
shasums:
fluka_pw_endf-viii0-1.0.tgz: e26433c9f548c4477b5c47a1929d33ce4a823fa326703d3a52dfa9161f9ae1b9
versions:
viii0-1.0:
jendl:
defaults:
urls:
- url: https://flukafiles.web.cern.ch/flukafiles/neutron/fluka_pw_$P-$V.tgz
strip_dirs: 0
shasums:
fluka_pw_jendl-4.0u-1.0.tgz: 21d5e2676ae26946df98869bd1d95f4f34edb53488fb40e5c1a8ef0c743f5f6e
versions:
4.0u-1.0:
cendl:
defaults:
urls:
- url: https://flukafiles.web.cern.ch/flukafiles/neutron/fluka_pw_$P-$V.tgz
strip_dirs: 0
shasums:
fluka_pw_cendl-31-1.0.tgz: d64916e35bfa6337463d01b3596ccd57b8f8b5c2e8879138ef7be14aff2b49d3
versions:
31-1.0:
brond:
defaults:
urls:
- url: https://flukafiles.web.cern.ch/flukafiles/neutron/fluka_pw_$P-$V.tgz
strip_dirs: 0
shasums:
fluka_pw_brond-3.1-1.0.tgz: c88ba7cde8ccf1c59b49e1138cc06cfd0b2b84f50a67d1dd9a29f104633b8a72
versions:
3.1-1.0:
flair:
defaults:
urls:
- url: http://flair.web.cern.ch/flair/download/flair-$V.tgz
shasums:
flair-3.3-1.tgz: 2bc9b02fd2d9ddb7eed96938314b9c73f0b6a844aa1af15728650eaf81e777bd
versions:
3.3-1:
config:
build_requires: ['gcc/9.5.0', 'Python/3.9.10']
3.x-3.5:
config:
build_requires: ['gcc/9.5.0', 'Python/3.9.10']
urls:
- url: https://cernbox.cern.ch/remote.php/dav/public-files/m87gnQjIkI4dEls/flair-3.x-3.5.tgz
3.x-5:
config:
build_requires: ['gcc/9.5.0', 'Python/3.9.10']
urls:
- url: https://cernbox.cern.ch/remote.php/dav/public-files/m87gnQjIkI4dEls/flair-3.x-5.tgz
flair-geoviewer:
defaults:
urls:
- url: https://flair.web.cern.ch/flair/download/flair-geoviewer-$V.tgz
shasums:
flair-geoviewer-3.3-1.tgz: 3c18747abac21907e90c3ed1759b73ca53c987f12216ba8ee9919a199c0dca26
versions:
3.3-1:
config:
build_requires: ['gcc/9.5.0', 'Python/3.9.10', 'TclTk/8.6.9']
3.x-3.5:
config:
build_requires: ['gcc/9.5.0', 'Python/3.9.10', 'TclTk/8.6.9']
urls:
- url: https://cernbox.cern.ch/remote.php/dav/public-files/m87gnQjIkI4dEls/flair-geoviewer-3.x-3.5.tgz
3.x-5:
config:
build_requires: ['gcc/9.5.0', 'Python/3.9.10', 'TclTk/8.6.9']
urls:
- url: https://cernbox.cern.ch/remote.php/dav/public-files/m87gnQjIkI4dEls/flair-geoviewer-3.x-5.tgz

View File

@@ -202,3 +202,13 @@ hdf5_serial:
compiler:
gcc: [6.5.0, 7.5.0, 8.5.0, 9.5.0, 10.3.0, 11.3.0, 12.1.0]
relstage: stable
1.12.3:
config:
group_deps:
compiler:
gcc: [7.5.0, 8.5.0, 9.5.0, 10.4.0, 11.3.0, 12.1.0]
relstage: unstable
urls:
- url: https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-${V_MAJOR}.${V_MINOR}/hdf5-$V/src/hdf5-$V.tar.bz2
strip_dirs: 2

View File

@@ -1,20 +1,2 @@
#!/usr/bin/env modbuild
pbuild::add_to_group 'Compiler'
pbuild::prep() {
:
}
pbuild::configure() {
:
}
pbuild::compile() {
:
}
pbuild::install() {
:
}

View File

@@ -0,0 +1,105 @@
---
# yamllint disable rule:line-length
format: 1
impi:
defaults:
group: Compiler
overlay: base
relstage: stable
build_functions:
prep: []
configure: []
compile: []
install: []
versions:
22.2:
variants:
- systems: [merlin-.*\.psi.ch]
group_deps:
compiler:
intel: [22.2]
22.1:
variants:
- systems: [merlin-.*\.psi.ch]
group_deps:
compiler:
intel: [22.1]
21.4:
variants:
- systems: [merlin-.*\.psi.ch]
group_deps:
compiler:
intel: [21.4]
20.4:
variants:
- systems: [merlin-.*\.psi.ch]
group_deps:
compiler:
intel: [20.4]
19.4:
variants:
- systems: [merlin-.*\.psi.ch]
relstage: deprecated
group_deps:
compiler:
intel: [19.4]
19.3:
variants:
- systems: [merlin-.*\.psi.ch]
relstage: deprecated
group_deps:
compiler:
intel: [19.3]
18.4:
variants:
- systems: [merlin-.*\.psi.ch]
relstage: deprecated
group_deps:
compiler:
intel: [18.4]
18.3:
variants:
- systems: [merlin-.*\.psi.ch]
relstage: deprecated
group_deps:
compiler:
intel: [18.3]
18.2:
variants:
- systems: [merlin-.*\.psi.ch]
relstage: deprecated
group_deps:
compiler:
intel: [18.2]
17.8:
variants:
- systems: [merlin-.*\.psi.ch]
relstage: deprecated
group_deps:
compiler:
intel: [17.8]
5.1:
variants:
- systems: [merlin-.*\.psi.ch]
relstage: deprecated
group_deps:
compiler:
intel: [16.1, 16.2, 16.3, 17.1]
5.0:
variants:
- systems: [merlin-.*\.psi.ch]
relstage: deprecated
group_deps:
compiler:
intel: [15.2, 15.3]

View File

@@ -1,16 +0,0 @@
impi/5.0 deprecated intel/15.2
impi/5.0 deprecated intel/15.3
impi/5.1 deprecated intel/16.1
impi/5.1 deprecated intel/16.2
impi/5.1 deprecated intel/16.3
impi/5.1 deprecated intel/17.1
impi/17.8 deprecated intel/17.8
impi/18.2 deprecated intel/18.2
impi/18.3 deprecated intel/18.3
impi/18.4 deprecated intel/18.4
impi/19.3 deprecated intel/19.3
impi/19.4 deprecated intel/19.4
impi/20.4 stable intel/20.4
impi/21.4 stable intel/21.4
impi/22.1 stable intel/22.1
impi/22.2 unstable intel/22.2

View File

@@ -1,28 +1,70 @@
#!/usr/bin/env modbuild
pbuild::set_download_url "http://www.mpich.org/static/downloads/$V/$P-${V_PKG}.tar.gz"
pbuild::add_to_group 'Compiler'
pbuild::install_docfiles 'COPYRIGHT' 'README'
module use System
pbuild::pre_configure() {
unset F90
pbuild::add_configure_args "--enable-cxx"
pbuild::add_configure_args "--enable-fortran"
if pbuild::use_flag merlin; then
MXM_DIR='/opt/mellanox/mxm/'
pbuild::add_configure_args "--with-device=ch3:nemesis:mxm"
pbuild::add_configure_args "--with-mxm=${MXM_DIR}"
pbuild::add_configure_args "--without-x"
#pbuild::add_configure_args "--with-slurm-include=/usr/include/slurm"
#pbuild::add_configure_args "--with-slurm-lib=/usr/lib64"
#pbuild::add_configure_args "--with-pmi=slurm"
#pbuild::add_configure_args "--with-pm=no"
pbuild::add_configure_args "--enable-gl=no"
unset F90
pbuild::add_configure_args "--enable-shared"
pbuild::add_configure_args "--enable-static"
if [[ -v CUDA_VERSION ]]; then
std::info "Enabling CUDA ${CUDA_VERSION}."
pbuild::add_configure_args "--with-cuda=${CUDA_HOME}"
fi
if [[ -v HWLOC_VERSION ]]; then
unset HWLOC_VERSION
std::info "Enabling external hwloc ${HWLOC_PREFIX}."
pbuild::add_configure_args "--with-hwloc=${HWLOC_PREFIX}"
else
pbuild::add_configure_args "--with-hwloc=embedded"
fi
if [[ -v PMIX_VERSION ]]; then
std::info "Enabling PMIX ${PMIX_VERSION}."
unset PMIX_VERSION
pbuild::add_configure_args "--with-pmix=${PMIX_PREFIX}"
pbuild::add_configure_args "--with-pmi=pmix"
fi
if pbuild::use_flag merlin7 && [[ ! -v LIBFABRIC_VERSION ]]; then
if pkg-config --exists libfabric; then
std::info "Get LIBFABRIC_VERSION via pkg-config"
LIBFABRIC_PREFIX=$(pkg-config --variable=prefix libfabric)
LIBFABRIC_VERSION="$(LIBFABRIC_PREFIX##*/)"
fi
fi
if [[ "${COMPILER}" == 'gcc' ]] && (( ${COMPILER_VERSION%.*.*} == 10 )); then
pbuild::add_configure_args "FFLAGS=-fallow-argument-mismatch"
if [[ -v LIBFABRIC_VERSION ]]; then
std::info "Enabling libfabric ${LIBFABRIC_VERSION}."
if (( V_MAJOR < 4 )); then
pbuild::add_configure_args "--with-ofi=${LIBFABRIC_PREFIX}"
fi
pbuild::add_configure_args "--with-libfabric=${LIBFABRIC_PREFIX}"
fi
if [[ -v UCX_VERSION ]]; then
std::info "Enabling UCX ${UCX_VERSION}."
pbuild::add_configure_args "--with-ucx=${UCX_PREFIX}"
fi
if [[ -v INTEL_VERSION ]]; then
pbuild::add_configure_args "CC=icc"
pbuild::add_configure_args "CXX=icpc"
pbuild::add_configure_args "FC=ifort"
pbuild::add_configure_args "F90=ifort"
pbuild::add_configure_args "F77=ifort"
pbuild::add_configure_args "LDFLAGS=-Wc,-static-intel,-O0"
fi
if pbuild::use_flag slurm || \
pbuild::use_flag merlin6 || \
pbuild::use_flag merlin7; then
std::info "Enabling SLURM."
pbuild::add_configure_args "--with-slurm"
fi
}
# Local Variables:
# mode: sh
# sh-basic-offset: 8
# tab-width: 8
# End:

View File

@@ -0,0 +1,46 @@
---
# yamllint disable rule:line-length
format: 1
mpich:
defaults:
group: Compiler
overlay: base
relstage: stable
configure_args:
- --enable-cxx
- --enable-fortran
docfiles: [COPYRIGHT, README]
urls:
- url: http://www.mpich.org/static/downloads/$V/$P-${V_PKG}.tar.gz
shasums:
mpich-3.3.2.tar.gz: 4bfaf8837a54771d3e4922c84071ef80ffebddbb6971a006038d91ee7ef959b9
mpich-4.2.3.tar.gz: 7a019180c51d1738ad9c5d8d452314de65e828ee240bcb2d1f80de9a65be88a8
versions:
4.2.3:
variants:
- systems: [.*.merlin7.psi.ch]
relstage: unstable
overlay: Alps
use_overlays: [PSI]
use_flags: [merlin7, slurm]
group_deps:
compiler: {gcc: [12.3.0]}
build_requires: [hwloc/2.11.1, libfabric/1.15.2.0, patchelf/0.14.5]
runtime_deps: [cuda/12.2.0]
configure_args+:
- --with-pm=hydra,gforker
3.3.2:
variants:
- systems: [.*.merlin7.psi.ch]
relstage: unstable
overlay: Alps
use_overlays: [PSI]
use_flags: [merlin7, slurm]
group_deps:
compiler: {gcc: [8.4.0]}
build_requires: [libfabric/1.15.2.0, patchelf/0.14.5]
patch_files:
- patch/mpich-v3.3.2.patch
configure_args+:
- --with-device=ch3:nemesis:ofi

View File

@@ -0,0 +1,13 @@
diff --git a/src/pm/hydra/tools/bootstrap/external/slurm_query_node_list.c b/src/pm/hydra/tools/bootstrap/external/slurm_query_node_list.c
index 9b35471f3..7b5dd782f 100644
--- a/src/pm/hydra/tools/bootstrap/external/slurm_query_node_list.c
+++ b/src/pm/hydra/tools/bootstrap/external/slurm_query_node_list.c
@@ -26,7 +26,7 @@ static struct HYD_node *global_node_list = NULL;
#if defined(HAVE_LIBSLURM)
static HYD_status list_to_nodes(char *str)
{
- hostlist_t hostlist;
+ hostlist_t *hostlist;
char *host;
int k = 0;
HYD_status status = HYD_SUCCESS;

View File

@@ -1,51 +1,75 @@
#!/usr/bin/env modbuild
# pbuild::set_download_url \
# "http://www.open-mpi.org/software/ompi/v${V_MAJOR}.${V_MINOR}/downloads/openmpi-${V_PKG}.tar.bz2"
pbuild::set_download_url \
"https://download.open-mpi.org/release/open-mpi/v${V_MAJOR}.${V_MINOR}/openmpi-${V_PKG}.tar.bz2"
pbuild::set_sha256sum "openmpi-3.1.2.tar.bz2:c654ed847f34a278c52a15c98add40402b4a90f0c540779f1ae6c489af8a76c5"
pbuild::add_to_group 'Compiler'
pbuild::install_docfiles 'AUTHORS' 'LICENSE' 'NEWS' 'README'
pbuild::pre_configure() {
pbuild::add_configure_args "--prefix=${PREFIX}"
pbuild::add_configure_args "--enable-mpi-cxx"
pbuild::add_configure_args "--enable-mpi-cxx-seek"
pbuild::add_configure_args "--enable-orterun-prefix-by-default"
pbuild::add_configure_args "--enable-shared"
pbuild::add_configure_args "--enable-static"
pbuild::add_configure_args "--with-slurm=yes"
if (( V_MAJOR < 5 )); then
pbuild::add_configure_args "--enable-mpi-cxx"
pbuild::add_configure_args "--enable-mpi-cxx-seek"
pbuild::add_configure_args "--enable-orterun-prefix-by-default"
fi
if (( V_MAJOR < 5 )) && pbuild::use_flag 'slurm'; then
pbuild::add_configure_args "--with-pmi=/usr"
pbuild::add_configure_args "--with-pmi-libdir=/usr/lib64/slurmpmi"
fi
if (( V_MAJOR < 5 )) && pbuild::use_flag 'ra'; then
pbuild::add_configure_args "--with-pmi=/usr"
pbuild::add_configure_args "--with-pmi-libdir=/usr/lib64/slurm"
fi
if (( V_MAJOR >= 5 )); then
pbuild::add_configure_args "--enable-prte-prefix-by-default"
fi
if (( V_MAJOR < 4 )); then
pbuild::add_configure_args "--enable-mpi-f90"
pbuild::add_configure_args "--enable-mpi-profile"
pbuild::add_configure_args "--enable-smp-locks"
fi
if (( V_MAJOR >= 4 )); then
pbuild::add_configure_args "--enable-mpi-fortran"
fi
if (( V_MAJOR == 4 )); then
pbuild::add_configure_args "--without-verbs"
fi
if [[ -v CUDA_VERSION ]]; then
if [[ -v CUDA_VERSION ]]; then
std::info "Enabling CUDA ${CUDA_VERSION}."
pbuild::add_configure_args "--with-cuda=${CUDA_HOME}"
if (( V_MAJOR >= 5 )); then
pbuild::add_configure_args "--with-cuda-libdir=${CUDA_HOME}/lib64/stubs"
fi
fi
if [[ -v HWLOC_VERSION ]]; then
unset HWLOC_VERSION
std::info "Enabling external hwloc ${HWLOC_PREFIX}."
pbuild::add_configure_args "--with-hwloc=${HWLOC_PREFIX}"
else
pbuild::add_configure_args "--with-hwloc=internal"
fi
if [[ -v LIBEVENT_VERSION ]]; then
std::info "Enabling libevent ${LIBEVENT_VERSION}."
pbuild::add_configure_args "--with-libevent=${LIBEVENT_PREFIX}"
fi
if [[ -v PMIX_VERSION ]]; then
std::info "Enabling PMIX ${PMIX_VERSION}."
unset PMIX_VERSION
pbuild::add_configure_args "--with-pmix=${PMIX_PREFIX}"
fi
if pbuild::use_flag merlin7 && [[ ! -v LIBFABRIC_VERSION ]]; then
if pkg-config --exists libfabric; then
std::info "Get LIBFABRIC_VERSION via pkg-config"
LIBFABRIC_PREFIX=$(pkg-config --variable=prefix libfabric)
LIBFABRIC_VERSION="$(LIBFABRIC_PREFIX##*/)"
fi
fi
if [[ -v LIBFABRIC_VERSION ]]; then
std::info "Enabling libfabric ${LIBFABRIC_VERSION}."
pbuild::add_configure_args "--with-ofi=${LIBFABRIC_PREFIX}"
fi
if [[ -v UCX_VERSION ]]; then
std::info "Enabling UCX ${UCX_VERSION}."
pbuild::add_configure_args "--with-ucx=${UCX_PREFIX}"
fi
@@ -55,56 +79,78 @@ pbuild::pre_configure() {
pbuild::add_configure_args "FC=ifort"
pbuild::add_configure_args "F90=ifort"
pbuild::add_configure_args "F77=ifort"
pbuild::add_configure_args "LDFLAGS=-Wc,-static-intel,-O0"
# -O0 was probably added for enabling debugging:
# pbuild::add_configure_args "LDFLAGS=-Wc,-static-intel,-O0"
pbuild::add_configure_args "LDFLAGS=-Wc,-static-intel"
fi
if pbuild::use_flag slurm || pbuild::use_flag dgx || pbuild::use_flag merlin6; then
pbuild::add_configure_args "--with-gpfs=/usr/lpp/mmfs"
pbuild::add_configure_args "--with-pmi"
# pbuild::add_configure_args "--with-pmi-libdir=/usr/lib64/"
if pbuild::use_flag "libpmix"; then
pbuild::add_configure_args "--enable-install-libpmix"
fi
fi
local version
(( version = (${V_MAJOR} * 100 + ${V_MINOR}) * 100 + V_PATCHLVL ))
if (( V_MAJOR < 4 )); then
pbuild::add_configure_args "--enable-mpi-f90"
pbuild::add_configure_args "--enable-mpi-profile"
pbuild::add_configure_args "--enable-smp-locks"
elif (( V_MAJOR >= 4 )); then
pbuild::add_configure_args "--enable-mpi-fortran"
pbuild::add_configure_args "--without-verbs"
if pbuild::use_flag slurm || \
pbuild::use_flag dgx || \
pbuild::use_flag merlin6 || \
pbuild::use_flag merlin7; then
std::info "Enabling SLURM."
pbuild::add_configure_args "--with-slurm=yes"
fi
if pbuild::use_flag dgx || pbuild::use_flag merlin6 || pbuild::use_flag "gpfs"; then
std::info "Enabling GPFS."
pbuild::add_configure_args "--with-gpfs=/usr/lpp/mmfs"
fi
if pbuild::use_flag "libpmix"; then
std::info "Enabling install of libpmix."
pbuild::add_configure_args "--enable-install-libpmix"
fi
}
pbuild::post_install_no_slurm() {
if ! pbuild::use_flag slurm && \
! pbuild::use_flag dgx && \
! pbuild::use_flag merlin6 && \
! pbuild::use_flag merlin7; then
mkdir -p "${PREFIX}/lib/fallback"
local -r binary=$(ls "${PREFIX}"/lib/libmpi.so.*.*.*)
pbuild::install_shared_libs "${binary}" "${PREFIX}/lib/fallback" '/libuc[mpst].so'
pbuild::install_shared_libs "${binary}" "${PREFIX}/lib/fallback" '/libuct_ib.so.0'
pbuild::install_shared_libs "${binary}" "${PREFIX}/lib/fallback" '/libnuma.so'
pbuild::install_shared_libs "${binary}" "${PREFIX}/lib/fallback" '/libibverbs.so'
pbuild::install_shared_libs "${binary}" "${PREFIX}/lib/fallback" '/librdmacm.so'
pbuild::install_shared_libs "${binary}" "${PREFIX}/lib/fallback" '/libpmi.so'
pbuild::install_shared_libs "${binary}" "${PREFIX}/lib/fallback" '/libpmi2.so'
pbuild::install_shared_libs "${binary}" "${PREFIX}/lib/fallback" '/libpmi2.so'
fi
}
pbuild::post_install() {
if ! pbuild::use_flag slurm && ! pbuild::use_flag dgx && ! pbuild::use_flag merlin6; then
mkdir -p "${PREFIX}/lib/fallback"
local -r binary=$(ls "${PREFIX}"/lib/libmpi.so.*.*.*)
pbuild::install_shared_libs "${binary}" "${PREFIX}/lib/fallback" '/libuc[mpst].so'
pbuild::install_shared_libs "${binary}" "${PREFIX}/lib/fallback" '/libuct_ib.so.0'
pbuild::install_shared_libs "${binary}" "${PREFIX}/lib/fallback" '/libnuma.so'
pbuild::install_shared_libs "${binary}" "${PREFIX}/lib/fallback" '/libibverbs.so'
pbuild::install_shared_libs "${binary}" "${PREFIX}/lib/fallback" '/librdmacm.so'
pbuild::install_shared_libs "${binary}" "${PREFIX}/lib/fallback" '/libpmi.so'
pbuild::install_shared_libs "${binary}" "${PREFIX}/lib/fallback" '/libpmi2.so'
pbuild::install_shared_libs "${binary}" "${PREFIX}/lib/fallback" '/libpmi2.so'
fi
if [[ -v CUDA_VERSION ]]; then
echo "opal_warn_on_missing_libcuda = 0" >> ${PREFIX}/etc/openmpi-mca-params.conf
grep -qxF "opal_warn_on_missing_libcuda = 0" ${PREFIX}/etc/openmpi-mca-params.conf || \
echo "opal_warn_on_missing_libcuda = 0" >> ${PREFIX}/etc/openmpi-mca-params.conf
if (( V_MAJOR == 5 )); then
grep -qxF "mca_base_component_show_load_errors = '^accelerator,rcache,btl/smcuda'" ${PREFIX}/etc/openmpi-mca-params.conf || \
echo "mca_base_component_show_load_errors = '^accelerator,rcache,btl/smcuda'" >> ${PREFIX}/etc/openmpi-mca-params.conf
grep -qxF "mca_base_component_show_load_errors = '^accelerator,rcache,btl/smcuda'" ${PREFIX}/etc/prte-mca-params.conf || \
echo "mca_base_component_show_load_errors = '^accelerator,rcache,btl/smcuda'" >> ${PREFIX}/etc/prte-mca-params.conf
fi
fi
for FILE in $(find $PREFIX -type f \( ! -name "*.a" -and ! -name "*.mod" \) -exec grep -IL . "{}" \;)
do
OLD_RPATH=$(objdump -a -x $FILE | grep RPATH | awk '{print $2}')
NEW_RPATH=$(echo $OLD_RPATH | sed 's/:\/usr\/lib64:/:/g')
if [[ "${OLD_RPATH}" != "${NEW_RPATH}" ]]; then
patchelf --force-rpath --set-rpath "${NEW_RPATH}" "${FILE}"
fi
done
local fname=''
local old_rpath=''
local new_rpath=''
# remove '/usr/lib64' from RPATH/RUNPATH
while read fname; do
old_rpath=$(objdump -x "${fname}" | awk '/RPATH|RUNPATH/ {print $2}')
new_rpath=$(echo "${old_rpath}" | sed 's/:\/usr\/lib64:/:/g')
if [[ "${old_rpath}" != "${new_rpath}" ]]; then
patchelf \
--force-rpath \
--set-rpath "${new_rpath}" \
"${fname}"
fi
done < <(find "${PREFIX}" -type f \( ! -name "*.a" -and ! -name "*.mod" \) \
-exec grep -IL . "{}" \;)
}
# Local Variables:
# mode: sh
# sh-basic-offset: 8
# tab-width: 8
# End:

View File

@@ -1,100 +0,0 @@
#!/usr/bin/env modbuild
pbuild::install_docfiles 'AUTHORS' 'LICENSE' 'NEWS' 'README'
pbuild::pre_configure() {
pbuild::add_configure_args "--prefix=${PREFIX}"
pbuild::add_configure_args "--enable-mpi-cxx"
pbuild::add_configure_args "--enable-mpi-cxx-seek"
pbuild::add_configure_args "--enable-orterun-prefix-by-default"
pbuild::add_configure_args "--enable-shared"
pbuild::add_configure_args "--enable-static"
pbuild::add_configure_args "--with-slurm=yes"
if [[ -v CUDA_VERSION ]]; then
pbuild::add_configure_args "--with-cuda=${CUDA_HOME}"
fi
if [[ -v HWLOC_VERSION ]]; then
unset HWLOC_VERSION
pbuild::add_configure_args "--with-hwloc=${HWLOC_PREFIX}"
else
pbuild::add_configure_args "--with-hwloc=internal"
fi
if [[ -v LIBEVENT_VERSION ]]; then
pbuild::add_configure_args "--with-libevent=${LIBEVENT_PREFIX}"
fi
if [[ -v PMIX_VERSION ]]; then
unset PMIX_VERSION
pbuild::add_configure_args "--with-pmix=${PMIX_PREFIX}"
fi
if [[ -v LIBFABRIC_VERSION ]]; then
pbuild::add_configure_args "--with-ofi=${LIBFABRIC_PREFIX}"
fi
if [[ -v UCX_VERSION ]]; then
pbuild::add_configure_args "--with-ucx=${UCX_PREFIX}"
fi
if [[ -v INTEL_VERSION ]]; then
pbuild::add_configure_args "CC=icc"
pbuild::add_configure_args "CXX=icpc"
pbuild::add_configure_args "FC=ifort"
pbuild::add_configure_args "F90=ifort"
pbuild::add_configure_args "F77=ifort"
pbuild::add_configure_args "LDFLAGS=-Wc,-static-intel,-O0"
fi
if pbuild::use_flag slurm || pbuild::use_flag dgx || pbuild::use_flag merlin6; then
pbuild::add_configure_args "--with-gpfs=/usr/lpp/mmfs"
pbuild::add_configure_args "--with-pmi"
# pbuild::add_configure_args "--with-pmi-libdir=/usr/lib64/"
if pbuild::use_flag "libpmix"; then
pbuild::add_configure_args "--enable-install-libpmix"
fi
fi
local version
(( version = (${V_MAJOR} * 100 + ${V_MINOR}) * 100 + V_PATCHLVL ))
if (( V_MAJOR < 4 )); then
pbuild::add_configure_args "--enable-mpi-f90"
pbuild::add_configure_args "--enable-mpi-profile"
pbuild::add_configure_args "--enable-smp-locks"
elif (( V_MAJOR >= 4 )); then
pbuild::add_configure_args "--enable-mpi-fortran"
pbuild::add_configure_args "--without-verbs"
fi
}
pbuild::post_install() {
if ! pbuild::use_flag slurm && ! pbuild::use_flag dgx && ! pbuild::use_flag merlin6; then
mkdir -p "${PREFIX}/lib/fallback"
local -r binary=$(ls "${PREFIX}"/lib/libmpi.so.*.*.*)
pbuild::install_shared_libs "${binary}" "${PREFIX}/lib/fallback" '/libuc[mpst].so'
pbuild::install_shared_libs "${binary}" "${PREFIX}/lib/fallback" '/libuct_ib.so.0'
pbuild::install_shared_libs "${binary}" "${PREFIX}/lib/fallback" '/libnuma.so'
pbuild::install_shared_libs "${binary}" "${PREFIX}/lib/fallback" '/libibverbs.so'
pbuild::install_shared_libs "${binary}" "${PREFIX}/lib/fallback" '/librdmacm.so'
pbuild::install_shared_libs "${binary}" "${PREFIX}/lib/fallback" '/libpmi.so'
pbuild::install_shared_libs "${binary}" "${PREFIX}/lib/fallback" '/libpmi2.so'
pbuild::install_shared_libs "${binary}" "${PREFIX}/lib/fallback" '/libpmi2.so'
fi
if [[ -v CUDA_VERSION ]]; then
echo "opal_warn_on_missing_libcuda = 0" >> ${PREFIX}/etc/openmpi-mca-params.conf
fi
for FILE in $(find $PREFIX -type f \( ! -name "*.a" -and ! -name "*.mod" \) -exec grep -IL . "{}" \;)
do
OLD_RPATH=$(objdump -a -x $FILE | grep RPATH | awk '{print $2}')
NEW_RPATH=$(echo $OLD_RPATH | sed 's/:\/usr\/lib64:/:/g')
if [[ "${OLD_RPATH}" != "${NEW_RPATH}" ]]; then
patchelf --force-rpath --set-rpath "${NEW_RPATH}" "${FILE}"
fi
done
}

View File

@@ -6,10 +6,11 @@ openmpi:
group: Compiler
overlay: base
relstage: stable
systems: [rhel7, rhel8, rhel9]
configure_args:
- --enable-shared
docfiles: [AUTHORS, LICENSE, NEWS, README]
urls:
- url: https://download.open-mpi.org/release/open-mpi/v${V_MAJOR}.${V_MINOR}/openmpi-${V_PKG}.tar.bz
- url: https://download.open-mpi.org/release/open-mpi/v${V_MAJOR}.${V_MINOR}/openmpi-${V_PKG}.tar.bz2
shasums:
openmpi-1.10.0.tar.bz2: 26b432ce8dcbad250a9787402f2c999ecb6c25695b00c9c6ee05a306c78b6490
openmpi-1.10.4.tar.bz2: fb3c0c4c77896185013b6091b306d29ba592eb40d8395533da5c8bc300d922db
@@ -52,8 +53,110 @@ openmpi:
openmpi-4.1.3.tar.bz2: 3d81d04c54efb55d3871a465ffb098d8d72c1f48ff1cbaf2580eb058567c0a3b
openmpi-4.1.4.tar.bz2: 92912e175fd1234368c8730c03f4996fe5942e7479bb1d10059405e7f2b3930d
openmpi-4.1.5.tar.bz2: a640986bc257389dd379886fdae6264c8cfa56bc98b71ce3ae3dfbd8ce61dbe3
openmpi-4.1.6.tar.bz2: f740994485516deb63b5311af122c265179f5328a0d857a567b85db00b11e415
openmpi-5.0.5.tar.bz2: 6588d57c0a4bd299a24103f4e196051b29e8b55fbda49e11d5b3d32030a32776
versions:
# 5.0.6:
# config:
# configure_args+:
# - --enable-mpi1-compatibility
# - --enable-static=no
# variants:
# - systems: [.*.merlin7.psi.ch]
# relstage: unstable
# overlay: Alps
# use_overlays: [PSI, Alps]
# group_deps:
# compiler: {gcc: [14.2.0,12.3.0,8.5.0], intelcc: [22.2]}
# build_requires: [hwloc/2.11.1, patchelf/0.14.5]
# runtime_deps: [cuda/12.2.0, libfabric/1.15.2.0, pmix/5.0.4]
# configure_args+:
# - --with-cxi
# - --with-lustre
# - --with-slingshot
# use_flags: [merlin7, slurm]
5.0.5:
config:
configure_args+:
- --enable-mpi1-compatibility
- --enable-static=no
variants:
- systems: [.*.merlin7.psi.ch]
relstage: stable
overlay: Alps
use_overlays: [PSI, Alps]
group_deps:
compiler: {gcc: [14.2.0, 12.3.0, 8.5.0],
intelcc: [22.2]}
build_requires: [hwloc/2.11.1, patchelf/0.14.5]
runtime_deps: [cuda/12.2.0, libfabric/1.15.2.0, pmix/5.0.3]
configure_args+:
- --with-cxi
- --with-lustre
- --with-slingshot
use_flags: [merlin7, slurm]
4.1.6:
config:
build_variants: first_match
variants:
- systems: [merlin-.*]
suffix: _slurm
use_flags: [merlin6, gpfs]
relstage: stable
overlay: base
group_deps:
compiler: {gcc: [9.5.0, 10.4.0, 11.4.0, 12.3.0, 12.4.0, 13.1.0, 13.2.0, 14.2.0]}
build_requires:
- pmix/4.2.4
- ucx/1.14.1_slurm
- libfabric/1.18.0
- hwloc/2.9.1
- patchelf/0.14.5
runtime_deps: [cuda/12.1.1]
configure_args+:
- CFLAGS=-g -O0
- LDFLAGS=-g
- --with-gpfs=/usr/lpp/mmfs
- --with-pmi=/usr
- --enable-static
- systems: [ra-.*]
suffix: _ra
use_flags: [ra, gpfs]
group_deps:
compiler: {gcc: [9.5.0, 10.4.0, 11.4.0, 12.3.0, 13.1.0]}
build_requires: [pmix/4.2.4, ucx/1.14.1_slurm, hwloc/2.9.1, patchelf/0.14.5]
runtime_deps: [cuda/12.1.1]
configure_args+:
- --with-gpfs=/usr/lpp/mmfs
- --with-pmi=/usr
- --enable-static
- systems: [.*.merlin7.psi.ch]
relstage: stable
overlay: Alps
group_deps:
compiler: {gcc: [12.3.0, 13.3.0, 14.2.0], intelcc: [22.2]}
build_requires: [hwloc/2.11.1, patchelf/0.14.5]
runtime_deps: [cuda/12.2.0, libfabric/1.15.2.0, pmix/4.2.9]
configure_args+:
- --enable-mpi1-compatibility
- --enable-static=no
- --with-lustre
use_overlays: [PSI, Alps]
use_flags: [merlin7, slurm]
4.1.4:
variants:
- systems: [merlin-*, ra-*]
relstage: unstable
suffix: _slurm
group_deps:
compiler: {nvhpc: [24.3_cuda_12.3, 23.5_cuda_12.1]}
build_requires: [pmix/4.2.4, ucx/1.14.1_slurm, libfabric/1.18.0, hwloc/2.9.1, patchelf/0.14.5]
4.1.5:
variants:

View File

@@ -0,0 +1,50 @@
openmpi/3.1.4_merlin6 deprecated gcc/{7.4.0,8.3.0}
openmpi/3.1.5_merlin6 deprecated gcc/{7.3.0,7.4.0,8.3.0,9.2.0}
openmpi/3.1.5_merlin6 deprecated intel/{15.2,17.4,18.4}
openmpi/3.1.5-1_merlin6 deprecated gcc/{7.3.0,7.4.0,8.3.0,9.2.0}
openmpi/3.1.5-1_merlin6 deprecated intel/{15.2,17.4,18.4}
openmpi/2.1.6_slurm deprecated gcc/{4.9.4,5.5.0,6.5.0,7.4.0,8.3.0,9.2.0}
openmpi/2.1.6_slurm deprecated intel/{15.2,17.4,18.4}
openmpi/3.0.5_slurm deprecated gcc/{4.9.4,5.5.0,6.5.0,7.4.0,8.3.0,9.2.0}
openmpi/3.0.5_slurm deprecated intel/{15.2,17.4,18.4}
openmpi/3.1.6_slurm deprecated gcc/{4.9.4,5.5.0,6.5.0}
openmpi/3.1.6_slurm stable gcc/{7.5.0,8.4.0,9.3.0}
openmpi/3.1.6_slurm deprecated intel/{15.2,17.4,18.4,20.1}
openmpi/3.1.6_slurm deprecated intel/20.4 cuda/11.1.0
openmpi/4.0.3_slurm deprecated gcc/{4.9.4,5.5.0,6.5.0,7.5.0,8.4.0,9.3.0}
openmpi/4.0.3_slurm deprecated intel/{15.2,17.4,18.4,20.1}
openmpi/4.0.4_slurm deprecated gcc/{4.9.4,5.5.0,6.5.0,7.5.0,8.4.0,9.3.0}
openmpi/4.0.4_slurm deprecated intel/{15.2,17.4}
openmpi/4.0.4_slurm deprecated intel/{18.4,20.1}
openmpi/4.0.5_slurm stable gcc/9.2.0 cuda/11.0.3
openmpi/4.0.5_slurm stable gcc/{8.4.0,9.3.0} cuda/11.1.0
openmpi/4.0.5_slurm stable intel/20.4 cuda/11.1.0
openmpi/4.0.5-1_slurm stable gcc/{8.4.0,9.3.0,10.2.0,10.3.0} cuda/11.2.2 b:ucx/1.10.0-1_slurm
openmpi/4.0.5-2_slurm stable gcc/10.2.0 cuda/11.3.0 b:ucx/1.11.0_slurm
openmpi/4.0.7_slurm stable gcc/10.2.0 cuda/11.5.1 b:ucx/1.11.2-2_slurm
openmpi/4.0.7-1_slurm stable gcc/10.2.0 cuda/11.4.3 b:ucx/1.11.2-1_slurm
openmpi/4.1.1_slurm unstable gcc/10.2.0 cuda/11.3.0 b:ucx/1.11.2_slurm
openmpi/4.1.1-1_slurm unstable gcc/10.2.0 cuda/11.3.0 b:ucx/1.10.0_slurm
openmpi/4.1.3_slurm stable gcc/{9.3.0,10.3.0,11.2.0} cuda/11.5.1 b:ucx/1.12.1_slurm
openmpi/4.1.4_slurm stable gcc/10.4.0 cuda/11.5.1 b:ucx/1.12.1_slurm
openmpi/4.1.5_slurm stable gcc/{9.5.0,10.4.0,11.4.0,12.3.0,13.1.0} b:cuda/12.1.1 b:pmix/4.2.4 b:ucx/1.14.1_slurm b:libfabric/1.18.0 b:hwloc/2.9.1 b:patchelf/0.14.5
openmpi/4.1.5_slurm unstable intelcc/22.2 b:cuda/12.1.1 b:pmix/4.2.4 b:ucx/1.14.1_slurm b:libfabric/1.18.0 b:hwloc/2.9.1 b:patchelf/0.14.5
openmpi/4.0.5-1_dgx deprecated gcc/{8.4.0,9.3.0,10.2.0} cuda/11.2.2 b:ucx/1.10.0-1_dgx
openmpi/4.1.0-1_dgx deprecated gcc/10.2.0 cuda/11.2.2 b:ucx/1.10.0-1_dgx
openmpi/4.0.4_slurm_libpmix deprecated gcc/9.3.0

View File

@@ -44,3 +44,12 @@ if { $libcuda eq "" } {
prepend-path LD_LIBRARY_PATH $PREFIX/lib/fallback/cuda
}
}
if {[info exists ::env(PMIX_VERSION)]} {
set pmix_major_version [lindex [split $::env(PMIX_VERSION) "."] 0]
setenv SLURM_MPI_TYPE "pmix_v$pmix_major_version"
}
if { $V_MAJOR >= 5 } {
setenv OMPI_MCA_mca_base_component_show_load_errors = '^accelerator,rcache,btl/smcuda'
}

34
EM/DeepEMhancer/build Executable file
View File

@@ -0,0 +1,34 @@
#!/usr/bin/env modbuild
pbuild::configure() {
#MINICONDA INSTALL
mkdir -p "$PREFIX/miniconda"
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O "$PREFIX/miniconda/miniconda.sh"
bash "$PREFIX/miniconda/miniconda.sh" -b -u -p "$PREFIX/miniconda/"
#CREATE ENV
"$PREFIX/miniconda/condabin/conda" env create --name "${P}_${V}" -f "$BUILDBLOCK_DIR/environment.yaml"
#activate env and download deep learning models
mkdir -p "$PREFIX/deepmodels"
source "$PREFIX/miniconda/etc/profile.d/conda.sh"
conda activate "${P}_${V}"
deepemhancer --download "$PREFIX/deepmodels"
conda deactivate
}
#DO NOTHING
pbuild::compile(){
:
}
pbuild::install(){
:
}

View File

@@ -0,0 +1,7 @@
channels:
- rsanchez1369
- anaconda
- conda-forge
dependencies:
- python=3.10
- deepEMhancer

View File

@@ -0,0 +1,13 @@
---
format: 1
DeepEMhancer:
defaults:
group: EM
overlay: base
relstage: unstable
versions:
0.16:
variants:
- overlay: Alps
systems: [.*.merlin7.psi.ch]
relstage: unstable

View File

@@ -0,0 +1,34 @@
#%Module
module-whatis "Deep cryo-EM Map Enhancer (DeepEMhancer) "
module-url "https://github.com/rsanchezgarc/deepEMhancer"
module-license "Apache-2.0 License"
module-maintainer "Greta Assmann <greta.assmann@psi.ch>"
module-help "DeepEMhancer is a python package designed to perform post-processing of cryo-EM maps as described in DeepEMhancer: a deep learning solution for cryo-EM volume post-processing, by Sanchez-Garcia et al, 2021."
# Check for supported shell types
set shelltype [module-info shelltype]
switch -- $shelltype {
"sh" {
puts stdout "conda(){ :; };"
puts stdout "set +u"
puts stdout "source \"${PREFIX}\"/miniconda/etc/profile.d/conda.sh;\n"
}
default {
puts stderr "Shells of type '$shelltype' are NOT supported!"
}
}
switch [module-info mode] {
"load" {
# Relies on the anaconda module being loaded since we need to update the path
puts stdout "conda activate ${P}_${V};\n"
}
"unload" -
"remove" {
puts stdout "conda deactivate;\n"
}
}

10
EM/EMAN/README.md Normal file
View File

@@ -0,0 +1,10 @@
# EMAN
From version 2.99.53 (Oct. 23) EMAN is built as a conda package.
Current installation on Merlin7 (Nov 24) is 2.99.66
### Hints
conda installation on A100 GPU

View File

@@ -1,23 +1,27 @@
#!/usr/bin/env modbuild
pbuild::add_to_group 'EM'
pbuild::prep() {
local EMAN2DL="${PMODULES_TMPDIR:-/tmp}/eman${V}_sphire1.4_sparx.linux64.sh"
if ! [ -f "$EMAN2DL" ]; then
wget -O "$EMAN2DL" "https://cryoem.bcm.edu/cryoem/static/software/release-${V}/eman${V}_sphire1.4_sparx.linux64.sh"
fi
}
pbuild::configure() {
#MINICONDA INSTALL
mkdir -p "$PREFIX/miniconda"
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O "$PREFIX/miniconda/miniconda.sh"
bash "$PREFIX/miniconda/miniconda.sh" -b -u -p "$PREFIX/miniconda/"
#CREATE ENV , make sure to source the "correct" conda.sh
"$PREFIX/miniconda/condabin/conda" env create --name "${P}_${V}" -f "$BUILDBLOCK_DIR/environment.yaml"
}
#DO NOTHING
pbuild::compile(){
:
}
pbuild::install() {
pbuild::install(){
:
}
pbuild::compile() {
bash ${PMODULES_TMPDIR:-/tmp}/eman${V}_sphire1.4_sparx.linux64.sh -u -b -p $PREFIX
}

5
EM/EMAN/environment.yaml Normal file
View File

@@ -0,0 +1,5 @@
channels:
- cryoem
- conda-forge
dependencies:
- eman-dev

13
EM/EMAN/files/config.yaml Normal file
View File

@@ -0,0 +1,13 @@
---
format: 1
EMAN:
defaults:
group: EM
overlay: base
relstage: unstable
versions:
2.99.66:
variants:
- overlay: Alps
systems: [.*.merlin7.psi.ch]
relstage: unstable

View File

@@ -1,2 +0,0 @@
EMAN/2.99.47 unstable cuda/11.2.2
EMAN/2.2 stable

View File

@@ -1,37 +1,34 @@
#%Module1.0
#%Module
set dont-setenv {LD_LIBRARY_PATH}
module-whatis "EMAN2 is a broadly based greyscale scientific image processing suite with a primary focus on processing data from transmission electron microscopes "
module-url "https://blake.bcm.edu/emanwiki/EMAN2"
module-license "GNU gerneral public license: GPLv2"
module-maintainer "Greta Assmann <greta.assmann@psi.ch>"
module-whatis "EMAN(2) is a broadly based greyscale scientific image processing suite with a primary focus on processing data from transmission electron microscopes"
module-url "https://blake.bcm.edu/emanwiki/EMAN2"
module-license "GPL license"
module-maintainer "Elsa Germann <elsa.germann@psi.ch>"
module-help "EMAN2 is a broadly based greyscale scientific image processing suite with a primary focus on processing data from transmission electron microscopes. EMAN's original purpose was performing single particle reconstructions (3-D volumetric models from 2-D cryo-EM images) at the highest possible resolution, but the suite now also offers support for single particle cryo-ET, and tools useful in many other subdisciplines such as helical reconstruction, 2-D crystallography and whole-cell tomography. EMAN2 is capable of processing large data sets (>100,000 particle) very efficiently"
module-help "EMAN2 is a broadly based greyscale scientific image processing suite with a primary focus on processing data from transmission electron microscopes. EMAN's original purpose was performing single particle reconstructions (3-D volumetric models from 2-D cryo-EM images) at the highest possible resolution, but the suite now also offers support for single particle cryo-ET, and tools useful in many other subdisciplines such as helical reconstruction, 2-D crystallography and whole-cell tomography. EMAN2 is capable of processing large data sets (>100,000 particle) very efficiently.
# Check for supported shell types
set shelltype [module-info shelltype]
switch -- $shelltype {
"sh" {
puts stdout "conda(){ :; };"
puts stdout "set +u"
puts stdout "source \"${PREFIX}\"/miniconda/etc/profile.d/conda.sh;\n"
}
default {
puts stderr "Shells of type '$shelltype' are NOT supported!"
}
}
Please also note that this is not the (related) EMEN2 electronic notebook, but is EMAN2, a scientific image processing suite.
Please Cite (and read)
switch [module-info mode] {
"load" {
# Relies on the anaconda module being loaded since we need to update the path
puts stdout "conda activate ${P}_${V};\n"
}
"unload" -
"remove" {
puts stdout "conda deactivate;\n"
}
}
EMAN is free software, supported by NIH Grants. It is critical that you cite EMAN2 when you use it in a publication in any significant way, to help us document usage when trying to renew our funding. Feel free to cite any of these:
Primary EMAN2 paper:
G. Tang, L. Peng, P.R. Baldwin, D.S. Mann, W. Jiang, I. Rees & S.J. Ludtke. (2007) EMAN2: an extensible image processing suite for electron microscopy. J Struct Biol. 157, 38-46. PMID: 16859925
Subnanometer resolution subtomogram averaging using PPPT methods:
Chen M, Bell JM, Shi X, Sun SY, Wang Z, Ludtke SJ. Nat Methods. (2019) A complete data processing workflow for cryo-ET and subtomogram averaging, Nat. Methods, 16(11):1161-1168, PMC31611690
Neural Network Based Tomogram Segmentation
Chen M, Dai W, Sun SY, Jonasch D, He CY, Schmid MF, et al. (2017). Convolutional neural networks for automated annotation of cellular cryo-electron tomograms. Nat. Methods, 14(10), 9835. PMCID: PMC5623144
Neural Network Particle Picker
Bell JM, Chen M, Durmaz T, Fluty AC, Ludtke SJ. (2018). New software tools in EMAN2 inspired by EMDatabank map challenge. J. Struct. Biol. Elsevier;, 204(2), 28390.
EMAN2 high resolution refinement methods:
J.M. Bell, M. Chen, P.R. Baldwin & S.J. Ludtke. (2016) High Resolution Single Particle Refinement in EMAN2.1. Methods. 100, 25-34. PMC4848122
Methods for analysis of conformational and compositional variability:
Ludtke, S. J. \"Single-Particle Refinement and Variability Analysis in EMAN2.1.\" in Methods Enzymol 579159-189 (Elsevier, United States, 2016). PMC5101015
"

View File

@@ -12,3 +12,7 @@ The installation includes environment scripts which install into
`$IMOD_DIR/profile.d`. These are sourced in the modulefile. This means that the
module cannot be unloaded cleanly (eg IMOD remains in the PATH after
unloading).
TODO solution: re-write the .sh script that is sourced in the modulefile into the
modulefile directly. Variables and Path extensions will then automatically be
"unset" when unloding.

View File

@@ -1,18 +1,16 @@
#!/usr/bin/env modbuild
set -e
pbuild::add_to_group 'EM'
pbuild::prep() {
: ${CUDA_VERSION:?No CUDA_VERSION set}
#local cuda="${CUDA_VERSION%.*}" IF the cua version matches the cuda version in the filename
local cuda="${CUDA_VERSION%.*}"
local filename="imod_${V_PKG}_RHEL7-64_CUDA${cuda}.sh"
if [[ $V_RELEASE == *beta* ]]; then
local url="https://bio3d.colorado.edu/ftp/latestIMOD/RHEL7-64_CUDA${cuda}/$filename"
else
local url="https://bio3d.colorado.edu/imod/AMD64-RHEL5/$filename"
fi
#otherwise:
local cuda="12.0"
local filename="imod_${V_PKG}_RHEL8-64_CUDA${cuda}.sh"
# beta release link for Merlin7 ( RH8 for Opensuse)
local url="https://bio3d.colorado.edu/ftp/latestIMOD/RHEL8-64_CUDA${cuda}/$filename"
local dst="$PMODULES_DISTFILESDIR/${filename}"
if [ -f "$dst" ]; then
echo "Found cached $dst" >&2
@@ -35,8 +33,11 @@ pbuild::compile() {
pbuild::install() {
: ${CUDA_VERSION:?No CUDA_VERSION set}
local cuda="${CUDA_VERSION%.*}"
local filename="imod_${V_PKG}_RHEL7-64_CUDA${cuda}.sh"
#local cuda="${CUDA_VERSION%.*}"
#(if cuda version matches the file name) if not:
local cuda="12.0"
local filename="imod_${V_PKG}_RHEL8-64_CUDA${cuda}.sh"
local dst="$PMODULES_DISTFILESDIR/${filename}"
mkdir -p "$PREFIX/profile.d"

15
EM/IMOD/files/config.yaml Normal file
View File

@@ -0,0 +1,15 @@
---
format: 1
IMOD:
defaults:
group: EM
overlay: base
relstage: unstable
versions:
5.0.0:
variants:
- overlay: Alps
systems: [.*.merlin7.psi.ch]
relstage: unstable
runtime_deps:
- cuda/12.2.0

View File

@@ -1,4 +0,0 @@
IMOD/4.9.5 stable
IMOD/4.11.20 stable cuda/10.1.105
IMOD/4.11.24 unstable cuda/10.1.105
IMOD/4.12.50-beta unstable cuda/10.1.105

View File

@@ -3,7 +3,7 @@
module-whatis "IMOD is a set of image processing, modeling and display programs used for tomographic reconstruction and for 3D reconstruction of EM serial sections and optical sections."
module-url "http://bio3d.colorado.edu/imod/"
module-license "mostly GPLv2.0, with the exceptions, see http://bio3d.colorado.edu/imod/COPYRIGHT.txt"
module-maintainer "Spencer Bliven <spencer.bliven@psi.ch> / Dmitry Ozerov <dmitry.ozerov@psi.ch>"
module-maintainer "Greta Assmann - greta.assmann@psi.ch"
module-help "
IMOD is a set of image processing, modeling and display programs used for tomographic
@@ -34,6 +34,11 @@ For tomographic reconstruction, see also:
> tomographic reconstruction in IMOD. J. Struct. Biol. 197:102-113.
"
# TO DO : rewrite IMOD-linx.sh script directly into the following section instead of sourcing the script
#this is needed to NOT set the default IMOD_DIR by pmodules, as this is set later in the IMOD-linux.sh
set dont-setenv { IMOD_DIR }
switch [module-info mode] {
"load" {
puts stdout "source $PREFIX/profile.d/IMOD-linux.sh"

View File

@@ -6,9 +6,7 @@
PEET is shipped as a self-expanding installation script. Run `./build` to
install.
An experimental config.yaml files is included using Pmodules/1.1.10 syntax.
This should probably not be used until yaml support in modbuild stabilizes.
This module is usually used in combination with IMOD (etomo GUI).
## Testing
@@ -16,12 +14,17 @@ This should probably not be used until yaml support in modbuild stabilizes.
## Build notes
Building was successful with Pmodules 1.1.8 but not 1.1.9 or 1.1.10.
Linking the binary is a bit of a pain. It requires gcc to be loaded to provide
relatively recent versions of libstdc++.so.6. I didn't fine what exact version
Matlab MCR expects, but 9.5.0 seemed to work. MCR is linked dynamically at
runtime through LD_LIBRARY_PATH. This is not set in the modulefile as expected,
but rather in wrapper scripts which source particle.cfg. Sed commands in
pbuild::install update this file so that it reads the loaded modules correctly.
pbuild::install update this file so that it reads the loaded modules correctly.
(Remark Nov. 2024: still true for version 1.17.0)
## Versions
According to the website (INSTALL.TXT) the following Matlab is needed :
-1.17.0 : 2022b (Merlin7, automatically loads matlab)

View File

@@ -1,6 +1,5 @@
#!/usr/bin/env modbuild
pbuild::add_to_group 'EM'
pbuild::prep() {
@@ -13,6 +12,7 @@ pbuild::prep() {
--fail \
--output "$dst" \
"https://bio3d.colorado.edu/ftp/PEET/linux/Particle_${V_PKG}_linux.sh"
--no-check-certificate
fi
}

View File

@@ -1,8 +0,0 @@
overlay: base
relstage: stable
group: EM
shasums:
PEET/1.15.1a: de4e9104f90b9379502a34b58be33eafd5514d554002a94efe2adba6f44785e6
PEET/1.15.1a:
- relstage: unstable

16
EM/PEET/files/config.yaml Normal file
View File

@@ -0,0 +1,16 @@
---
format: 1
PEET:
defaults:
group: EM
overlay: base
relstage: unstable
versions:
1.17.0:
variants:
- overlay: Alps
systems: [.*.merlin7.psi.ch]
relstage: unstable
runtime_deps:
- gcc/12.3.0
- matlab/2022b

View File

@@ -1,2 +0,0 @@
PEET/1.15.1a stable gcc/9.5.0 matlab/2020b
PEET/1.16.0 stable gcc/9.5.0 matlab/2021b

View File

@@ -3,7 +3,7 @@
module-whatis "PEET (Particle Estimation for Electron Tomography) is an open-source package for aligning and averaging particles in 3-D subvolumes extracted from tomograms."
module-url "https://bio3d.colorado.edu/PEET/"
module-license "GPLv2 license"
module-maintainer "Spencer Bliven <spencer.bliven@psi.ch>"
module-maintainer "Greta Assmann <greta.assmann@psi.ch>"
module-help "
PEET (Particle Estimation for Electron Tomography) is an open-source package

View File

@@ -1,14 +1,15 @@
# crYOLO
crYOLO/1.2.3 was built as a miniconda independent environment.
Subsequent versions are deployed as central conda environments.
This significantly changed the build process.
Subsequent versions (up to 1.6.1) are deployed as central conda environments
crYOLO/1.9.9 (Merlin7, oct 2024) is installed with an independent miniconda setup again.
From crYOLO/1.9.9 crYOLO exists as two different conda envs, one crYOLO (code itself) env, one napari (visualization) env.
The installation notes recommend to link one into another, on Merlin7 simply two different modules and envs exist.
Users need to load one env in one terminal ( crYOLO itself) and another for visualization (napari).
## Adding New Versions
To add a new version, first create the conda environment, as described in
../../Programming/anaconda/2019.07/conda-env-defs/cryolo/.
Next, update files/variants with the new version and run `./build <VERSION>` to
install the modulefile
Adding new versions: change the environment file in the build folder accordingly (and the config.yaml file) and run the build script.

View File

@@ -1,20 +1,27 @@
#!/usr/bin/env modbuild
pbuild::add_to_group 'EM'
pbuild::prep() {
:
}
pbuild::configure() {
#MINICONDA INSTALL
mkdir -p "$PREFIX/miniconda"
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O "$PREFIX/miniconda/miniconda.sh"
bash "$PREFIX/miniconda/miniconda.sh" -b -u -p "$PREFIX/miniconda/"
#CREATE ENV , make sure to source the "correct" conda.sh
"$PREFIX/miniconda/condabin/conda" env create --name "${P}_${V}" -f "$BUILDBLOCK_DIR/environment.yaml"
}
#DO NOTHING
pbuild::compile(){
:
}
pbuild::compile() {
pbuild::install(){
:
}
pbuild::install() {
:
}

View File

@@ -1,10 +0,0 @@
# crYOLO configuration variables
# Miniconda installer filename. Defaults to 'latest'
MINICONDA_VERSION='Miniconda2-4.5.12-Linux-x86_64.sh'
# cryoloBM download url
CRYOLOBM_URL='ftp://ftp.gwdg.de/pub/misc/sphire/crYOLO_BM_V1_1_1/cryoloBM-1.1.1.tar.gz'
# cryolo download url. Default:
#CRYOLO_URL='ftp://ftp.gwdg.de/pub/misc/sphire/crYOLO_V1_2_3/cryolo-1.2.3.tar.gz'

View File

@@ -0,0 +1,13 @@
---
format: 1
crYOLO:
defaults:
group: EM
overlay: base
relstage: unstable
versions:
1.9.9:
variants:
- overlay: Alps
systems: [.*.merlin7.psi.ch]
relstage: unstable

View File

@@ -1,5 +0,0 @@
crYOLO/1.2.3 deprecated cuda/9.0.176
crYOLO/1.5.6_gpu stable anaconda/2019.07
crYOLO/1.6.1_gpu stable anaconda/2019.07
crYOLO/1.6.1_cpu stable anaconda/2019.07

View File

@@ -3,7 +3,7 @@
module-whatis "crYOLO is a fast and accurate particle picking procedure for electron microscopy"
module-url "http://sphire.mpg.de/wiki/doku.php?id=pipeline:window:cryolo"
module-license "SPHIRE-crYOLO Complimentary Science Software License (http://sphire.mpg.de/wiki/doku.php?id=cryolo_license). Non-commercial academic and research purposes only"
module-maintainer "Spencer Bliven <spencer.bliven@psi.ch>"
module-maintainer "Greta Assmann <greta.assmann@psi.ch>"
module-help "
CrYOLO is a fast and accurate particle picking procedure. It's based on
@@ -26,28 +26,20 @@ convolutional neural networks and utilizes the popular You Only Look Once
set shelltype [module-info shelltype]
switch -- $shelltype {
"sh" {
puts stdout "source \"\${ANACONDA_PREFIX}\"/admintools/conda_setup.sh;\n"
puts stdout "conda(){ :; };"
puts stdout "set +u"
puts stdout "source \"${PREFIX}\"/miniconda/etc/profile.d/conda.sh;\n"
}
default {
puts stderr "Shells of type '$shelltype' are NOT supported!"
}
}
# Determine useflags and construct conda env name
set list [split $V "_"]
set version [lindex ${list} 0]
set useflags [lrange ${list} 1 end]
set flavour [lindex $useflags 0]
set env_to_activate [string tolower ${P}]-${version}-${flavour}
#puts stderr "P/V: $P/$V"
#puts stderr "USEFLAG: [lindex $useflags 0]"
#puts stderr "$env_to_activate"
switch [module-info mode] {
"load" {
# Relies on the anaconda module being loaded since we need to update the path
puts stdout "conda activate $env_to_activate;\n"
puts stdout "conda activate ${P}_${V};\n"
}
"unload" -
"remove" {

11
EM/cryocare/README.md Normal file
View File

@@ -0,0 +1,11 @@
Installation remarks for cryocare:
- pip installation from https://pypi.org/project/cryoCARE/, (see environment.yaml)
- creation of conda env with miniconda
Usage with Relion: module does not need to be activated , BUT :
- executables need to be provided in the relion GUI
- the modulefile in RELION needs to add the cryocare bin to the LD_LIBRARY_PATH, otherwise the libraries will not be found

23
EM/cryocare/build Executable file
View File

@@ -0,0 +1,23 @@
#!/usr/bin/env modbuild
pbuild::configure() {
#MINICONDA INSTALL
mkdir -p "$PREFIX/miniconda"
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O "$PREFIX/miniconda/miniconda.sh"
bash "$PREFIX/miniconda/miniconda.sh" -b -u -p "$PREFIX/miniconda/"
#CREATE ENV , make sure to source the "correct" conda.sh
"$PREFIX/miniconda/condabin/conda" env create --name "${P}_${V}" -f "$BUILDBLOCK_DIR/environment.yaml"
}
#DO NOTHING
pbuild::compile(){
:
}
pbuild::install(){
:
}

View File

@@ -0,0 +1,10 @@
channels:
- conda-forge
- defaults
dependencies:
- python=3.8
- cudatoolkit=11.0
- cudnn=8.0
- pip:
- tensorflow==2.4
- cryoCARE

View File

@@ -0,0 +1,8 @@
format: 1
cryocare:
defaults:
group: EM
overlay: base
relstage: unstable
versions:
0.3.0:

34
EM/cryocare/modulefile Normal file
View File

@@ -0,0 +1,34 @@
#%Module1.0
module-whatis "Cryocare - Content-Aware Image Restoration for Cryo-Transmission Electron Microscopy Data"
module-url "https://github.com/juglab/cryoCARE_T2T"
module-license "BSD 2-Clause Simplified License"
module-maintainer "Greta Assmann <greta.assmann@psi.ch>"
module-help "https://arxiv.org/abs/1810.05420"
# Check for supported shell types
set shelltype [module-info shelltype]
switch -- $shelltype {
"sh" {
puts stdout "source \"${PREFIX}\"/miniconda/etc/profile.d/conda.sh;\n"
}
default {
puts stderr "Shells of type '$shelltype' are NOT supported!"
}
}
switch [module-info mode] {
"load" {
# Relies on the anaconda module being loaded since we need to update the path
puts stdout "conda activate ${P}_${V};\n"
}
"unload" -
"remove" {
puts stdout "conda deactivate;\n"
}
}

12
EM/napari/README.md Normal file
View File

@@ -0,0 +1,12 @@
# napari-boxmanager
The napari module is built in combination with the crYOLO module :
From crYOLO/1.9.9 crYOLO exists as two different conda envs, one crYOLO (code itself) env, one napari (visualization) env.
The installation notes recommend to link one into another, on Merlin7 simply two different modules and envs exist.
Users need to load one env in one terminal ( crYOLO itself) and another for visualization (napari).
## Adding New Versions
Adding new versions: change the environment file in the build folder accordingly (and the config.yaml file) and run the build script.

27
EM/napari/build Executable file
View File

@@ -0,0 +1,27 @@
#!/usr/bin/env modbuild
pbuild::configure() {
#MINICONDA INSTALL
mkdir -p "$PREFIX/miniconda"
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O "$PREFIX/miniconda/miniconda.sh"
bash "$PREFIX/miniconda/miniconda.sh" -b -u -p "$PREFIX/miniconda/"
#CREATE ENV , make sure to source the "correct" conda.sh
"$PREFIX/miniconda/condabin/conda" env create --name "${P}_${V}" -f "$BUILDBLOCK_DIR/environment.yaml"
}
#DO NOTHING
pbuild::compile(){
:
}
pbuild::install(){
:
}

View File

@@ -0,0 +1,11 @@
channels:
- conda-forge
- anaconda
dependencies:
- python=3.10
- pyqt
- napari=0.4.17
- pip
- pip:
- napari-boxmanager

View File

@@ -0,0 +1,13 @@
---
format: 1
napari:
defaults:
group: EM
overlay: base
relstage: unstable
versions:
0.4.17:
variants:
- overlay: Alps
systems: [.*.merlin7.psi.ch]
relstage: unstable

34
EM/napari/modulefile Normal file
View File

@@ -0,0 +1,34 @@
#%Module
module-whatis "Particle selection tool for cryo-em (crYOLO) "
module-url "https://cryolo.readthedocs.io/en/stable/installation.html#install-napari-and-the-boxmanager-plugin"
module-license "SPHIRE-crYOLO Complimentary Science Software License (http://sphire.mpg.de/wiki/doku.php?id=cryolo_license). Non-commercial academic and research purposes only"
module-maintainer "Greta Assmann <greta.assmann@psi.ch>"
module-help "Napari-Boxmanager is a tool to use in combination with crYOLO (visualization for particle picking) "
# Check for supported shell types
set shelltype [module-info shelltype]
switch -- $shelltype {
"sh" {
puts stdout "conda(){ :; };"
puts stdout "set +u"
puts stdout "source \"${PREFIX}\"/miniconda/etc/profile.d/conda.sh;\n"
}
default {
puts stderr "Shells of type '$shelltype' are NOT supported!"
}
}
switch [module-info mode] {
"load" {
# Relies on the anaconda module being loaded since we need to update the path
puts stdout "conda activate ${P}_${V};\n"
}
"unload" -
"remove" {
puts stdout "conda deactivate;\n"
}
}

View File

View File

@@ -12,4 +12,46 @@ and MKL, but this would require additional openmpi variants.
After running ./build, install relion scripts from the repository at
https://git.psi.ch/lsm-hpce/relion-scripts
From version 5.0-beta on, a conda env is required. conda env is build in the folder $SRC\_DIR/conda\_envs. Also, weights for BLUSH, MODEL-ANGELO and CLASS-RANKER are downloaded in the installation step.
## Important info per version!
### 5.0-beta (OLD, Merlin6)
- From version 5.0-beta on, a conda env is required (done with central anaconda module, needs to be done on pmod7 because of AFS hardlinks)
- the conda env is build in the folder $SRC\_DIR/conda\_envs. Also, weights for BLUSH, MODEL-ANGELO and CLASS-RANKER are downloaded in the installation step.
### 5.0-1beta (OLD, Merlin6)
- the conda env is made with a miniconda installation, and because of upgrading to Pmodules/1.1.21 , the variants file was dropped and changed into the config.yaml file.
- The build script was also updated accordingly
- Also, cryocare is now available in a wrapper from relion, the cryocare installation executables need to be provided (seperate cryocare module). It is crucial to add the cryocare lib path (from the cryocare conda env) to the LD_LIBRARY_PATH when loading the relion module
- tiff module no longer required, as this conflicts with the system shared tiff libs (not 100% sure why this canged from previous installations though)
### 5.0-2beta (ON MERLIN7)
- no fetching of weights with ftp possible, so cp from other machines into BUILD DIR and using the -DFETCH\_WEIGHTS=OFF option
- link : ftp://ftp.mrc-lmb.cam.ac.uk/pub/scheres/fltk-1.3.5-source.tar.gz
- link : ftp://ftp.mrc-lmb.cam.ac.uk/pub/dari/classranker\_v1.0.ckpt.gz
### 5.0.0 A100
- same as 5.0-2beta (especially when it comes to the weights...)
- copy the fltk and the classranker file into the BUILD Directory. The build script assumes that these two files are in the BUILD\_DIR.
- sha256 errors occured during installation:
```text
ERROR: THESE PACKAGES DO NOT MATCH THE HASHES FROM THE REQUIREMENTS FILE. If you have updated the package versions, please update the hashes. Otherwise, examine the package contents carefully; someone may have tampered with them.
unknown package:
Expected sha256 20abd2cae58e55ca1af8a8dcf43293336a59adf0391f1917bf8518633cfc2cdf
Got e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
```
- The download of some packages (.whl files) was blocked by the merlin7 firewall. Google the shasum and find the package name. Try to manually download with curl. If this fails, this is a strong indication for network/firewall issues that need to be adressed by the networking team. .whl files from conda +pip installations are ususally stored in the env in lib/pythonXXX.
- Also, to not clean up build directories:
```text
--no-clean
Don't clean up build directories.
(environment variable: PIP_NO_CLEAN)
```
- adding flags to activate more aggressive compiler optimsations (affixing to `x86-64-v3` which is fully support on all EPYC nodes on Merlin7)
### 5.0.0 for GH
no successful installation so far - failing for conda env. Elsa G. build some hacky hack that works kind of..
needs to be investigated further.
- will attempt to build with more aggressive compiler optimisations as proscribed in: <https://docs.nvidia.com/grace-perf-tuning-guide/compilers.html>

View File

@@ -1,7 +1,6 @@
#!/usr/bin/env modbuild
pbuild::add_to_group 'EM'
pbuild::use_cmake
PERFORMANCE="yes"
PROFILE="no"
SP="no"
@@ -10,85 +9,131 @@ pbuild::prep() {
local BRANCH
if [[ "$V" =~ beta$ ]]; then
BRANCH="ver${V_MAJOR}.${V_MINOR}"
elif [[ "$V" =~ profile$ ]]; then
BRANCH="${V_PKG}"
PROFILE="yes"
elif [[ "$V" =~ sp$ ]]; then
BRANCH="ver${V_MAJOR}.${V_MINOR}"
SP="yes"
else
BRANCH="${V_PKG}"
fi
git clone --depth=1 -b "$BRANCH" https://github.com/3dem/relion.git "$SRC_DIR" || return $?
if [[ -d "$SRC_DIR/.git" ]]; then
cd "$SRC_DIR"
git pull
else
git clone --depth=1 -b "$BRANCH" https://github.com/3dem/relion.git "$SRC_DIR" || return $?
fi
}
pbuild::pre_configure() {
pbuild::pre_configure() {
# Section will be switched on for -profile version
#-----------------------------------------------------------
if [[ "$PROFILE" == "yes" ]]; then
pbuild::add_configure_args "-DCMAKE_BUILD_TYPE=BENCHMARKING"
# this needs to go into the config.yml file for >5.0-1beta
if [[ "$V_MAJOR" -lt "5" ]]; then
: pbuild::add_configure_args "-DCMAKE_BUILD_TYPE=BENCHMARKING"
fi
fi
#------------------------------------------------------------
# Section will be switched on for single-precision version
# Safe memory usage for multibody refinements
#------------------------------------------------------------
if [[ "$SP" == "yes" ]]; then
pbuild::add_configure_args "-DDoublePrec_CPU=OFF"
# this needs to go into the config.yml file for >5.0-1beta
if [[ "$V_MAJOR" -lt "5" ]]; then
: pbuild::add_configure_args "-DDoublePrec_CPU=OFF"
fi
fi
#------------------------------------------------------------
# Set performance oriented compiler flags, specific for a given
# architecture.
# -------------------------------------------------------------
if [[ "$PERFORMANCE" == "yes" && "$PROFILE" == "no" ]]; then
# set compiler flags per arch
echo "> setting performance system compiler flags"
case "$(uname -m)" in
"aarch64")
export CC=gcc
export CFLAGS='-mcpu=neoverse-v2 -O3 -pipe -Wno-error'
export CXX=g++
export CXXFLAGS='-mcpu=neoverse-v2 -O3 -pipe -Wno-error'
export FCFLAGS='-mcpu=neoverse-v2 -O3 -pipe'
export FFLAGS='-mcpu=neoverse-v2 -O3 -pipe'
export LDFLAGS='-Wl,--as-needed'
;;
"x86_64")
export CC=gcc
export CFLAGS='-march=x86-64-v3 -mtune=znver1 -O3 -pipe -Wno-error'
export CXX=g++
export CXXFLAGS='-march=x86-64-v3 -mtune=znver1 -O3 -pipe -Wno-error'
export FCFLAGS='-march=x86-64-v3 -mtune=znver1 -O3 -pipe'
export FFLAGS='-march=x86-64-v3 -mtune=znver1 -O3 -pipe'
export LDFLAGS='-Wl,--as-needed'
;;
*)
echo ">> Unknown system arch found $(uname -m)! Using basic flags only!"
export CC=gcc
export CFLAGS='-O3 -pipe -Wno-error'
export CXX=g++
export CXXFLAGS='-O3 -pipe -Wno-error'
export FCFLAGS='-O3 -pipe'
export FFLAGS='-O3 -pipe'
export LDFLAGS='-Wl,--as-needed'
;;
esac
echo ">> ${CC} ${CFLAGS}"
echo ">> ${CXX} ${CXXFLAGS}"
fi
# -------------------------------------------------------------
# The following section will only work for versions >= 5.0-beta
# -------------------------------------------------------------
if [[ "$V_MAJOR" -ge "5" ]]; then
#download blush weights
wget ftp://ftp.mrc-lmb.cam.ac.uk/pub/dari/blush_v1.0.ckpt.gz -P "$PREFIX/torch/hub/checkpoints/relion_blush" \
#download blush weights, from zenodo
echo "> downloading blush weights"
mkdir -p "$PREFIX/torch/hub/checkpoints/relion_blush"
wget -q https://zenodo.org/records/10072731/files/blush_v1.0.ckpt.gz -P "$PREFIX/torch/hub/checkpoints/relion_blush" \
&& gunzip "$PREFIX/torch/hub/checkpoints/relion_blush/blush_v1.0.ckpt.gz"
mv "$PREFIX/torch/hub/checkpoints/relion_blush/blush_v1.0.ckpt" "$PREFIX/torch/hub/checkpoints/relion_blush/v1.0.ckpt"
touch "$PREFIX/torch/hub/checkpoints/relion_blush/v1.0_installed.txt"
#cp classranker that was downloaded on another machine before from BUILDBLOCK_DIR
echo "> downloading classranker"
mkdir -p "$PREFIX/torch/hub/checkpoints/relion_class_ranker"
wget -q ftp://ftp.mrc-lmb.cam.ac.uk/pub/dari/classranker_v1.0.ckpt.gz -P "$PREFIX/torch/hub/checkpoints/relion_class_ranker" \
&& gunzip "$PREFIX/torch/hub/checkpoints/relion_class_ranker/classranker_v1.0.ckpt.gz"
mv "$PREFIX/torch/hub/checkpoints/relion_class_ranker/classranker_v1.0.ckpt" "$PREFIX/torch/hub/checkpoints/relion_class_ranker/v1.0.ckpt"
touch "$PREFIX/torch/hub/checkpoints/relion_class_ranker/v1.0_installed.txt"
# fltk stuff
echo "> downloading FLTK"
mkdir -p "$SRC_DIR/external/fltk"
wget -q ftp://ftp.mrc-lmb.cam.ac.uk/pub/scheres/fltk-1.3.5-source.tar.gz -P "$SRC_DIR/external/fltk/"
#Set Torch Home
pbuild::add_configure_args "-DTORCH_HOME_PATH=$PREFIX/torch"
# Install Miniconda
echo "> installing miniconda"
mkdir -p "$PREFIX/miniconda"
if [[ "$(uname -m)" =~ "aarch64" ]]; then
wget -q https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-aarch64.sh -O "$PREFIX/miniconda/miniconda.sh"
else
wget -q https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O "$PREFIX/miniconda/miniconda.sh"
fi
bash "$PREFIX/miniconda/miniconda.sh" -b -u -p "$PREFIX/miniconda/"
#Conda
conda env create -f "$SRC_DIR/environment.yml" -p "$PREFIX/conda_env/$P_$V"
pbuild::add_configure_args "-DPYTHON_EXE_PATH=$PREFIX/conda_env/$P_$V/bin/python"
# Setup conda env; switch into relion repo directory to capture local
# `.[vis]` pip package dependencies
echo "> building conda env"
pushd "$SRC_DIR"
"$PREFIX/miniconda/condabin/conda" env create -q -f environment.yml
"$PREFIX/miniconda/condabin/conda" env list
popd
fi
#---------------------------------------------------------------
# CMake-based build
pbuild::add_configure_args "-DFORCE_OWN_FFTW=ON"
pbuild::add_configure_args "-DFORCE_OWN_FLTK=ON"
pbuild::add_configure_args "-DFORCE_OWN_TBB=ON"
# CUDA related (set lowest CC to 6.1 for 1080 compatibility)
pbuild::add_configure_args "-DCUDA=ON"
pbuild::add_configure_args "-DCUDA_ARCH=61"
pbuild::add_configure_args "-DCudaTexture=ON"
# Since ver3.0 relion cannot have ALTCPU and CUDA activated
# at the same time. Otherwise the configuration exits with
# an error.
if [[ "$V_MAJOR" -le "3" ]]; then
pbuild::add_configure_args "-DALTCPU=ON"
fi
if [[ -n "$INTEL_VERSION" ]]; then
# Requires intel compiler
pbuild::add_configure_args "-DMKLFFT=ON"
fi
#---------------------------------------------------------------
}
# vim: ts=4 sw=4 et

162
EM/relion/files/config.yaml Normal file
View File

@@ -0,0 +1,162 @@
---
format: 1
relion:
defaults:
group: EM
overlay: base
relstage: unstable
build_variants: first_match
versions:
5.0.0-perf:
variants:
- overlay: Alps
target_cpus: [x86_64]
systems: [.*.merlin7.psi.ch]
build_requires:
- cmake/3.23.2
- git/2.37.0
- gcc/12.3.0
- cuda/12.2.0
- openmpi/5.0.5
relstage: stable
runtime_deps:
- gcc/12.3.0
- cuda/12.2.0
- openmpi/5.0.5
configure_with: cmake
configure_args:
- "-DCMAKE_BUILD_TYPE=RELEASE"
- "-DCMAKE_CXX_FLAGS=${CXXFLAGS} -DNDEBUG"
- "-DCMAKE_C_FLAGS=${CFLAGS} -DNDEBUG"
- "-DTORCH_HOME_PATH=${PREFIX}/torch"
- "-DPYTHON_EXE_PATH=${PREFIX}/miniconda/envs/relion-5.0/bin/python"
- "-DFORCE_OWN_FFTW=ON"
- "-DFORCE_OWN_FLTK=ON"
- "-DCUDA=ON"
- "-DCUDA_ARCH=80" # dep on the cuda arch of the oldest GPU
- "-DFETCH_WEIGHTS=OFF"
# does not work yet- just an idea...
- overlay: Alps
target_cpus: [aarch64]
systems: [gpu0.*.merlin7.psi.ch]
build_requires:
#- cmake/3.23.2
#- git/2.37.0
- openmpi/5.0.5
- gcc/12.3.0
- cuda/12.2.0
relstage: unstable
runtime_deps:
- gcc/12.3.0
- cuda/12.2.0
- openmpi/5.0.5
configure_with: cmake
configure_args:
- "-DCMAKE_BUILD_TYPE=RELEASE"
- "-DCMAKE_CXX_FLAGS=${CXXFLAGS} -DNDEBUG"
- "-DCMAKE_C_FLAGS=${CFLAGS} -DNDEBUG"
- "-DTORCH_HOME_PATH=${PREFIX}/torch"
- "-DPYTHON_EXE_PATH=${PREFIX}/miniconda/envs/relion-5.0/bin/python"
- "-DFORCE_OWN_FFTW=ON"
- "-DFORCE_OWN_FLTK=ON"
- "-DCUDA=ON"
- "-DCUDA_ARCH=90" # dep on the cuda arch of the oldest GPU
- "-DFETCH_WEIGHTS=OFF"
5.0.0:
variants:
- overlay: Alps
target_cpus: [x86_64]
systems: [.*.merlin7.psi.ch]
build_requires:
- cmake/3.23.2
- git/2.37.0
- gcc/12.3.0
- cuda/12.2.0
- openmpi/5.0.5
relstage: unstable
runtime_deps:
- gcc/12.3.0
- cuda/12.2.0
- openmpi/5.0.5
configure_with: cmake
configure_args:
- "-DTORCH_HOME_PATH=${PREFIX}/torch"
- "-DPYTHON_EXE_PATH=${PREFIX}/miniconda/envs/relion-5.0/bin/python"
- "-DFORCE_OWN_FFTW=ON"
- "-DFORCE_OWN_FLTK=ON"
- "-DCUDA=ON"
- "-DCUDA_ARCH=80" # dep on the cuda arch of the oldest GPU
- "-DFETCH_WEIGHTS=OFF"
# does not work yet- just an idea...
- overlay: Alps
target_cpus: [aarch64]
systems: [gpu0.*.merlin7.psi.ch]
build_requires:
#- cmake/3.23.2
#- git/2.37.0
- openmpi/5.0.5
- gcc/12.3.0
- cuda/12.2.0
relstage: unstable
runtime_deps:
- gcc/12.3.0
- cuda/12.2.0
- openmpi/5.0.5
configure_with: cmake
configure_args:
- "-DTORCH_HOME_PATH=${PREFIX}/torch"
- "-DPYTHON_EXE_PATH=${PREFIX}/miniconda/envs/relion-5.0/bin/python"
- "-DFORCE_OWN_FFTW=ON"
- "-DFORCE_OWN_FLTK=ON"
- "-DCUDA=ON"
- "-DCUDA_ARCH=90" # dep on the cuda arch of the oldest GPU
- "-DFETCH_WEIGHTS=OFF"
#MERLIN7 old (cray)
5.0-2beta:
variants:
- overlay: Alps
systems: [gpu.*.merlin7.psi.ch]
build_requires:
- cmake/3.23.2
- git/2.37.0
- libfabric/1.22.0
relstage: unstable
runtime_deps:
- gcc/12.3.0
# - cudatoolkit/23.9_12.2
- cuda/12.2.0
configure_with: cmake
configure_args:
- "-DTORCH_HOME_PATH=${PREFIX}/torch"
- "-DPYTHON_EXE_PATH=${PREFIX}/miniconda/envs/relion-5.0/bin/python"
- "-DFORCE_OWN_FFTW=ON"
- "-DFORCE_OWN_FLTK=ON"
- "-DCUDA=ON"
- "-DCUDA_ARCH=80" # dep on the cuda arch of the oldest GPU
#- "-DCudaTexture=ON"
- "-DFETCH_WEIGHTS=OFF"
#MERLIN6
5.0-1beta:
variants:
- systems: [merlin-.*.psi.ch]
build_requires:
- gcc/10.4.0
- openmpi/4.1.4_slurm
- cuda/11.5.1
- cmake/3.23.2
- git/2.37.0
relstage: unstable
runtime_deps:
- cuda/11.5.1
- gcc/10.4.0
- openmpi/4.1.4_slurm
configure_with: cmake
configure_args:
- "-DTORCH_HOME_PATH=${PREFIX}/torch"
- "-DPYTHON_EXE_PATH=${PREFIX}/miniconda/envs/relion-5.0/bin/python"
- "-DFORCE_OWN_FFTW=ON"
- "-DFORCE_OWN_FLTK=ON"
- "-DCUDA=ON"
- "-DCUDA_ARCH=61" # dep on the cuda arch of the oldest GPU
- "-DCudaTexture=ON"

View File

@@ -1,18 +0,0 @@
relion/2.1.b1 deprecated gcc/4.9.4 openmpi/2.0.1 cuda/8.0.44
relion/2.1 deprecated gcc/9.3.0 openmpi/4.0.4_slurm cuda/11.0.3 b:cmake/3.15.5 b:tiff/4.0.9 b:git/2.22.0
relion/3.0_beta deprecated gcc/4.9.4 openmpi/2.0.1 cuda/8.0.44
relion/3.0.8 deprecated gcc/7.4.0 openmpi/3.1.4_merlin6 cuda/9.2.148 b:cmake/3.14.0 b:tiff/4.0.9
relion/3.0.8-1 stable gcc/9.2.0 openmpi/4.0.5_slurm cuda/11.0.3 b:cmake/3.15.5 b:tiff/4.0.9 b:git/2.22.0
relion/3.1-beta deprecated gcc/7.4.0 openmpi/3.1.4_merlin6 cuda/9.2.148 b:cmake/3.14.0 b:tiff/4.0.9
relion/3.1.0 deprecated gcc/7.5.0 openmpi/4.0.4_slurm cuda/10.0.130 b:cmake/3.15.5 b:tiff/4.0.9 b:git/2.22.0
relion/3.1.0-1 deprecated gcc/7.5.0 openmpi/4.0.4_slurm cuda/10.1.105 b:cmake/3.15.5 b:tiff/4.0.9 b:git/2.22.0
relion/3.1.1 deprecated gcc/9.3.0 openmpi/4.0.4_slurm cuda/11.0.3 b:cmake/3.15.5 b:tiff/4.0.9 b:git/2.22.0
relion/3.1.1-1 stable gcc/9.2.0 openmpi/4.0.5_slurm cuda/11.0.3 b:cmake/3.15.5 b:tiff/4.0.9 b:git/2.22.0
relion/3.1.2 stable gcc/9.2.0 openmpi/4.0.5_slurm cuda/11.0.3 b:cmake/3.15.5 b:tiff/4.0.9 b:git/2.22.0
relion/3.1.3 stable gcc/9.2.0 openmpi/4.0.5_slurm cuda/11.0.3 b:cmake/3.15.5 b:tiff/4.0.9 b:git/2.22.0
relion/4.0-beta deprecated gcc/9.2.0 openmpi/4.0.5_slurm cuda/11.0.3 b:cmake/3.15.5 b:tiff/4.0.9 b:git/2.22.0
relion/4.0.0 unstable gcc/11.2.0 openmpi/4.1.3_slurm cuda/11.5.1 b:cmake/3.23.2 b:tiff/4.3.0 b:git/2.37.0
relion/4.0.1 unstable gcc/10.4.0 openmpi/4.1.4_slurm cuda/11.5.1 b:cmake/3.23.2 b:tiff/4.3.0 b:git/2.37.0
relion/4.0.1-profile unstable gcc/10.4.0 openmpi/4.1.4_slurm cuda/11.5.1 b:cmake/3.23.2 b:tiff/4.3.0 b:git/2.37.0
relion/5.0-beta unstable gcc/10.4.0 openmpi/4.1.4_slurm cuda/11.5.1 b:cmake/3.23.2 b:tiff/4.3.0 b:git/2.37.0 anaconda/2019.07
relion/5.0-sp unstable gcc/10.4.0 openmpi/4.1.4_slurm cuda/11.5.1 b:cmake/3.23.2 b:tiff/4.3.0 b:git/2.37.0 anaconda/2019.07

View File

@@ -25,10 +25,10 @@ Scheres(2012) JSB http://www.sciencedirect.com/science/article/pii/S104784771200
"
setenv RELION_QUEUE_USE yes
setenv RELION_QUEUE_NAME gpu
setenv RELION_QUEUE_NAME general-x64
setenv RELION_QSUB_COMMAND sbatch
setenv RELION_THREAD_MAX 44
setenv RELION_QSUB_EXTRA_COUNT 2
setenv RELION_QSUB_EXTRA_COUNT 4
setenv RELION_QSUB_EXTRA1 "Max Time"
setenv RELION_QSUB_EXTRA1_DEFAULT "1-00:00:00"
setenv RELION_QSUB_EXTRA1_HELP "Maximum time before the job is killed by slurm. Default: 1-00:00:00"
@@ -36,32 +36,15 @@ setenv RELION_QSUB_EXTRA2 "Extra Slurm Args"
setenv RELION_QSUB_EXTRA2_DEFAULT ""
setenv RELION_QSUB_EXTRA2_HELP "Any additional arguments to pass to slurm"
setenv RELION_SCRATCH_DIR /scratch
setenv RELION_UNBLUR_EXECUTABLE /opt/psi/EM/Unblur/1.0.2/bin/unblur_openmp_7_17_15.exe
setenv RELION_SUMMOVIE_EXECUTABLE /opt/psi/EM/Summovie/1.0.2/bin/sum_movie_openmp_7_17_15.exe
setenv RELION_CTFFIND_EXECUTABLE /opt/psi/EM/ctffind4/4.1.8/bin/ctffind
setenv RELION_GCTF_EXECUTABLE /opt/psi/EM/Gctf/1.06/bin/Gctf
#also has internal version, depending on what users want... dont know if it works
setenv RELION_RESMAP_EXECUTABLE /opt/psi/EM/ResMap/1.1.4/bin/ResMap
setenv RELION_TOPAZ_EXECUTABLE /opt/psi/EM/relion/5.0-sp/conda_env/5.0-beta/bin/topaz
setenv RELION_PYTHON_EXECUTABLE /opt/psi/EM/relion/5.0-sp/conda_env/5.0-beta/bin/python
setenv RELION_TORCH_HOME_PATH /opt/psi/EM/relion/5.0-sp/torch
# Version-specific variables
setenv RELION_QSUB_TEMPLATE /opt/psi/EM/relion/$V/scripts/multi_gpu.sh
setenv RELION_QSUB_TEMPLATE /opt/psi/overlays/Alps/EM/relion/$V/scripts/multi_gpu.sh
# See MC2 compatibility matrix: https://intranet.psi.ch/en/bio/motioncor2
if {[string match "8.0*" $env(CUDA_VERSION)]} {
setenv RELION_MOTIONCOR2_EXECUTABLE "/opt/psi/EM/MotionCor2/1.3.2/bin/MotionCor2_1.3.2-Cuda80"
} elseif {[string match "11.0*" $env(CUDA_VERSION)]} {
setenv RELION_MOTIONCOR2_EXECUTABLE "/opt/psi/EM/MotionCor2/1.4.0/bin/MotionCor2"
} else {
setenv RELION_MOTIONCOR2_EXECUTABLE "/opt/psi/EM/MotionCor2/1.6.4/bin/MotionCor2"
}
setenv RELION_MOTIONCOR2_EXECUTABLE "/opt/psi/EM/MotionCor2/1.6.4/bin/MotionCor2"
# relion 5 features
if {[file exists /opt/psi/EM/relion/$V/conda_env/$V]} {
setenv RELION_TOPAZ_EXECUTABLE /opt/psi/EM/relion/$V/conda_env/$V/bin/topaz
setenv RELION_PYTHON_EXECUTABLE /opt/psi/EM/relion/$V/conda_env/$V/bin/python
}
if {[file exists /opt/psi/EM/relion/$V/torch]} {
setenv RELION_TORCH_HOME_PATH /opt/psi/EM/relion/$V/torch
}
setenv RELION_TOPAZ_EXECUTABLE /opt/psi/overlays/Alps/EM/relion/$V/miniconda/envs/relion-5.0/bin/topaz
setenv RELION_PYTHON_EXECUTABLE /opt/psi/overlays/Alps/EM/relion/$V/miniconda/envs/relion-5.0/bin/python
setenv RELION_TORCH_HOME_PATH /opt/psi/overlays/Alps/EM/relion/$V/torch/

13
EM/tomodrgn/README.md Normal file
View File

@@ -0,0 +1,13 @@
Installation remarks for Tomodrgn:
1.) function in tomodrgn/analysis.py is not valid with matplotlib v3.8 anymore, this is why the function is substituted in the build script:
sed -i 's/cbar.draw_all/cbar._draw_all/' tomodrgn/analysis.py
2.) the tomodrgn quicktest script can be exectued by :
python /opt/psi/EM/tomodrgn/0.2.2/tomodrgn/testing/quicktest.py
REMARK: This file was changed in order to provide the argument --datadir /opt/psi/EM/tomodrgn/0.2.2/tomodrgn/testing/, otherwise it will look for the "data" folder in the current working dir.
3.) quicktest is run without the two arguments: --num-workers (dafault =0) and --prefetch-factor (default should be None, but is actually 2), which throws an error,was fixed by changing the default of --prefetch-factor to None in the file /opt/psi/EM/tomodrgn/0.2.2/miniconda/envs/tomodrgn_0.2.2/lib/python3.9/site-packages/tomodrgn/commands/train_vae.py

34
EM/tomodrgn/build Executable file
View File

@@ -0,0 +1,34 @@
#!/usr/bin/env modbuild
pbuild::configure() {
#MINICONDA INSTALL
mkdir -p "$PREFIX/miniconda"
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O "$PREFIX/miniconda/miniconda.sh"
bash "$PREFIX/miniconda/miniconda.sh" -b -u -p "$PREFIX/miniconda/"
#CREATE ENV , make sure to source the "correct" conda.sh
"$PREFIX/miniconda/condabin/conda" env create --name "tomodrgn_$V" -f "$BUILDBLOCK_DIR/environment.yaml"
source "$PREFIX/miniconda/etc/profile.d/conda.sh"
conda activate "tomodrgn_$V"
#CP SOURCE CODE
mkdir "$PREFIX/tomodrgn"
cd "$PREFIX/tomodrgn"
cp -r "$SRC_DIR"/* .
#FIX MATPLOTLIB VERSION issue
sed -i 's/cbar.draw_all/cbar._draw_all/' tomodrgn/analysis.py
#INSTALL IN ENV
pip install .
}
#DO NOTHING
pbuild::compile(){
:
}
pbuild::install(){
:
}

View File

@@ -0,0 +1,18 @@
channels:
- pytorch
- conda-forge
- defaults
dependencies:
- pytorch-gpu>=1.11.0
- cudatoolkit>=11.0
- pandas
- seaborn
- scikit-learn
- umap-learn
- ipython_genutils
- notebook
- pip
- pip:
- ipyvolume>=0.6.0
- pythreejs>=2.4.2

View File

@@ -0,0 +1,11 @@
format: 1
tomodrgn:
deaults:
group: EM
overlay: base
relstage: unstable
urls:
- url: https://github.com/bpowell122/tomodrgn/archive/refs/tags/v${V_PKG}.tar.gz
name: tomodrgn-${V_PKG}.tar.gz
versions:
0.2.2:

34
EM/tomodrgn/modulefile Normal file
View File

@@ -0,0 +1,34 @@
#%Module1.0
module-whatis "TomoDRGN - analyzing structural heterogeneity in cryo-electron sub-tomograms"
module-url "https://github.com/bpowell122/tomodrgn"
module-license "-"
module-maintainer "Greta Assmann <greta.assmann@psi.ch>"
module-help "https://github.com/bpowell122/tomodrgn"
# Check for supported shell types
set shelltype [module-info shelltype]
switch -- $shelltype {
"sh" {
puts stdout "source \"\${PREFIX}\"/miniconda/etc/profile.d/conda.sh;\n"
}
default {
puts stderr "Shells of type '$shelltype' are NOT supported!"
}
}
switch [module-info mode] {
"load" {
# Relies on the anaconda module being loaded since we need to update the path
puts stdout "conda activate $P_$V;\n"
}
"unload" -
"remove" {
puts stdout "conda deactivate;\n"
}
}

34
EM/topaz/README.md Normal file
View File

@@ -0,0 +1,34 @@
# TOPAZ
The topaz module is build for using it with the cryosparc software. An executable path to the topaz binary needs to be provided in cryosparc.
## Adding New Versions
Adding new versions: change the environment file in the build folder accordingly (and the config.yaml file) and run the build script.
IMPORTANT: Build it on the GPU node , otherwise the pytorch installation will not enable GPU support.
## HINTS
Current successful environment.yaml file:
channels:
- tbepler
- pytorch
dependencies:
- python=3.6
- cudatoolkit
- topaz
- pytorch
- specifing cudatoolkit version of 11.8 failed for GPU support (see below)
- specifing higher python/cudatoolkit versions lead to higher pytorch versions, which again failed for topaz to run successful (https://discuss.cryosparc.com/t/topaz-train-typeerror-concat-takes-1-positional-argument-but-2-were-given/11240/18)
## Versions
Nov. 2024: 0.2.5 (TOPAZ) with
```
python3.6
cudatoolkit 11.3.1 h2bc3f7f_2
pytorch 1.10.2 py3.6_cuda11.3_cudnn8.2.0_0
pytorch-mutex 1.0 cuda
```

27
EM/topaz/build Executable file
View File

@@ -0,0 +1,27 @@
#!/usr/bin/env modbuild
pbuild::configure() {
#MINICONDA INSTALL
mkdir -p "$PREFIX/miniconda"
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O "$PREFIX/miniconda/miniconda.sh"
bash "$PREFIX/miniconda/miniconda.sh" -b -u -p "$PREFIX/miniconda/"
#CREATE ENV , make sure to source the "correct" conda.sh
"$PREFIX/miniconda/condabin/conda" env create --name "${P}_${V}" -f "$BUILDBLOCK_DIR/environment.yaml"
}
#DO NOTHING
pbuild::compile(){
:
}
pbuild::install(){
:
}

View File

@@ -0,0 +1,8 @@
channels:
- tbepler
- pytorch
dependencies:
- python=3.6
- cudatoolkit
- topaz
- pytorch

View File

@@ -0,0 +1,13 @@
---
format: 1
topaz:
defaults:
group: EM
overlay: base
relstage: unstable
versions:
0.2.5:
variants:
- overlay: Alps
systems: [.*.merlin7.psi.ch]
relstage: unstable

34
EM/topaz/modulefile Normal file
View File

@@ -0,0 +1,34 @@
#%Module
module-whatis "A pipeline for particle detection in cryo-electron microscopy images using convolutional neural networks trained from positive and unlabeled examples. Topaz also includes methods for micrograph and tomogram denoising using deep denoising models."
module-url "https://github.com/tbepler/topaz"
module-license "https://github.com/tbepler/topaz/blob/master/LICENSE"
module-maintainer "Greta Assmann <greta.assmann@psi.ch>"
module-help "Particle Picker for CryoEM. Used with Cryosparc"
# Check for supported shell types
set shelltype [module-info shelltype]
switch -- $shelltype {
"sh" {
puts stdout "conda(){ :; };"
puts stdout "set +u"
puts stdout "source \"${PREFIX}\"/miniconda/etc/profile.d/conda.sh;\n"
}
default {
puts stderr "Shells of type '$shelltype' are NOT supported!"
}
}
switch [module-info mode] {
"load" {
# Relies on the anaconda module being loaded since we need to update the path
puts stdout "conda activate ${P}_${V};\n"
}
"unload" -
"remove" {
puts stdout "conda deactivate;\n"
}
}

View File

@@ -1,12 +1,2 @@
#!/usr/bin/env modbuild
pbuild::set_download_url "https://gmplib.org/download/$P/$P-$V_PKG.tar.bz2"
pbuild::add_to_group 'Libraries'
# use system gcc to compile
declare -rx CC=gcc
declare -rx CPP=/usr/bin/cpp
pbuild::add_configure_args "--disable-shared"
pbuild::add_configure_args "--with-pic"

View File

@@ -0,0 +1,37 @@
format: 1
gmp:
defaults:
group: Libraries
overlay: base
relstage: stable
configure_args:
- --disable-shared
- --with-pic
- CC=gcc
- CPP=/usr/bin/cpp
docfiles: []
urls:
- url: https://gmplib.org/download/$P/$P-$V_PKG.tar.bz2
shasums:
gmp-6.3.0.tar.bz2: ac28211a7cfb609bae2e2c8d6058d66c8fe96434f740cf6fe2e47b000d1c20cb
gmp-6.2.1.tar.bz2: eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c
gmp-6.2.0.tar.bz2: f51c99cb114deb21a60075ffb494c1a210eb9d7cb729ed042ddb7de9534451ea
gmp-6.1.2.tar.gz: 97904147e7216a58cf5870a810aa1347488fe714d710f53d42f72247be7b77f7
gmp-6.1.2.tar.bz2: 5275bb04f4863a13516b2f39392ac5e272f5e1bb8057b18aec1c9b79d73d8fb2
gmp-6.1.2.tar.bz2.sig: 7de6a71ccadc8e1d761713a9fce2ef67de2dcc8cbaee51d464d360df07f5e951
gmp-6.1.2-1.tar.gz: 97904147e7216a58cf5870a810aa1347488fe714d710f53d42f72247be7b77f7
gmp-6.1.2-1.tar.bz2: 97904147e7216a58cf5870a810aa1347488fe714d710f53d42f72247be7b77f7
gmp-6.1.1.tar.lz: 2ac8d815c670bbfecc2e796b9bcd4869eecd31299868248b0b221bc64a2570b2
gmp-6.1.1.tar.bz2: a8109865f2893f1373b0a8ed5ff7429de8db696fc451b1036bd7bdf95bbeffd6
gmp-6.1.0.tar.bz2: 498449a994efeba527885c10405993427995d3f86b8768d8cdf8d9dd7c6b73e8
gmp-6.0.0.tar.bz2: 7f8e9a804b9c6d07164cf754207be838ece1219425d64e28cfa3e70d5c759aaf
gmp-5.1.3.tar.bz2: 752079520b4690531171d0f4532e40f08600215feefede70b24fabdc6f1ab160
gmp-5.1.1.tar.bz2: a0d4779f48b36519dfaceb5f987a7c76fcac223258bebea3bb2244310970afad
versions:
6.2.1;6.3.0:
5.1.1;6.0.0;6.1.0;6.1.1;6.1.2;6.1.2-1;6.2.0:
config:
relstage: deprecated

View File

@@ -1,8 +0,0 @@
gmp/5.1.1 stable
gmp/6.0.0 stable
gmp/6.1.0 stable
gmp/6.1.1 stable
gmp/6.1.2 stable
gmp/6.1.2-1 stable
gmp/6.2.0 stable
gmp/6.2.1 stable

View File

@@ -1,13 +1,2 @@
#!/usr/bin/env modbuild
pbuild::set_download_url "https://download.open-mpi.org/release/${P}/v${V_MAJOR}.${V_MINOR}/${P}-${V}.tar.gz"
pbuild::add_to_group 'Libraries'
pbuild::install_docfiles 'README' 'AUTHORS' 'NEWS' 'COPYING' 'VERSION'
pbuild::pre_configure() {
pbuild::add_configure_args "--enable-netloc"
pbuild::add_configure_args "--enable-plugins"
}

13
Libraries/hwloc/build-legacy Executable file
View File

@@ -0,0 +1,13 @@
#!/usr/bin/env modbuild
pbuild::set_download_url "https://download.open-mpi.org/release/${P}/v${V_MAJOR}.${V_MINOR}/${P}-${V}.tar.gz"
pbuild::add_to_group 'Libraries'
pbuild::install_docfiles 'README' 'AUTHORS' 'NEWS' 'COPYING' 'VERSION'
pbuild::pre_configure() {
pbuild::add_configure_args "--enable-netloc"
pbuild::add_configure_args "--enable-plugins"
}

View File

@@ -1,8 +0,0 @@
#!/usr/bin/env modbuild
pbuild::pre_configure() {
pbuild::add_configure_args "--enable-netloc"
pbuild::add_configure_args "--enable-plugins"
}

View File

@@ -6,15 +6,21 @@ hwloc:
docfiles: [README, AUTHORS, NEWS, COPYING, VERSION]
urls:
- url: https://download.open-mpi.org/release/${P}/v${V_MAJOR}.${V_MINOR}/${P}-${V}.tar.gz
configure_args:
- --enable-netloc
- --enable-plugins
shasums:
hwloc-2.7.1.tar.gz: 4cb0a781ed980b03ad8c48beb57407aa67c4b908e45722954b9730379bc7f6d5
hwloc-2.11.1.tar.gz: 9f320925cfd0daeaf3a3d724c93e127ecac63750c623654dca0298504aac4c2c
hwloc-2.9.1.tar.gz: a440e2299f7451dc10a57ddbfa3f116c2a6c4be1bb97c663edd3b9c7b3b3b4cf
hwloc-2.7.1.tar.gz: 4cb0a781ed980b03ad8c48beb57407aa67c4b908e45722954b9730379bc7f6d5
versions:
2.7.1:
2.11.1:
config:
relstage: stable
build_requires: cuda/11.5.1
relstage: unstable
build_requires: [cuda/12.1.1]
2.9.1:
config:
relstage: stable
build_requires: cuda/12.1.1
build_requires: [cuda/12.1.1]
2.7.1:
config:
build_requires: [cuda/11.5.1]

View File

@@ -1,7 +1,2 @@
#!/usr/bin/env modbuild
pbuild::set_download_url "https://github.com/libevent/libevent/releases/download/release-$V-stable/$P-$V-stable.tar.gz"
pbuild::add_to_group 'Libraries'
pbuild::install_docfiles 'LICENSE'

View File

@@ -0,0 +1,30 @@
format: 1
libevent:
defaults:
group: Libraries
relstage: stable
configure_args:
- --enable-shared
- --enable-static
docfiles:
- LICENSE
urls:
- url: https://github.com/libevent/libevent/releases/download/release-$V-stable/$P-$V-stable.tar.gz
shasums:
libevent-2.1.8-stable.tar.gz: 965cc5a8bb46ce4199a47e9b2c9e1cae3b137e8356ffdad6d94d3b9069b71dc2
libevent-2.1.12-stable.tar.gz: 92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb
versions:
2.1.12:
config:
runtime_deps: []
variants:
- systems: [.*.merlin7.psi.ch]
overlay: Alps
use_overlays: [PSI]
build_requires: []
relstage: stable
- systems: [rhel.*]
build_requires: [openssl/1.1.1k]
2.1.8:
config:
build_requires: [openssl/1.0.2r]

View File

@@ -1,7 +1,36 @@
#!/usr/bin/env modbuild
pbuild::set_download_url "https://github.com/ofiwg/libfabric/releases/download/v$V/$P-$V.tar.bz2"
pbuild::add_to_group 'Libraries'
pbuild::install_docfiles 'COPYING' 'AUTHORS' 'README' 'NEWS.md'
# Check 'version-to-gitcommit.txt'
# - If version exists, we will compile directly from GIT cloned commit.
# - If version does not exist, install from GIT repository package (tag).
GITURL=$(grep -E "^${V}" files/from-git.txt | awk '{print $2}')
BRANCH=$(grep -E "^${V}" files/from-git.txt | awk '{print $3}')
CHERRY=$(grep -E "^${V}" files/from-git.txt | awk -F'cherry-pick:' '{print $2}')
CHERRY_COMMIT=$(echo "$CHERRY" | awk -F'|' '{print $1}')
CHERRY_REPO=$(echo "$CHERRY" | awk -F'|' '{print $2}')
if [[ -n ${GITURL} ]]; then
pbuild::pre_prep() {
if [[ ! -f ${PMODULES_DISTFILESDIR}/${P}-${V}.tar.bz2 ]]; then
git clone ${GITURL} ${P}
cd ${P}
if [[ -n ${BRANCH} ]]; then
git fetch -a
git checkout ${BRANCH}
fi
if [[ -n ${CHERRY_REPO} ]]; then
git remote add remotetmp $CHERRY_REPO
git fetch --all
fi
if [[ -n ${CHERRY_COMMIT} ]]; then
git cherry-pick $CHERRY_COMMIT
fi
./autogen.sh
cd ..
tar --exclude-vcs --remove-files -cvf ${PMODULES_DISTFILESDIR}/${P}-${V}.tar ${P}
bzip2 ${PMODULES_DISTFILESDIR}/${P}-${V}.tar
fi
}
fi

View File

@@ -3,14 +3,14 @@ libfabric:
defaults:
group: Libraries
relstage: stable
compile_in_sourcetree: yes
compile_in_sourcetree: true
docfiles:
- AUTHORS
- README
- COPYING
- NEWS.md
urls:
- url: https://github.com/ofiwg/libfabric/releases/download/v$V/$P-$V.tar.bz2
- url: https://github.com/ofiwg/libfabric/releases/download/v${V}/${P}-${V}.tar.bz2
shasums:
libfabric-1.13.0.tar.bz2: 0c68264ae18de5c31857724c754023351614330bd61a50b40cef2b5e8f63ab28
libfabric-1.18.0.tar.bz2: 912fb7c7b3cf2a91140520962b004a1c5d2f39184adbbd98ae5919b0178afd43
@@ -18,3 +18,27 @@ libfabric:
1.18.0:
config:
build_requires: [gcc/10.4.0]
1.22.0:
config:
relstage: unstable
variants:
- systems: [.*.merlin7.psi.ch]
overlay: Alps
use_overlays: [PSI]
use_flags: [merlin7]
build_requires: [gcc/12.3.0, libfabric/1.15.2.0]
configure_args+:
- --enable-cxi
2.0.0:
config:
relstage: unstable
urls:
- url: https://github.com/ofiwg/libfabric/releases/download/v${V}alpha/$P-${V}alpha.tar.bz2
variants:
- systems: [.*.merlin7.psi.ch]
overlay: Alps
use_overlays: [PSI]
use_flags: [merlin7]
build_requires: [gcc/12.3.0, libfabric/1.15.2.0]
configure_args+:
- --enable-cxi

View File

@@ -0,0 +1,2 @@
1.22.0 https://github.com/thomasgillis/libfabric.git dev-cxi
# 1.22.0 https://github.com/ofiwg/libfabric.git main cherry-pick:5793243aec20c4fee126aa3093ff07bb5889f154|https://github.com/raffenet/libfabric.git

2
Libraries/libpsl/build Executable file
View File

@@ -0,0 +1,2 @@
#!/usr/bin/env modbuild

View File

@@ -0,0 +1,16 @@
format: 1
libpsl:
defaults:
group: Libraries
overlay: base
relstage: stable
docfiles: []
urls:
- url: https://github.com/rockdaboot/$P/releases/download/${V_PKG}/$P-${V_PKG}.tar.gz
shasums:
versions:
0.21.5:
config:

Some files were not shown because too many files have changed in this diff Show More