<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.hoenzb
        {mso-style-name:hoenzb;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">On a Cray system the compiler is determined by the Programming Environment that you have chosen (or the site’s default).<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">#!/bin/bash<o:p></o:p></p>
<p class="MsoNormal">module list 2>&1 | grep PrgEnv<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">The likely choices are Intel, Cray, and Gnu.  _CRAYFTN is only defined if the PE is PrgEnv-cray.<o:p></o:p></p>
<p class="MsoNormal">The “proper” version depends on your application.  All three are good.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">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.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">For Intel:  cc == icc, CC = icpc, ftn = ifort<o:p></o:p></p>
<p class="MsoNormal">For Cray cc = craycc, CC = crayCC, ftn = crayftn  #These are only available via the wrappers.<o:p></o:p></p>
<p class="MsoNormal">For Gnu cc = gcc, CC = g++, ftn = gfortran<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">You can tell which version of the compiler is being used with:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">ftn -V  or ftn --version.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">If you want to see which versions of, for example, the Intel compiler are available:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">module avail intel<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">If you want to change to a different version of the Intel compiler from that list, for example:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">module swap intel intel/16.0.3.210<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">In general, newer compiler are better, but often people want to recover previous result which requires use of an older version.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">-Steve Behling (<a href="mailto:sbehling@cray.com">sbehling@cray.com</a>)<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> flash-users-bounces@flash.uchicago.edu [mailto:flash-users-bounces@flash.uchicago.edu]
<b>On Behalf Of </b>Yingchao Lu<br>
<b>Sent:</b> Saturday, November 11, 2017 12:14 AM<br>
<b>To:</b> Klaus Weide <klaus@flash.uchicago.edu><br>
<b>Cc:</b> flash-users@flash.uchicago.edu<br>
<b>Subject:</b> Re: [FLASH-USERS] Segmentation fault due to POINTER_INTENT_OUT<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">It seems <span style="font-size:9.5pt">_CRAYFTN is not defined.</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">On Fri, Nov 10, 2017 at 11:32 PM, Klaus Weide <<a href="mailto:klaus@flash.uchicago.edu" target="_blank">klaus@flash.uchicago.edu</a>> wrote:<o:p></o:p></p>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<p class="MsoNormal">On Fri, 10 Nov 2017, Yingchao Lu wrote:<br>
<br>
> This is the whole list of opts.<br>
> .....<br>
<br>
Yingchao,<br>
<br>
I was thinking more of a list of preprocessor macros that are defined by<br>
the 'ftn' compiler that you are using.  From some documentation I can<br>
access online, it appears that the test<br>
<br>
   #ifdef _CRAYFTN<br>
<br>
can be used to detect this compiler. However, I do not know how to test<br>
for a specific version.<br>
<br>
Anyway, you should probably just add something like<br>
<br>
#  ifdef __ABSOFT__<br>
#    undef POINTER_INTENT_OUT<br>
#    define POINTER_INTENT_OUT pointer<br>
#  endif<br>
<br>
in an appropriate place in FortranLangFeatures.fh - for example, right<br>
before or after the corresponding lines for __ABSOFT__ .<br>
<span style="color:#888888"><br>
<br>
<span class="hoenzb">Klaus</span></span><o:p></o:p></p>
</blockquote>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</div>
</body>
</html>