Skip to content

Commit 0e8b621

Browse files
committed
removed source setvars and manipulation of DYLD_LIBRARY_PATH
move macos mkl install into separate script move variable export to main calling function set lib env export in action source instead of execute set MKLLIB per case, skip 2021.5 macos mkl
1 parent 428a567 commit 0e8b621

File tree

3 files changed

+34
-46
lines changed

3 files changed

+34
-46
lines changed

action.yml

+3
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ runs:
9292
echo "FC=${FC}" >> $GITHUB_ENV
9393
echo "CC=${CC}" >> $GITHUB_ENV
9494
echo "CXX=${CXX}" >> $GITHUB_ENV
95+
echo "MKLLIB=${MKLLIB}" >> $GITHUB_ENV
9596
9697
# save oneAPI cache and activate environment
9798
- name: Save cache
@@ -134,6 +135,7 @@ runs:
134135
echo FC=$FC>>$GITHUB_ENV
135136
echo CC=$CC>>$GITHUB_ENV
136137
echo CXX=$CXX>>$GITHUB_ENV
138+
echo "MKLLIB=$MKLLIB" >> $GITHUB_ENV
137139
138140
# set fpm env vars
139141
echo FPM_FC=$FC>>$GITHUB_ENV
@@ -144,6 +146,7 @@ runs:
144146
echo fc=$FC>>$GITHUB_OUTPUT
145147
echo cc=$CC>>$GITHUB_OUTPUT
146148
echo cxx=$CXX>>$GITHUB_OUTPUT
149+
echo MKLLIB=$MKLLIB>>$GITHUB_OUTPUT
147150
148151
# GitHub Actions prepends GNU linker to the PATH before all bash steps, hide it so MSVC linker is found
149152
- name: Hide GNU linker (Windows)

install-mkl-macos.sh

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
MACOS_BASEKIT_URL=$1
2+
3+
if [ "$MACOS_BASEKIT_URL" == "" ]; then
4+
echo "ERROR: MACOS_BASEKIT_URL is empty - please check the version mapping for MKL"
5+
echo "SKIPPING MKL installation..."
6+
elif [ "$MACOS_BASEKIT_URL" == "2021.5" ]; then
7+
echo "ERROR: MKL not available for this intel compiler version"
8+
echo "SKIPPING MKL installation..."
9+
else
10+
require_fetch
11+
$fetch $MACOS_BASEKIT_URL > m_BASEKit.dmg
12+
ls -lh
13+
hdiutil verify m_BASEKit.dmg
14+
hdiutil attach m_BASEKit.dmg
15+
sudo /Volumes/"$(basename "$MACOS_BASEKIT_URL" .dmg)"/bootstrapper.app/Contents/MacOS/bootstrapper -s \
16+
--action install \
17+
--eula=accept \
18+
--continue-with-optional-error=yes \
19+
--log-dir=.
20+
hdiutil detach /Volumes/"$(basename "$MACOS_BASEKIT_URL" .dmg)" -quiet
21+
rm m_BASEKit.dmg
22+
fi

setup-fortran.sh

+9-46
Original file line numberDiff line numberDiff line change
@@ -171,10 +171,9 @@ LD_LIBRARY_PATH=$LD_LIBRARY_PATH
171171
LIBRARY_PATH=$LIBRARY_PATH
172172
INFOPATH=$INFOPATH
173173
MANPATH=$MANPATH
174-
MKLLIB=$MKLLIB
175174
MKLROOT=$MKLROOT
176-
DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH
177175
ONEAPI_ROOT=$ONEAPI_ROOT
176+
MKLLIB=$MKLLIB
178177
CLASSPATH=$CLASSPATH
179178
CMAKE_PREFIX_PATH=$CMAKE_PREFIX_PATH
180179
OCL_ICD_FILENAMES=$OCL_ICD_FILENAMES
@@ -397,21 +396,6 @@ install_intel_apt()
397396
fi
398397

399398
source /opt/intel/oneapi/setvars.sh
400-
# these exports have been removed in later versions of the action?
401-
if $classic; then
402-
export FC="ifort"
403-
export CC="icc"
404-
export CXX="icpc"
405-
else
406-
export FC="ifx"
407-
export CC="icx"
408-
export CXX="icpx"
409-
fi
410-
if $install_mkl; then
411-
export MKLLIB="$ONEAPI_ROOT/mkl/latest/lib/intel64"
412-
export MKLROOT="$ONEAPI_ROOT/mkl/latest"
413-
fi
414-
415399
export_intel_vars
416400
}
417401

@@ -480,23 +464,7 @@ install_intel_dmg()
480464
esac
481465

482466
if $install_mkl; then
483-
if [ "$MACOS_BASEKIT_URL" == "" ]; then
484-
echo "ERROR: MACOS_BASEKIT_URL is empty - please check the version mapping for MKL"
485-
echo "SKIPPING MKL installation..."
486-
else
487-
require_fetch
488-
$fetch $MACOS_BASEKIT_URL > m_BASEKit.dmg
489-
ls -lh
490-
hdiutil verify m_BASEKit.dmg
491-
hdiutil attach m_BASEKit.dmg
492-
sudo /Volumes/"$(basename "$MACOS_BASEKIT_URL" .dmg)"/bootstrapper.app/Contents/MacOS/bootstrapper -s \
493-
--action install \
494-
--eula=accept \
495-
--continue-with-optional-error=yes \
496-
--log-dir=.
497-
hdiutil detach /Volumes/"$(basename "$MACOS_BASEKIT_URL" .dmg)" -quiet
498-
rm m_BASEKit.dmg
499-
fi
467+
source "$GITHUB_ACTION_PATH/install-mkl-macos.sh" $MACOS_BASEKIT_URL
500468
fi
501469

502470
require_fetch
@@ -512,18 +480,6 @@ install_intel_dmg()
512480
rm m_HPCKit.dmg
513481

514482
source /opt/intel/oneapi/setvars.sh
515-
516-
# these exports have been removed in later versions of the action?
517-
export FC="ifort"
518-
export CC="icc"
519-
export CXX="icpc"
520-
521-
if $install_mkl; then
522-
export MKLLIB="$ONEAPI_ROOT/mkl/latest/lib"
523-
export MKLROOT="$ONEAPI_ROOT/mkl/latest"
524-
export DYLD_LIBRARY_PATH="$MKLLIB":$DYLD_LIBRARY_PATH
525-
fi
526-
527483
export_intel_vars
528484
}
529485

@@ -579,9 +535,11 @@ install_intel()
579535
local platform=$1
580536
local classic=$2
581537
local install_mkl=$3
538+
mkl_subdir=""
582539
case $platform in
583540
linux*)
584541
install_intel_apt $version $classic $install_mkl
542+
mkl_subdir="intel64"
585543
;;
586544
darwin*)
587545
install_intel_dmg $version $install_mkl
@@ -610,6 +568,11 @@ install_intel()
610568
export CC="icx"
611569
export CXX="icpx"
612570
fi
571+
572+
if $install_mkl; then
573+
export MKLLIB="$ONEAPI_ROOT/mkl/latest/lib/$mkl_subdir"
574+
export MKLROOT="$ONEAPI_ROOT/mkl/latest"
575+
fi
613576
}
614577

615578
export_nvidiahpc_vars()

0 commit comments

Comments
 (0)