Merge branch 'master' into geant4
This commit is contained in:
@@ -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}"
|
||||
}
|
||||
|
||||
27
Batchsystem/slurm/files/config.yaml
Normal file
27
Batchsystem/slurm/files/config.yaml
Normal 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'
|
||||
@@ -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"
|
||||
}
|
||||
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
|
||||
@@ -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
9
Compiler/flair-geoviewer/build
Executable file
@@ -0,0 +1,9 @@
|
||||
#!/usr/bin/env modbuild
|
||||
pbuild::compile() {
|
||||
make
|
||||
}
|
||||
|
||||
pbuild::install() {
|
||||
make DESTDIR="${FLAIR_PREFIX}" install
|
||||
}
|
||||
|
||||
24
Compiler/flair-geoviewer/files/config.yaml
Normal file
24
Compiler/flair-geoviewer/files/config.yaml
Normal 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']
|
||||
18
Compiler/flair-geoviewer/modulefile
Normal file
18
Compiler/flair-geoviewer/modulefile
Normal 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
9
Compiler/flair/build
Executable file
@@ -0,0 +1,9 @@
|
||||
#!/usr/bin/env modbuild
|
||||
pbuild::compile() {
|
||||
make
|
||||
}
|
||||
|
||||
pbuild::install() {
|
||||
make DESTDIR="${PREFIX}" install
|
||||
}
|
||||
|
||||
23
Compiler/flair/files/config.yaml
Normal file
23
Compiler/flair/files/config.yaml
Normal 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
18
Compiler/flair/modulefile
Normal 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
16
Compiler/fluka4/build
Executable 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
14
Compiler/fluka4/build-brond
Executable 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
14
Compiler/fluka4/build-cendl
Executable 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
14
Compiler/fluka4/build-endf
Executable 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
15
Compiler/fluka4/build-flair
Executable 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() {
|
||||
:
|
||||
}
|
||||
|
||||
15
Compiler/fluka4/build-flair-geoviewer
Executable file
15
Compiler/fluka4/build-flair-geoviewer
Executable 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
14
Compiler/fluka4/build-jeff
Executable 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
14
Compiler/fluka4/build-jendl
Executable file
@@ -0,0 +1,14 @@
|
||||
#!/usr/bin/env modbuild
|
||||
|
||||
pbuild::pre_prep(){
|
||||
SRC_DIR="${PREFIX}"
|
||||
BUILD_DIR="${PREFIX}"
|
||||
}
|
||||
|
||||
pbuild::compile(){
|
||||
:
|
||||
}
|
||||
|
||||
pbuild::install() {
|
||||
:
|
||||
}
|
||||
242
Compiler/fluka4/files/config.yaml
Normal file
242
Compiler/fluka4/files/config.yaml
Normal 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
|
||||
@@ -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
|
||||
|
||||
@@ -1,20 +1,2 @@
|
||||
#!/usr/bin/env modbuild
|
||||
|
||||
pbuild::add_to_group 'Compiler'
|
||||
|
||||
pbuild::prep() {
|
||||
:
|
||||
}
|
||||
|
||||
pbuild::configure() {
|
||||
:
|
||||
}
|
||||
|
||||
pbuild::compile() {
|
||||
:
|
||||
}
|
||||
|
||||
pbuild::install() {
|
||||
:
|
||||
}
|
||||
|
||||
|
||||
105
Compiler/impi/files/config.yaml
Normal file
105
Compiler/impi/files/config.yaml
Normal 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]
|
||||
|
||||
@@ -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
|
||||
@@ -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:
|
||||
|
||||
46
Compiler/mpich/files/config.yaml
Normal file
46
Compiler/mpich/files/config.yaml
Normal 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
|
||||
13
Compiler/mpich/patch/mpich-v3.3.2.patch
Normal file
13
Compiler/mpich/patch/mpich-v3.3.2.patch
Normal 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;
|
||||
@@ -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:
|
||||
|
||||
@@ -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
|
||||
}
|
||||
@@ -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:
|
||||
|
||||
50
Compiler/openmpi/files/variants.merlin7
Normal file
50
Compiler/openmpi/files/variants.merlin7
Normal 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
|
||||
@@ -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
34
EM/DeepEMhancer/build
Executable 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(){
|
||||
:
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
7
EM/DeepEMhancer/environment.yaml
Normal file
7
EM/DeepEMhancer/environment.yaml
Normal file
@@ -0,0 +1,7 @@
|
||||
channels:
|
||||
- rsanchez1369
|
||||
- anaconda
|
||||
- conda-forge
|
||||
dependencies:
|
||||
- python=3.10
|
||||
- deepEMhancer
|
||||
13
EM/DeepEMhancer/files/config.yaml
Normal file
13
EM/DeepEMhancer/files/config.yaml
Normal 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
|
||||
34
EM/DeepEMhancer/modulefile
Normal file
34
EM/DeepEMhancer/modulefile
Normal 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
10
EM/EMAN/README.md
Normal 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
|
||||
@@ -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
5
EM/EMAN/environment.yaml
Normal file
@@ -0,0 +1,5 @@
|
||||
channels:
|
||||
- cryoem
|
||||
- conda-forge
|
||||
dependencies:
|
||||
- eman-dev
|
||||
13
EM/EMAN/files/config.yaml
Normal file
13
EM/EMAN/files/config.yaml
Normal 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
|
||||
@@ -1,2 +0,0 @@
|
||||
EMAN/2.99.47 unstable cuda/11.2.2
|
||||
EMAN/2.2 stable
|
||||
@@ -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), 983–5. 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), 283–90.
|
||||
|
||||
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
|
||||
"
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
15
EM/IMOD/files/config.yaml
Normal 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
|
||||
@@ -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
|
||||
@@ -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"
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
|
||||
@@ -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
16
EM/PEET/files/config.yaml
Normal 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
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
@@ -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() {
|
||||
:
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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'
|
||||
|
||||
13
EM/crYOLO/files/config.yaml
Normal file
13
EM/crYOLO/files/config.yaml
Normal 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
|
||||
@@ -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
|
||||
|
||||
@@ -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
11
EM/cryocare/README.md
Normal 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
23
EM/cryocare/build
Executable 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(){
|
||||
:
|
||||
}
|
||||
10
EM/cryocare/environment.yaml
Normal file
10
EM/cryocare/environment.yaml
Normal file
@@ -0,0 +1,10 @@
|
||||
channels:
|
||||
- conda-forge
|
||||
- defaults
|
||||
dependencies:
|
||||
- python=3.8
|
||||
- cudatoolkit=11.0
|
||||
- cudnn=8.0
|
||||
- pip:
|
||||
- tensorflow==2.4
|
||||
- cryoCARE
|
||||
8
EM/cryocare/files/config.yaml
Normal file
8
EM/cryocare/files/config.yaml
Normal 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
34
EM/cryocare/modulefile
Normal 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
12
EM/napari/README.md
Normal 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
27
EM/napari/build
Executable 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(){
|
||||
:
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
11
EM/napari/environment.yaml
Normal file
11
EM/napari/environment.yaml
Normal file
@@ -0,0 +1,11 @@
|
||||
channels:
|
||||
- conda-forge
|
||||
- anaconda
|
||||
dependencies:
|
||||
- python=3.10
|
||||
- pyqt
|
||||
- napari=0.4.17
|
||||
- pip
|
||||
- pip:
|
||||
- napari-boxmanager
|
||||
|
||||
13
EM/napari/files/config.yaml
Normal file
13
EM/napari/files/config.yaml
Normal 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
34
EM/napari/modulefile
Normal 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"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
|
||||
135
EM/relion/build
135
EM/relion/build
@@ -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
162
EM/relion/files/config.yaml
Normal 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"
|
||||
|
||||
@@ -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
|
||||
@@ -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
13
EM/tomodrgn/README.md
Normal 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
34
EM/tomodrgn/build
Executable 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(){
|
||||
:
|
||||
}
|
||||
18
EM/tomodrgn/environment.yaml
Normal file
18
EM/tomodrgn/environment.yaml
Normal 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
|
||||
|
||||
11
EM/tomodrgn/files/config.yaml
Normal file
11
EM/tomodrgn/files/config.yaml
Normal 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
34
EM/tomodrgn/modulefile
Normal 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
34
EM/topaz/README.md
Normal 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
27
EM/topaz/build
Executable 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(){
|
||||
:
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
8
EM/topaz/environment.yaml
Normal file
8
EM/topaz/environment.yaml
Normal file
@@ -0,0 +1,8 @@
|
||||
channels:
|
||||
- tbepler
|
||||
- pytorch
|
||||
dependencies:
|
||||
- python=3.6
|
||||
- cudatoolkit
|
||||
- topaz
|
||||
- pytorch
|
||||
13
EM/topaz/files/config.yaml
Normal file
13
EM/topaz/files/config.yaml
Normal 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
34
EM/topaz/modulefile
Normal 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"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
37
Libraries/gmp/files/config.yaml
Normal file
37
Libraries/gmp/files/config.yaml
Normal 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
|
||||
|
||||
@@ -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
|
||||
@@ -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
13
Libraries/hwloc/build-legacy
Executable 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"
|
||||
}
|
||||
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
#!/usr/bin/env modbuild
|
||||
|
||||
pbuild::pre_configure() {
|
||||
pbuild::add_configure_args "--enable-netloc"
|
||||
pbuild::add_configure_args "--enable-plugins"
|
||||
}
|
||||
|
||||
|
||||
@@ -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]
|
||||
|
||||
@@ -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'
|
||||
|
||||
|
||||
30
Libraries/libevent/files/config.yaml
Normal file
30
Libraries/libevent/files/config.yaml
Normal 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]
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
2
Libraries/libfabric/files/from-git.txt
Normal file
2
Libraries/libfabric/files/from-git.txt
Normal 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
2
Libraries/libpsl/build
Executable file
@@ -0,0 +1,2 @@
|
||||
#!/usr/bin/env modbuild
|
||||
|
||||
16
Libraries/libpsl/files/config.yaml
Normal file
16
Libraries/libpsl/files/config.yaml
Normal 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
Reference in New Issue
Block a user