Stampede needs to be updated

Issue #1757 closed
Ian Hinder created an issue

The SimFactory definition for Stampede currently uses the intel/13.1.1.163 compiler. This compiler will be removed next Tuesday (see https://portal.tacc.utexas.edu/user-guides/stampede/intel15). According to TACC, the current default is the older intel/13.0.2.146, and this is the recommended and default compiler, and will remain so. Both compilers have the "restrict" keyword blacklisted in Cactus (#1276). They will install intel/15.0.1 at the end of April. There is also intel/14.0.1.106 available, but it is labeled as "limited software stack". It is not clear why they are removing a newer compiler, or why they chose to do this a month before installing an even newer one.

Our options are:

  1. Upgrade to intel/14.0.1.106, which is labeled as "limited software stack"
  2. Downgrade to intel/13.0.2.146, which is the default and will remain so for a while

This should be done both for the trunk and the release branch. I suggest that option 2 is the most conservative, and probably the easiest, as there might be libraries which are not compiled for intel/14.0.1.106.

Keyword:

Comments (9)

  1. Roland Haas
    • removed comment

    We need to carefully evaluate intel 15.0.1. SpEC knows of at least one bug in there (ticket 913 in SpEC), basically it mis-compiles (with the options used in SpEC's makefile which differ from what Cactus normally uses):

    int ip,p;
    int eo; 
    for (ip=0; ip<wsize;ip++) {
      p = indx2p(ip,wsize);
    
      eo = abs(p % 2); 
      if (p == -1) {
        w[ip] = I * M_PI/2.;
      } else if (p == 1) {
        w[ip] = - I * M_PI/2.;
      } else if ( eo == 0) {
        w[ip] = 2./(1.-p*p);
      } else {
        w[ip] = 0;
      }     
    }
    

    and produces a floating point exception (either divide by zero or maybe some overflow). Adding a printf for p just before makes the exception go away.

  2. Peter Diener
    • removed comment

    I have been using stampede lately using the modules intel/14.0.1.106 and mvapich2/2.0b. I was using the Xeon Phis in offload mode for a non-einsteintoolkit code so I created a new optionlist and runscript (by modifying slightly the existing ones for the different compiler and for additional offload needs). I can commit those if there's interest. I have not checked if the full einstein toolkit can be compiled with this optionlist with the offload stuff removed.

  3. Log in to comment