mirror of
https://code.it4i.cz/sccs/easyconfigs-it4i.git
synced 2025-04-17 04:00:49 +01:00
new file: i/IMOD/IMOD-4.11.1-fosscuda-2020b.eb
new file: i/IMOD/IMOD-4.11.1_RHEL7-64_CUDA8.0.eb
This commit is contained in:
parent
45c2ab718e
commit
a491f39d34
107
i/IMOD/IMOD-4.11.1-fosscuda-2020b.eb
Normal file
107
i/IMOD/IMOD-4.11.1-fosscuda-2020b.eb
Normal file
@ -0,0 +1,107 @@
|
|||||||
|
# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2021/04
|
||||||
|
easyblock = 'ConfigureMake'
|
||||||
|
|
||||||
|
name = 'IMOD'
|
||||||
|
version = '4.11.1'
|
||||||
|
|
||||||
|
homepage = 'https://bio3d.colorado.edu/imod/'
|
||||||
|
description = """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. The package contains tools for assembling
|
||||||
|
and aligning data within multiple types and sizes of image stacks, viewing 3-D
|
||||||
|
data from any orientation, and modeling and display of the image files. IMOD
|
||||||
|
was developed primarily by David Mastronarde, Rick Gaudette, Sue Held, Jim
|
||||||
|
Kremer, Quanren Xiong, and John Heumann at the University of Colorado."""
|
||||||
|
|
||||||
|
toolchain = {'name': 'fosscuda', 'version': '2020b'}
|
||||||
|
toolchainopts = {'pic': True, 'openmp': True}
|
||||||
|
|
||||||
|
# download manually from mercurial repository and create source tarball:
|
||||||
|
# hg clone --debug http://bio3d.colorado.edu/imod/nightlyBuilds/IMOD
|
||||||
|
# get lunch ????? co to je
|
||||||
|
# cd IMOD
|
||||||
|
# hg update -r IMOD_4-11-1
|
||||||
|
# cd ..
|
||||||
|
# tar czf IMOD-4.11.1.tar.gz IMOD
|
||||||
|
sources = [SOURCE_TAR_GZ]
|
||||||
|
patches = ['IMOD-4.11.5_fix-csvtohtml-py3.patch']
|
||||||
|
checksums = [
|
||||||
|
'4a2a51641a3169d1066faa8011caa90196fa1aef71da5d93cfafcf0703f8bcc6', # IMOD-4.11.1.tar.gz
|
||||||
|
'8ba0c3cbe30d755ab3fb918688982e818795b9f7f41218bd6bf231c85bea4971', # IMOD-4.11.5_fix-csvtohtml-py3.patch
|
||||||
|
]
|
||||||
|
|
||||||
|
# can't include a valid checksum, since tarball has to be created manually
|
||||||
|
dependencies = [
|
||||||
|
('LibTIFF', '4.1.0'),
|
||||||
|
('Qt5', '5.14.2'),
|
||||||
|
('Java', '11', '', True),
|
||||||
|
('HDF5', '1.10.7'),
|
||||||
|
('Python', '3.8.6'),
|
||||||
|
]
|
||||||
|
|
||||||
|
# parallel build sometimes fails
|
||||||
|
parallel = 1
|
||||||
|
|
||||||
|
# replace hardcoded CUDA compute capabilitites in machines/rhlinux.
|
||||||
|
local_cuda_replace = 'echo %(cuda_cc_space_sep)s|sed "s/\\.//g"|'
|
||||||
|
local_cuda_replace += ' awk \'{'
|
||||||
|
local_cuda_replace += ' printf "-arch sm_"$1; '
|
||||||
|
local_cuda_replace += ' for (i=1;i<=NF; i++){printf(" -gencode=arch=compute_%s,code=sm_%s",$i,$i) } '
|
||||||
|
local_cuda_replace += ' }\''
|
||||||
|
local_cudaarch_sed = 'sed -i "s/-arch sm_35/`' + local_cuda_replace + '`/g" machines/rhlinux &&'
|
||||||
|
|
||||||
|
# modify all qmake pro files in order to pass CFLAGS
|
||||||
|
local_qmake_pass_cflags = "find -name *.pro -exec sed -i -e '$aQMAKE_CXXFLAGS += $$(CFLAGS)' {} \\; &&"
|
||||||
|
|
||||||
|
# exports required for configure and build
|
||||||
|
local_exports = 'export QTDIR=$EBROOTQT5 &&'
|
||||||
|
local_exports += 'export HDF5_DIR=$EBROOTHDF5 &&'
|
||||||
|
local_exports += 'export QMAKESPEC=$EBROOTQT5/mkspecs/`qmake -query QMAKE_SPEC` &&'
|
||||||
|
local_exports += 'export CUDA_DIR=$CUDA_HOME &&'
|
||||||
|
# readw_or_imod.f and others with gfortran10:
|
||||||
|
# Error: Type mismatch between actual argument at (1) and actual argument at (2) (INTEGER(4)/INTEGER(2))
|
||||||
|
# => set -fallow-argument-mismatch. Runs through without this option with GCC 8.3.0.
|
||||||
|
local_exports += 'export CFLAGS="$CFLAGS -fallow-argument-mismatch" &&' # required for gfortran10
|
||||||
|
|
||||||
|
preconfigopts = local_exports
|
||||||
|
preconfigopts += local_cudaarch_sed
|
||||||
|
preconfigopts += local_qmake_pass_cflags
|
||||||
|
|
||||||
|
preconfigopts += "mv pysrc/pip.py pysrc/imodpip.py &&"
|
||||||
|
preconfigopts += "sed -i 's/pip.py/imodpip.py/' pysrc/Makefile &&"
|
||||||
|
preconfigopts += "sed -i 's/from pip/from imodpip/' pysrc/* &&"
|
||||||
|
|
||||||
|
# IMOD's configure script is named setup and does not know the parameter --prefix, but -i.
|
||||||
|
# CFLAGs are passed with -flags.
|
||||||
|
configure_cmd = './setup '
|
||||||
|
configure_cmd += '-flags "$CFLAGS" ' # inject CFLAGS
|
||||||
|
configure_cmd += '-i %(installdir)s ' # set installdir
|
||||||
|
configure_cmd += ' #' # avoid passing unknown arg --prefix
|
||||||
|
|
||||||
|
prebuildopts = local_exports
|
||||||
|
|
||||||
|
# create some missing directories required for installation process:
|
||||||
|
preinstallopts = 'mkdir %(installdir)s/{man/cat1,bin,autodoc,SystemTemplate,lib/imodplug,com,html,Plugins} -p &&'
|
||||||
|
|
||||||
|
# patch hardcoded /usr/bin/python to use Python included as dependency
|
||||||
|
preinstallopts += "find pysrc -name '*.py' | xargs sed -i 's@^#!/usr/bin/python@#!/usr/bin/env python@g' && "
|
||||||
|
preinstallopts += "ls manpages/{csvtohtml,adocdefaults} | xargs sed -i 's@^#!.*/python -u@#!/usr/bin/env python@g' && "
|
||||||
|
preinstallopts += "xargs sed -i 's@^#!.*/python -u@#!/usr/bin/env python@g' html/makeqhp && "
|
||||||
|
|
||||||
|
modextravars = {
|
||||||
|
'IMOD_DIR': "%(installdir)s",
|
||||||
|
'IMOD_PLUGIN_DIR': '%(installdir)s/lib/imodplug',
|
||||||
|
'IMOD_JAVADIR': '$JAVA_HOME',
|
||||||
|
'FOR_DISABLE_STACK_TRACE': '1',
|
||||||
|
}
|
||||||
|
modloadmsg = 'Please set the environment variable $IMOD_CALIB_DIR if appropriate.'
|
||||||
|
# Observed problems with alias on a tcl based module system. Use bin/subm python script instead.
|
||||||
|
# modaliases = {
|
||||||
|
# 'subm': 'submfg $* &'
|
||||||
|
# }
|
||||||
|
sanity_check_paths = {
|
||||||
|
'files': ['VERSION', 'bin/subm'],
|
||||||
|
'dirs': ['bin', 'lib', 'com', 'autodoc', 'pylib', 'Plugins', 'man', 'SystemTemplate'],
|
||||||
|
}
|
||||||
|
|
||||||
|
moduleclass = 'vis'
|
28
i/IMOD/IMOD-4.11.1_RHEL7-64_CUDA8.0.eb
Normal file
28
i/IMOD/IMOD-4.11.1_RHEL7-64_CUDA8.0.eb
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
# IT4Innovations 2022
|
||||||
|
# JK
|
||||||
|
# --include-easyblock /apps/easybuild/it4i-easyblocks/easyblocks/i/imod.py !!!
|
||||||
|
|
||||||
|
name = 'IMOD'
|
||||||
|
version = '4.11.1'
|
||||||
|
versionsuffix = '_RHEL7-64_CUDA8.0'
|
||||||
|
|
||||||
|
homepage = 'http://bio3d.colorado.edu/imod/'
|
||||||
|
description = """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. The package contains tools for assembling
|
||||||
|
and aligning data within multiple types and sizes of image stacks, viewing 3-D
|
||||||
|
data from any orientation, and modeling and display of the image files.
|
||||||
|
"""
|
||||||
|
|
||||||
|
toolchain = SYSTEM
|
||||||
|
|
||||||
|
source_urls = ['https://bio3d.colorado.edu/imod/AMD64-RHEL5/']
|
||||||
|
sources = ['%(namelower)s_%(version)s%(versionsuffix)s.sh']
|
||||||
|
checksums = ['8fefab2c85c85d8343005b2ac352c6b7de22e00847dc0975766b0312e44be0b8']
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('CUDA', '11.4.1'),
|
||||||
|
('Java', '13.0.2'),
|
||||||
|
]
|
||||||
|
|
||||||
|
moduleclass = 'vis'
|
Loading…
x
Reference in New Issue
Block a user