File tree 4 files changed +39
-1
lines changed
4 files changed +39
-1
lines changed Original file line number Diff line number Diff line change @@ -207,7 +207,19 @@ echo ">> Setting up \$MODULEPATH..."
207
207
module --force purge
208
208
# ignore current $MODULEPATH entirely
209
209
module unuse $MODULEPATH
210
+
211
+ # if an accelerator target is specified, we need to make sure that the CPU-only modules are also still available
212
+ if [ ! -z ${EESSI_ACCELERATOR_TARGET} ]; then
213
+ CPU_ONLY_MODULES_PATH=$( echo $EASYBUILD_INSTALLPATH | sed " s@/accel/${EESSI_ACCELERATOR_TARGET} @@g" ) /modules/all
214
+ if [ -d ${CPU_ONLY_MODULES_PATH} ]; then
215
+ module use ${CPU_ONLY_MODULES_PATH}
216
+ else
217
+ fatal_error " Derived path to CPU-only modules does not exist: ${CPU_ONLY_MODULES_PATH} "
218
+ fi
219
+ fi
220
+
210
221
module use $EASYBUILD_INSTALLPATH /modules/all
222
+
211
223
if [[ -z ${MODULEPATH} ]]; then
212
224
fatal_error " Failed to set up \$ MODULEPATH?!"
213
225
else
Original file line number Diff line number Diff line change @@ -141,7 +141,7 @@ echo "bot/build.sh: EESSI_VERSION_OVERRIDE='${EESSI_VERSION_OVERRIDE}'"
141
141
export EESSI_CVMFS_REPO_OVERRIDE=/cvmfs/$( cfg_get_value " repository" " repo_name" )
142
142
echo " bot/build.sh: EESSI_CVMFS_REPO_OVERRIDE='${EESSI_CVMFS_REPO_OVERRIDE} '"
143
143
144
- # determine architecture to be used from entry .architecture in ${JOB_CFG_FILE}
144
+ # determine CPU architecture to be used from entry .architecture in ${JOB_CFG_FILE}
145
145
# fallbacks:
146
146
# - ${CPU_TARGET} handed over from bot
147
147
# - left empty to let downstream script(s) determine subdir to be used
@@ -150,6 +150,10 @@ EESSI_SOFTWARE_SUBDIR_OVERRIDE=${EESSI_SOFTWARE_SUBDIR_OVERRIDE:-${CPU_TARGET}}
150
150
export EESSI_SOFTWARE_SUBDIR_OVERRIDE
151
151
echo " bot/build.sh: EESSI_SOFTWARE_SUBDIR_OVERRIDE='${EESSI_SOFTWARE_SUBDIR_OVERRIDE} '"
152
152
153
+ # determine accelerator target (if any) from .architecture in ${JOB_CFG_FILE}
154
+ export EESSI_ACCELERATOR_TARGET=$( cfg_get_value " architecture" " accelerator" )
155
+ echo " bot/build.sh: EESSI_ACCELERATOR_TARGET='${EESSI_ACCELERATOR_TARGET} '"
156
+
153
157
# get EESSI_OS_TYPE from .architecture.os_type in ${JOB_CFG_FILE} (default: linux)
154
158
EESSI_OS_TYPE=$( cfg_get_value " architecture" " os_type" )
155
159
export EESSI_OS_TYPE=${EESSI_OS_TYPE:- linux}
Original file line number Diff line number Diff line change
1
+ # if $WORKDIR is not defined, use a local temporary directory
2
+ if [ -z ${WORKDIR} ]; then
3
+ WORKDIR=$(mktemp -d)
4
+ fi
5
+
1
6
export EASYBUILD_PREFIX=${WORKDIR}/easybuild
2
7
export EASYBUILD_INSTALLPATH=${EESSI_PREFIX}/software/${EESSI_OS_TYPE}/${EESSI_SOFTWARE_SUBDIR}
3
8
export EASYBUILD_SOURCEPATH=${WORKDIR}/easybuild/sources:${EESSI_SOURCEPATH}
4
9
10
+ # take into account accelerator target (if specified via $EESSI_ACCELERATOR_TARGET)
11
+ if [ ! -z ${EESSI_ACCELERATOR_TARGET} ]; then
12
+ if [[ "${EESSI_ACCELERATOR_TARGET}" =~ ^nvidia/cc[0-9][0-9]$ ]]; then
13
+ # tweak path to installation directories used by EasyBuild
14
+ export EASYBUILD_INSTALLPATH=${EASYBUILD_INSTALLPATH}/accel/${EESSI_ACCELERATOR_TARGET}
15
+ # nvidia/cc80 should result in setting $EASYBUILD_CUDA_COMPUTE_CAPABILITIES to '8.0'
16
+ export EASYBUILD_CUDA_COMPUTE_CAPABILITIES=$(echo ${EESSI_ACCELERATOR_TARGET} | cut -f2 -d/ | sed 's/^cc\([0-9]\)\([0-9]\)/\1.\2/g')
17
+ else
18
+ fatal_error "Incorrect value for \$EESSI_ACCELERATOR_TARGET: ${EESSI_ACCELERATOR_TARGET}"
19
+ fi
20
+ else
21
+ echo_yellow "(configure_easybuild) \$EESSI_ACCELERATOR_TARGET not defined"
22
+ fi
23
+
5
24
# just ignore OS dependencies for now, see https://github.com/easybuilders/easybuild-framework/issues/3430
6
25
export EASYBUILD_IGNORE_OSDEPS=1
7
26
Original file line number Diff line number Diff line change 20
20
if [ ! -z ${EESSI_SOFTWARE_SUBDIR_OVERRIDE} ]; then
21
21
INPUT=" export EESSI_SOFTWARE_SUBDIR_OVERRIDE=${EESSI_SOFTWARE_SUBDIR_OVERRIDE} ; ${INPUT} "
22
22
fi
23
+ if [ ! -z ${EESSI_ACCELERATOR_TARGET} ]; then
24
+ INPUT=" export EESSI_ACCELERATOR_TARGET=${EESSI_ACCELERATOR_TARGET} ; ${INPUT} "
25
+ fi
23
26
if [ ! -z ${EESSI_CVMFS_REPO_OVERRIDE} ]; then
24
27
INPUT=" export EESSI_CVMFS_REPO_OVERRIDE=${EESSI_CVMFS_REPO_OVERRIDE} ; ${INPUT} "
25
28
fi
You can’t perform that action at this time.
0 commit comments