[Dart-dev] DART/branches Revision: 13155

dart at ucar.edu dart at ucar.edu
Thu May 2 17:14:30 MDT 2019


thoar at ucar.edu
2019-05-02 17:14:30 -0600 (Thu, 02 May 2019)
72
Trying not to hammer Arthur's inheritance of the MKL library location.




Modified: DART/branches/mizzi/mkmf/mkmf.template
===================================================================
--- DART/branches/mizzi/mkmf/mkmf.template	2019-05-02 23:08:09 UTC (rev 13154)
+++ DART/branches/mizzi/mkmf/mkmf.template	2019-05-02 23:14:30 UTC (rev 13155)
@@ -73,6 +73,16 @@
 #                which have priority over the others.
 #                (for those running on yellowstone, -axavx will enable the advanced
 #                vector instructions available on the sandy bridge processors.)
+#     -assume buffered_io  allows the runtime library to buffer up individual
+#                writes before calling the operating system.  in particular, we
+#                write our observation sequence files as a series of many individual
+#                calls to the write() routine.  when debugging you do not want to
+#                buffer so you can see the last output before the program dies.
+#                for production, however, you want to batch up writes into larger
+#                blocks before stopping to do i/o to disk.  an alternative at
+#                runtime is to set FORT_BUFFERED to 'true' in your environment.
+#                (e.g. csh family: setenv FORT_BUFFERED true    or
+#                ksh family: export FORT_BUFFERED=true).  
 #
 # FFLAGS   possibly useful, not normally used by DART
 #     -fpp     run Fortran preprocessor on source files prior to compilation
@@ -122,30 +132,33 @@
 #
 # NETCDF = /opt/local
 
+# The Intel Math Kernel Library has support for the lapack and blas libraries.
+# The Intel-provided scripts to enable run-time use of the Intel compilers
+# usually set and environment variable (sometimes 'MKLROOT')
+#
+# CURC_MKL_INC = ${MKLROOT}
+
 INCS = -I$(NETCDF)/include -I${CURC_MKL_INC}
-LIBS = -L$(NETCDF)/lib -lnetcdff -lnetcdf -L${CURC_MKL_LIB} -lmkl_rt -lmkl_lapack95_lp64 -lmkl_blas95_lp64 -lm -lpthread
+LIBS = -L$(NETCDF)/lib -lnetcdff -lnetcdf \
+       -L${CURC_MKL_LIB} -lmkl_rt -lmkl_lapack95_lp64 -lmkl_blas95_lp64 -lm -lpthread
 
 #FFLAGS  = -O2 -ftz -vec-report0 -mcmodel=medium -shared-intel -fp-model precise $(INCS)
-##FFLAGS  = -g -C -CB -ftz -vec-report0 -mcmodel=medium -shared-intel -fp-model precise $(INCS)
+##FFLAGS  = -g -C -ftz -vec-report0 -mcmodel=medium -shared-intel -fp-model precise $(INCS)
 #
 # for development or debugging, use this instead:
-# FFLAGS = -g -C -CB -check noarg_temp_created -fpe0 -mcmodel=large -shared-intel \
+# FFLAGS = -g -C -check noarg_temp_created -fpe0 -mcmodel=large -shared-intel \
 #          -fp-model precise  -ftrapuv -traceback \
 #          -warn declarations,uncalled,unused $(INCS)
 #
-# for speed on yellowstone (verify against a run with with -O and -fp-model precise
+# for speed (verify against a run with with -O and -fp-model precise
 #        that the numerical differences aren't too large to be acceptable):
- FFLAGS = -O3 -axavx -xCORE-AVX2  $(INCS)
-# FFLAGS = -O3 -axavx -ipo -vec-report0 $(INCS)
-#
-# Some optimized (BLAS, LAPACK) libraries may be available with:
-# LIBS = -L$(NETCDF)/lib -lnetcdff -lnetcdf -lmkl -lmkl_lapack -lguide -lpthread
-#
-# If you get this error: libimf.so: warning: warning: feupdateenv is not implemented
-# try adding: -limf -lm to your LIBS line.
-#
- LDFLAGS = $(FFLAGS) $(LIBS)
-#
+
+FFLAGS = -O3 -axavx -xCORE-AVX2  $(INCS)
+
+# FFLAGS = -O3 -axavx -ipo $(INCS)
+
+LDFLAGS = $(FFLAGS) $(LIBS)
+
 # <next few lines under version control, do not edit>
 # $URL$
 # $Revision$


More information about the Dart-dev mailing list