RFE: cross-compilation target detection
We believe we could support --with-cross=cray-aries
(without -slurm
or -alps
suffix) by checkin for srun
and aprun in
$PATH. Provided exactly one is found, we configure for it. Otherwise, we inform the user that they must specify cray-aries-slurm
or cray-aries-alps
.
Something like
srun=$(type -p srun)
aprun=$(type -p arpun)
if [[ ( -z $srun && -z $aprun ) || ( -n $srun && -n $aprun ) ]]; then
error case
elif [[ -n $srun ]]; then
CROSS+='-slurm'
else
CROSS+='-alps'
fi
Comments (7)
-
-
reporter @Dan Bonachea I agree that a fully-automatic "do the right thing" is preferred.
I think this means checking for
craype-network-aries
in$LOADEDMODULES
as the first step, sincePRGENV*
would lead us astray on Perlmutter.
It also means adding support for--without-cross
, which currently just "falls through" to join$GASNET_CONFIGURE_ARGS
-
reporter - changed title to RFE: cross-compilation target detection
-
assigned issue to
-
reporter - changed status to open
-
reporter proposed implementation in pull request 200
-
reporter - changed status to resolved
configure: automatically cross-compile on Cray XC
This commit resolves issue 353 by adding logic to intelligently default
$CROSS
. This includes "auto completion" ofcray-aries
, as well as fully-automatic cross-compilation if the environment "looks right" and no--with-cross=...
option was specified..A new option
--without-cross
is available in case one wants to build for the front-end of a Cray XC, or for another "ancillary" system such as Cori's GPU nodes.→ <<cset 00f09a685566>>
-
configure: automatically cross-compile on Cray XC
This commit resolves issue 353 by adding logic to intelligently default
$CROSS
. This includes "auto completion" ofcray-aries
, as well as fully-automatic cross-compilation if the environment "looks right" and no--with-cross=...
option was specified..A new option
--without-cross
is available in case one wants to build for the front-end of a Cray XC, or for another "ancillary" system such as Cori's GPU nodes.(cherry picked from commit 00f09a6855660b7735be2e569a520e698ad271b8)
Conflicts: configure utils/system-checks.sh
→ <<cset 93e708b98d28>>
- Log in to comment
I'd like this to go a step further and automatically enable the correct
--with-cross
setting when the environment indicates a Cray XC by default (with NO command-line arguments), unless the user specifies--without-cross
(to force frontend compilation).This way configure defaults to doing what the majority of users want without any arguments on Cray XC.