[FLASH-USERS] Segmentation fault due to POINTER_INTENT_OUT

Stephen Behling sbehling at cray.com
Mon Nov 13 10:06:41 EST 2017


On a Cray system the compiler is determined by the Programming Environment that you have chosen (or the site’s default).

#!/bin/bash
module list 2>&1 | grep PrgEnv

The likely choices are Intel, Cray, and Gnu.  _CRAYFTN is only defined if the PE is PrgEnv-cray.
The “proper” version depends on your application.  All three are good.

Each of these compilers is most easily called with the wrapper scripts cc, CC, and ftn that take care of all the include file and library locations and also does the linking.  Most of time, depending on Makefiles or configure scripts, one sets CC=cc CXX=CC FC=ftn F90=ftn and it works.

For Intel:  cc == icc, CC = icpc, ftn = ifort
For Cray cc = craycc, CC = crayCC, ftn = crayftn  #These are only available via the wrappers.
For Gnu cc = gcc, CC = g++, ftn = gfortran

You can tell which version of the compiler is being used with:

ftn -V  or ftn --version.

If you want to see which versions of, for example, the Intel compiler are available:

module avail intel

If you want to change to a different version of the Intel compiler from that list, for example:

module swap intel intel/16.0.3.210

In general, newer compiler are better, but often people want to recover previous result which requires use of an older version.

-Steve Behling (sbehling at cray.com<mailto:sbehling at cray.com>)



From: flash-users-bounces at flash.uchicago.edu [mailto:flash-users-bounces at flash.uchicago.edu] On Behalf Of Yingchao Lu
Sent: Saturday, November 11, 2017 12:14 AM
To: Klaus Weide <klaus at flash.uchicago.edu>
Cc: flash-users at flash.uchicago.edu
Subject: Re: [FLASH-USERS] Segmentation fault due to POINTER_INTENT_OUT

It seems _CRAYFTN is not defined.

On Fri, Nov 10, 2017 at 11:32 PM, Klaus Weide <klaus at flash.uchicago.edu<mailto:klaus at flash.uchicago.edu>> wrote:
On Fri, 10 Nov 2017, Yingchao Lu wrote:

> This is the whole list of opts.
> .....

Yingchao,

I was thinking more of a list of preprocessor macros that are defined by
the 'ftn' compiler that you are using.  From some documentation I can
access online, it appears that the test

   #ifdef _CRAYFTN

can be used to detect this compiler. However, I do not know how to test
for a specific version.

Anyway, you should probably just add something like

#  ifdef __ABSOFT__
#    undef POINTER_INTENT_OUT
#    define POINTER_INTENT_OUT pointer
#  endif

in an appropriate place in FortranLangFeatures.fh - for example, right
before or after the corresponding lines for __ABSOFT__ .


Klaus

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://flash.rochester.edu/pipermail/flash-users/attachments/20171113/9761d0d6/attachment.htm>


More information about the flash-users mailing list