@@ -28,6 +28,35 @@ setup-env-intel-oneapi () {
2828 echo " PKG_CONFIG_PATH=${PKG_CONFIG_PATH} " >> $GITHUB_ENV
2929}
3030
31+ setup-win-intel-oneapi-mpi () {
32+ baseurl=https://registrationcenter-download.intel.com
33+ subpath=akdlm/irc_nas/18932
34+ version=2021.7.0 build=9549
35+ package=w_mpi_oneapi_p_${version} .${build} _offline.exe
36+ set -x
37+ curl -sO $baseurl /$subpath /$package
38+ ./$package -s -a --silent --eula accept
39+ set +x
40+ }
41+
42+ setup-win-intel-oneapi-mpi-env () {
43+ ONEAPI_ROOT=" C:\Program Files (x86)\Intel\oneAPI"
44+ I_MPI_ROOT=" ${ONEAPI_ROOT} \mpi\latest"
45+ echo " ONEAPI_ROOT=${ONEAPI_ROOT} " >> $GITHUB_ENV
46+ echo " I_MPI_ROOT=${I_MPI_ROOT} " >> $GITHUB_ENV
47+ echo " ${I_MPI_ROOT} \bin" >> $GITHUB_PATH
48+ echo " ${I_MPI_ROOT} \bin\release" >> $GITHUB_PATH
49+ echo " ${I_MPI_ROOT} \libfabric\bin" >> $GITHUB_PATH
50+ echo " ${I_MPI_ROOT} \libfabric\bin\utils" >> $GITHUB_PATH
51+
52+ ONEAPI_ROOT=" /c/Program Files (x86)/Intel/oneAPI"
53+ I_MPI_ROOT=" ${ONEAPI_ROOT} /mpi/latest"
54+ export PATH=" ${I_MPI_ROOT} /bin:$PATH "
55+ export PATH=" ${I_MPI_ROOT} /bin/release:$PATH "
56+ export PATH=" ${I_MPI_ROOT} /bin/libfabric/bin:$PATH "
57+ impi_info=impi_info.exe
58+ }
59+
3160case $( uname) in
3261
3362 Linux)
@@ -80,6 +109,11 @@ case $(uname) in
80109 sdir=$( dirname " ${BASH_SOURCE[0]} " )
81110 pwsh " ${sdir} \\ setup-${MPI} .ps1"
82111 ;;
112+ intelmpi)
113+ setup-win-intel-oneapi-mpi
114+ setup-win-intel-oneapi-mpi-env
115+ hydra_service.exe -install
116+ ;;
83117 * )
84118 echo " Unknown MPI implementation:" $MPI
85119 exit 1
@@ -109,7 +143,7 @@ case $MPI in
109143 ;;
110144 intelmpi)
111145 echo " ::group::Run impi_info -all"
112- impi_info -all
146+ ${ impi_info:- impi_info} -all
113147 echo " ::endgroup::"
114148 ;;
115149esac
0 commit comments