Skip to content

Commit

Permalink
Upgraded to SAMRAI3.11.2
Browse files Browse the repository at this point in the history
  • Loading branch information
jeanlucf22 authored and Jean-Luc Fattebert committed May 22, 2018
1 parent a19f3de commit ab52c72
Show file tree
Hide file tree
Showing 3,555 changed files with 184,867 additions and 203,137 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
4 changes: 2 additions & 2 deletions base/SAMRAI/SAMRAI/COPYRIGHT
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ COPYRIGHT
The following copyright applies to each file in the SAMRAI distribution, unless
otherwise stated in the file:

Copyright (c) 1997-2012, Lawrence Livermore National Security, LLC.
Copyright (c) 1997-2016, Lawrence Livermore National Security, LLC.
Produced at the Lawrence Livermore National Laboratory. Written by The SAMRAI
Team <samrai@llnl.gov>. LLNL-CODE-434871. All rights reserved.

This file is part of SAMRAI. For details, see http://www.llnl.gov/CASC/samrai.
This file is part of SAMRAI. For details, see http://www.llnl.gov/CASC/SAMRAI.

Please also read COPYING.LESSER - Our Notice and GNU Lesser General Public
License.
Expand Down
95 changes: 38 additions & 57 deletions base/SAMRAI/SAMRAI/INSTALL-NOTES
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
****************************************************************************
* Copyright 1997-2012 *
* Copyright 1997-2016 *
* Lawrence Livermore National Security, LLC. *
* All rights reserved. *
****************************************************************************
Expand Down Expand Up @@ -50,7 +50,7 @@ subdirectories contain library archives and configuration files
for a particular architecture, compiler, and set of optimization
flags. For example,

SAMRAI-v2.1.0/
SAMRAI-v3.3.3/
SAMRAI/
solaris-g++-debug/
config/ lib/
Expand All @@ -71,9 +71,10 @@ SAMRAI version numbers are of the form X.Y.Z, where X is the major release
number, Y is the minor release number, and Z is the bug fix patch number.
To unpack the distribution as described above, do:

(a) mkdir SAMRAI-vX.Y.Z (substitue appropriate version numbers)
(a) gunzip SAMRAI-vX.Y.Z.tar.gz
(b) mkdir SAMRAI-vX.Y.Z (substitue appropriate version numbers)
(b) cd SAMRAI-vX.Y.Z
(c) zcat ../SAMRAI-vX.Y.Z.tar | tar xfov -
(e) tar xvf ../SAMRAI-vX.Y.Z.tar

You may need to use the GNU tar (often named gtar) due to name length
problems with some of the native tar implementations.
Expand Down Expand Up @@ -123,6 +124,8 @@ CASC and LC systems.
we have configured.
(b) sh ../SAMRAI/config.suggest [arch] -- prints configure options

(c) ../config.suggest [arch] | xargs ../configure -- use options

See the section "Configure Options" below for more details on supported
configuration options.

Expand Down Expand Up @@ -237,6 +240,7 @@ possible configure options--use "configure --help" for that.

sh ../SAMRAI/config.suggest -- lists architectures supported
sh ../SAMRAI/config.suggest [arch] -- prints configure options
../config.suggest [arch] | xargs ../configure -- use options

The default settings used by config.suggest refer to locations on the
LLNL systems where we have found them. However, please note that these
Expand Down Expand Up @@ -278,7 +282,7 @@ To change default settings, use the flags described above. For example:

sh ../SAMRAI/configure --with-CXX=/usr/bin/CC --without-MPI

sh ../SAMRAI/configure --disable-debug --enable-opt --with-vampir
sh ../SAMRAI/configure --disable-debug --enable-opt

sh ../SAMRAI/configure --with-petsc=/usr/casc/petsc

Expand Down Expand Up @@ -311,38 +315,36 @@ arguments.

Tool Version(s)
-------------- --------------------------------------
gcc 3.4.6, 4.1.2, 4.5.0

ilx 6.0.0.3
gcc 4.5.0, 4.6.0

icc 9.1.045, 9.1.049, 11.1.059
icc 12.0.191, 12.1.293

xlc v7.0, v9.0
xlc v9

pathscale Does not currently work. Core dumps and produces incorrect results.

PGI Does not currently work.

Boost 1.45.0
Boost 1.45.0, 1.46.1

HDF5 1.6.5, 1.8.5
HDF5 1.8.4, 1.8.5

MPICH2 1.0.7 (MPICH1 is no longer supported and
MPICH2 1.3.2 (MPICH1 is no longer supported and
has bugs which will hang SAMRAI)

OpenMPI 1.2.8
OpenMPI 1.5

PETSc 2.3.3 (this version is required if PETSc is used)
PETSc 3.2 (this version is required if PETSc is used)

Sundials 2.3.0

hypre 2.2.0b, 2.6.0b
hypre 2.6.0b

Visit 1.8.0
VisIt 1.8.0

doxygen 1.5.7
doxygen 1.6.1

graphviz 2.6
graphviz 2.26


Visualization Tools:
Expand All @@ -352,40 +354,27 @@ SAMRAI uses the VisIt visualization system. This replaces the
vizamrai utility in previous releases. VisIt binaries, source, and
documentation are available at http://www.llnl.gov/visit. You must
compile with HDF in order to create VisIt output files. See the
SAMRAI/examples/Euler application for example of how to use the
VisItDataWriter.
SAMRAI/test/applications/Euler program for an example of how to use
the VisItDataWriter.

Location users can find VisIt in /usr/apps/visit on CASC systems and
/usr/gapps/ on LC systems.

Performance Analysis Tools:
---------------------------

SAMRAI maintains links to the Tau and Vampir performance analysis tools.
Tau (Tuning and Analysis Utilities) is a freely available tool out of
the University of Oregon (http://www.cs.uoregon.edu/research/paracomp/tau)
that is available on all CASC and LC platforms. Vampir is a proprietary
tool available only on LC platforms (e.g. blue/frost, tc2k, gps).

By default, SAMRAI is NOT configured with either tool. To use the tools,
you must use the --with-tau and/or --with-vampir configure options, discussed
above.

Links to Tau and Vampir are maintained through the SAMRAI timers. Hence, you
must manually instrument your code with SAMRAI timers to use either tool. Tau
provides a profile view of times on each processor so it is useful to identify
load imbalances and distribution of computational workload. Vampir provides
the additional capability of building a trace of the applications method calls
and MPI communication pattern. Although Vampir provides more information, it
is more heavyweight than Tau because building the trace file can incur
significant computational overhead and the trace files often become quite
large. Unlike Tau, Vampir is not available on all platforms. We generally
recommend starting with Tau to glean baseline performance information and
use Vampir, if available, for more detailed analysis.

Vampir may be invoked using the ``--with-vampir'' configure option. Vampir
is only available on the ASCI IBM systems (blue, frost) and on LC Compaq
machines (gps, tc2k). It is not available on any of the CASC machines.
SAMRAI maintains links to the Tau performance analysis tool. Tau
(Tuning and Analysis Utilities) is a freely available tool out of the
University of Oregon (http://www.cs.uoregon.edu/research/paracomp/tau)
that is available on all CASC and LC platforms.

To use Tau, you must use the --with-tau configure option.

Links to Tau are maintained through the SAMRAI timers. Hence, you
must manually instrument your code with SAMRAI timers to use it. Tau
provides a profile view of times on each processor so it is useful to
identify load imbalances and distribution of computational workload.

Tau is available on a variety of machines and is invoked using the
``--with-tau=<tau-makefile>'' where the location of the Tau makefile
maintained on LLNL systems is as follows:
Expand All @@ -394,18 +383,12 @@ maintained on LLNL systems is as follows:
(for standard timers only - no hardware counters or mem checking)
--with-tau=/usr/casc/samrai/tau/tau-2.13.5/i386_linux/lib/Makefile.tau-linuxtimers-mpi

IBM frost (blue won't work):
(for standard timers and mem tracking)
--with-tau=/usr/casc/samrai/tau/tau-2.12/rs6000/lib/Makefile.tau-mpi-kcc
(for hardware counters)
--with-tau=/usr/casc/samrai/tau/tau-2.12/rs6000/lib/Makefile.tau-multiplecounters-mpi-papi-kcc

To view the profile files that Tau generates upon running the code, use
the "jracy" tool located in <tau-dir>/bin/jracy, where <tau-dir> corresponds
to the above tau directory locations (i.e. everything before /lib).

See the document SAMRAI/docs/userdocs/TimerInstrumentation.pdf for more
information about use of Tau and Vampir.
See the document SAMRAI/docs/userdocs/TimerInstrumentation.pdf for
more information about the use of Tau.

Documentation
--------------------
Expand Down Expand Up @@ -503,7 +486,5 @@ the default XCode compilers must be overridden):
* Looking for list of configure options? We have encapsulated this in *
* the new ``config.suggest'' tool. *
* *
* SEE DISCUSSION UNDER "CONFIGURE OPTIONS" AT LINE 216 ABOVE. *
* SEE DISCUSSION UNDER "CONFIGURE OPTIONS" AT LINE 208 ABOVE. *
****************************************************************************
****************************************************************************

125 changes: 74 additions & 51 deletions base/SAMRAI/SAMRAI/Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
## This file is part of the SAMRAI distribution. For full copyright
## information, see COPYRIGHT and COPYING.LESSER.
##
## Copyright: (c) 1997-2012 Lawrence Livermore National Security, LLC
## Copyright: (c) 1997-2016 Lawrence Livermore National Security, LLC
## Description: makefile for the entire SAMRAI distribution
##
#########################################################################
Expand All @@ -18,8 +18,8 @@ OBJECT = .
include ./config/Makefile.config

INCLUDE_SAM = @top_srcdir@/source/SAMRAI
INSTALL = sh @srcdir@/config/install-sh
INSTDIR = @INSTDIR@
INSTALL = @INSTALL@
INSTDIR = @INSTDIR@

#
# GNUMake script to reverse strings. This is recursive.
Expand Down Expand Up @@ -60,7 +60,7 @@ cleantest:
cd source/test && $(MAKE) clean

checkclean:
cd source/test && $(MAKE) clean
cd source/test && $(MAKE) checkclean

# Build temporary files containing list of object files for each
# library.
Expand Down Expand Up @@ -141,42 +141,43 @@ install: library tools
$(INSTALL) -d -m 755 $(INSTDIR)/bin
$(INSTALL) -d -m 755 $(INSTDIR)/include
$(INSTALL) -d -m 755 $(INSTDIR)/include/SAMRAI
$(INSTALL) -c -m 644 COPYRIGHT $(INSTDIR)
$(INSTALL) -c -m 644 config.status $(INSTDIR)/config
$(INSTALL) -c -m 644 config/Makefile.config $(INSTDIR)/config
$(INSTALL) -p -c -m 644 COPYRIGHT $(INSTDIR)
$(INSTALL) -p -c -m 644 COPYING.LESSER $(INSTDIR)
$(INSTALL) -p -c -m 644 config.status $(INSTDIR)/config
$(INSTALL) -p -c -m 644 config/Makefile.config $(INSTDIR)/config
cat config/Makefile.config.install >> $(INSTDIR)/config/Makefile.config
$(INSTALL) -c -m 644 include/SAMRAI/SAMRAI_config.h $(INSTDIR)/include/SAMRAI/
$(INSTALL) -p -c -m 644 include/SAMRAI/SAMRAI_config.h $(INSTDIR)/include/SAMRAI/
@for i in $(SAMRAI_LIBRARIES); \
do \
$(INSTALL) -d -m 755 $(INSTDIR)/include/SAMRAI/$$i; \
for f in $(INCLUDE_SAM)/$$i/*.[hICi]; do \
$(INSTALL) -c -m 644 $$f $(INSTDIR)/include/SAMRAI/$$i; \
done; \
if test -d $(INCLUDE_SAM)/$$i/fortran; then \
for f in $(INCLUDE_SAM)/$$i/fortran/*.[i]; do \
if test -f $$f; then \
if ! test -d $(INSTDIR)/include/SAMRAI/$$i/fortran; then \
$(INSTALL) -d -m 755 $(INSTDIR)/include/SAMRAI/$$i/fortran; \
fi; \
$(INSTALL) -c -m 644 $$f $(INSTDIR)/include/SAMRAI/$$i/fortran;\
fi \
done; \
fi \
$(INSTALL) -p -d -m 755 $(INSTDIR)/include/SAMRAI/$$i; \
for f in $(INCLUDE_SAM)/$$i/*.[hICi]; do \
$(INSTALL) -p -c -m 644 $$f $(INSTDIR)/include/SAMRAI/$$i; \
done; \
if test -d $(INCLUDE_SAM)/$$i/fortran; then \
for f in $(INCLUDE_SAM)/$$i/fortran/*.[i]; do \
if test -f $$f; then \
if ! test -d $(INSTDIR)/include/SAMRAI/$$i/fortran; then \
$(INSTALL) -d -m 755 $(INSTDIR)/include/SAMRAI/$$i/fortran; \
fi; \
$(INSTALL) -p -c -m 644 $$f $(INSTDIR)/include/SAMRAI/$$i/fortran; \
fi \
done; \
fi \
done
@if test -f lib/libSAMRAI_tbox.a; then \
for i in lib/libSAMRAI*.a; do \
$(INSTALL) -c -m 644 $$i $(INSTDIR)/lib; \
done \
fi
@if test -f lib/libSAMRAI_tbox.so; then \
for i in lib/libSAMRAI*.so; do \
$(INSTALL) -c -m 644 $$i $(INSTDIR)/lib; \
done \
@if test -f lib/libSAMRAI_tbox.a; then \
for i in lib/libSAMRAI*.a; do \
$(INSTALL) -p -c -m 644 $$i $(INSTDIR)/lib; \
done \
fi
@if test -f lib/libSAMRAI_tbox.so; then \
for i in lib/libSAMRAI*.so; do \
$(INSTALL) -p -c -m 644 $$i $(INSTDIR)/lib; \
done \
fi
@if test -f bin/restart-redistribute; then \
for i in bin/*; do \
$(INSTALL) -c -m 755 $$i $(INSTDIR)/bin; \
done \
@if test -f bin/restart-redistribute; then \
for i in bin/*; do \
$(INSTALL) -p -c -m 755 $$i $(INSTDIR)/bin; \
done \
fi

# Rebuild config.status if configure changed.
Expand All @@ -191,6 +192,10 @@ dox redox devdox redevdox:
check:
(cd source/test; $(MAKE) check)

# Compile the testlib needed by the SAMRAI test suite
testlib:
(cd source/test/testlib && $(MAKE) library) || exit 1

# Compile the SAMRAI test suite
checkcompile:
(cd source/test; $(MAKE) checkcompile)
Expand All @@ -199,23 +204,41 @@ checkcompile:
checktest:
(cd source/test; $(MAKE) checktest)

# Run the SAMRAI example problems
examples:
(cd source/test; $(MAKE) examples)

# Run the SAMRAI performance tests
perf:
(cd source/test; $(MAKE) perf)

# Compile the SAMRAI test suite
# Run the SAMRAI test suite
# Run the SAMRAI example problems
# Run the SAMRAI performance tests
everything:
(cd source/test; $(MAKE) checkcompile || exit 1)
(cd source/test; $(MAKE) checktest)
(cd source/test; $(MAKE) examples)
(cd source/test; $(MAKE) perf)

memtest:
rm -f ~/insure.out
$(RM) ~/insure.out
$(MAKE) checktest
@NUM_INSURE_RUNS=`grep "PROBLEM SUMMARY - by type" ~/insure.out| wc -l`; \
NO_LEAKS=`grep "No leaks were found" ~/insure.out | wc -l`; \
NUM_INSURE_ERRORS=`grep TOTAL ~/insure.out | awk '{ sum += $$2}; END {print sum}'`; \
if test $$NO_LEAKS -ne $$NUM_INSURE_RUNS; \
then \
echo "FAIL: Insure++ reported memory leaks"; \
else \
echo "PASSED: Insure++ reported no memory leaks"; \
fi; \
if test "$$NUM_INSURE_ERRORS" -ne "0"; \
then \
echo "FAIL: Insure++ reported unexpected errors"; \
else \
echo "PASSED: Insure++ reported no unexpected errors"; \
@NUM_INSURE_RUNS=`grep "PROBLEM SUMMARY - by type" ~/insure.out| wc -l`; \
NO_LEAKS=`grep "No leaks were found" ~/insure.out | wc -l`; \
NUM_INSURE_ERRORS=`grep TOTAL ~/insure.out | awk '{ sum += $$2}; END {print sum}'`; \
if test $$NO_LEAKS -ne $$NUM_INSURE_RUNS; \
then \
echo "FAIL: Insure++ reported memory leaks"; \
else \
echo "PASSED: Insure++ reported no memory leaks"; \
fi; \
if test "$$NUM_INSURE_ERRORS" -ne "0"; \
then \
echo "FAIL: Insure++ reported unexpected errors"; \
else \
echo "PASSED: Insure++ reported no unexpected errors"; \
fi

# Update copies/links in the include directory
Expand All @@ -237,5 +260,5 @@ genfiles: update indent
@-(cd @top_srcdir@; \
for i in `find . -name genfiles.sh`; \
do \
(cd `dirname $$i` && ./genfiles.sh) \
(cd `dirname $$i` && ./genfiles.sh) \
done)
Loading

0 comments on commit ab52c72

Please sign in to comment.