KAUST Supercomputing Laboratory Newsletter 23rd March 2016

Maintenance Session Sunday 27th to Tuesday 29th March

The next maintenance session is scheduled to take place from 08:00 on Sunday 27th March until 17:00 on Tuesday 29th March. Please note that this is an extended outage to enable us to test some large scale code that was deferred to avoid disruption to other users and also to install the latest patches and compiler environment.

RCAC Meeting

The project submission deadline for the next RCAC meeting is 31st March 2016. Please note that the RCAC meetings are held once per month.

Upcoming Training Sessions

Keep up-to-date on forthcoming KSL training courses, and access training material from previous sessions, at:

User Training

Broadcast Training

Vendor Training

Tip of the week: Runtime Checking

On Shaheen II, Cray, Intel and GNU compilers support checking for various error conditions at run time, such as array over bounds.  Please note that runtime checking may degrade performance, therefore it should only be used for debugging.

  • Cray
    • Cray Fortran compiler runtime check can be enabled with the -R option.
      • -Rb  check array bounds
      • -Rc  check array conformance in array expressions
      • -Rp  check association and allocation status for pointer, allocatable and assumed shape arrays
      • -Rs  check character substring bounds
      • To enable all checks specify -Rbcdps.
    • The Cray C/C+ compiler support a limited number of run time checks with the -h option.
      • -h bounds      checks pointer and array references are within acceptable boundaries
      • -h dir_check   enables directive checking at run time
  • Intel 
    • Intel Fortran compiler:
      • -check bounds check array subscript and character bounds
      • -check stack   check the stack frame
      • -check uninit   check for uninitialized variables
      • All run time checks can be enabled with -check all.
    • The Intel C/C++ compilers also support the -check option, though the individual checks differ.
      • -check=conversions check converstions to smaller types
      • -check=stack check the stack frame
      • -check=uninit check for uninitialized variables
  • GNU Compiler
    • GNU fortran  supports run time checks with the -fcheck=<keyword> option.
      • array-temps   warns when a temporary array is created for an actual argument
      • bounds         checks array subscripts against minimum and maximum values
      • do                check for modification of loop iteration variables
      • mem            check memory allocations
      • Multiple keywords from may be used together provided they are comma delimited.
    • The GNU C/C++ compilers support the following run time checks.
      • -fstack-check generate code to check for stack overflow
      • -fcheck-new   check the pointer returned by new is non-null
      • -fstack-protector-all check for buffer overflows

More information is available in the man page of crayftn,craycc,crayCC,ifort,icc,gfortran,gcc,g++

Follow us on Twitter

Follow all the latest news on HPC within the Supercomputing Lab and at KAUST, on Twitter @KAUST_HPC.

Previous Announcements

Previous Tips