[Ncep.list.fv3-announce] fv3gfs release beta test
Rusty Benson - NOAA Federal
rusty.benson at noaa.gov
Fri May 12 17:30:38 UTC 2017
These are standard Intel compiler options and have no relationship to a
particular vendor's system. "-xcore-AVX2" describes the instruction set
support you are requesting from the compiler and will generate instructions
suitable for the latest *well family of processors from Intel.
"-safe-cray-ptr" deals with a Fortran extension known as "Cray pointers"
and states that your use of them is unique and it is safe to optimize code
containing these objects.
Rusty Benson, PhD
Modeling Systems Group
NOAA Geophysical Fluid Dynamics Lab
On Fri, May 12, 2017 at 1:23 PM, Eugene Mirvis <eugene.mirvis at noaa.gov>
> For instance the flags "-xCORE-AVX2" and "-safe-cray-ptr" we use only on
> Crays on the certain purposes.
> On 5/12/2017 12:16 PM, Rusty Benson - NOAA Federal wrote:
>> Responding only to point 4, what options do you see that are Cray
>> compilation flags?
>> Rusty Benson, PhD
>> Modeling Systems Group
>> NOAA Geophysical Fluid Dynamics Lab
>> Princeton, NJ
>> On Fri, May 12, 2017 at 11:58 AM, Eugene Mirvis <eugene.mirvis at noaa.gov>
>>> Just several points to clarify.
>>> 1. NEMS practice to call modulefiles what is actually the scripts
>>> (calling module commands),
>>> that require mostly bash env in order to source and keep environment was
>>> always non standard use.
>>> Therefore, if the developers will take Sam's advice and make real
>>> modulefiles (starting with #%Module) from the script, "export" and other
>>> scripting works
>>> wouldn't make sense, while Module util commands and Tcl/Tk will work.
>>> 2. There is another dilemma - to keep needed environment and change
>>> a workflow env. change.
>>> unsetenv, append-path, prepend-path and remove-path module commands are
>>> very useful for controlling that, but you have to keep
>>> $LOADEDMODULES, and $MODULE PATH in consistent order.
>>> 3. Speaking of which,
>>> module purge
>>> module switch
>>> are very useful to unload application driven modules.
>>> a/ You just have to do that not any moment, but before apps module is
>>> loaded, then, unload <appsModulefile> - not purge, but unload.
>>> b/ On Crays, the are some internal dependencies inside of PrgEnv. So you
>>> have to keep all "module use <knowns>" to recover, otherwise you might
>>> find "module not found"
>>> Compiling on Theia, I'm just wondering why Cray's compilation flags are
>>> utilized... allover:
>>> See for instance
>>> *mpiifort -I/apps/netcdf/4.3.0-intel/include -fno-alias -auto
>>> -safe-cray-ptr -ftz -assume byterecl -nowarn -sox -align array64byte -i4
>>> -real-size 64 -no-prec-div -no-prec-sqrt -xCORE-AVX2**
>>> -qno-opt-dynamic-align* -O2 -debug minimal -fp-model source
>>> -qoverride-limits -qopt-prefetch=3 -qopenmp -I/apps/esmf/7.0.0/intel/
>>> -I/apps/esmf/7.0.0/intel/intelmpi/include -I/apps/netcdf/4.3.0-intel/inc
>>> -IENS_Cpl -I. -I/scratch4/NCEPDEV/global/nos
>>> -c module_MEDIATOR_methods.f90
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Ncep.list.fv3-announce