mirror of
https://code.it4i.cz/sccs/easyconfigs-it4i.git
synced 2025-04-08 07:52:11 +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