nobs should autodetect Cray XC

Issue #73 resolved
Former user created an issue

Currently nobs looks for the NERSC_HOST env var to infer the cc and CC compilers as good defaults. This should be generalized to sniff out any Cray XC.

Comments (7)

  1. Dan Bonachea

    install uses $CRAY_PRGENVGNU to detect we are on Cray XC with the right module is loaded.

    It also uses $CRAY_PRGENVCRAY and $CRAY_PRGENVINTEL to blacklist those compilers.

  2. Paul Hargrove

    I agree with Dan that those three env vars are reliable indications that the respective PrgEnv-{gnu,cray,intel} modules are loaded.

    If one wants a compiler-independent indicator, then I would suggest checking if $CRAYPE_DIR is set.

    We should also consider checking $CRAYPE_NETWORK_TARGET.
    This will have the value aries on Edison and Cori, and the value gemini on ORNL's Titan.
    When set to gemini we can either adapt or reject - I suggest reject for now since we've not tested upc++ on Titan.

  3. Paul Hargrove

    FYI: we should (time permitting) be able to test any changes on ALCF's Theta system (an XC like Cori).
    Scott, Dan, John and I all have accounts there.

  4. Paul Hargrove

    I've just now confirmed that the following works on ALCF's Theta:

    hargrove@thetalogin5:~/upcxx> export CROSS=cray-aries-alps
    hargrove@thetalogin5:~/upcxx> ./install ~/upcxx-install
    [...]
    UPC++ successfully installed
    hargrove@thetalogin5:~/upcxx> export UPCXX_INSTALL=$HOME/upcxx-install
    hargrove@thetalogin5:~/upcxx> make -C example/prog-guide/
    [success]
    

    I have not run anything.

  5. Log in to comment