June 2016 Commit Log

Number of Commits:
69
Number of Active Developers:
13
harman 2016-06-30 14:48 Rev.: 55481

Fixed timer output format

2 lines of code changed in 1 file:

ahumphrey 2016-06-30 11:42 Rev.: 55480

Guard against feeding a TaskGraph DebugStream when not active.
When patch counts were 100K+, std::num_put was taking enormous amounts of time converting patch IDs to strings via ostream operator<< in DetailedTask class.

10 lines of code changed in 1 file:

harman 2016-06-29 17:00 Rev.: 55479

updated configure line

4 lines of code changed in 1 file:

ahumphrey 2016-06-27 12:54 Rev.: 55477

* Refactor TaskGraph code prior to upcoming overhaul.

* Remove several unused _testdefs.h.in files

* Remove sci_algorithm.h, as this is no longer needed with c++11. Next step is to remove all sci_hashmap code, again we can simply use std::unordered_map/multimap now with c++11

* Remove some ancient _pgi code.

* Generate new configure script.

644 lines of code changed in 28 files:

jthornoc 2016-06-25 00:20 Rev.: 55476

Getting the kokkos scalar update to work
- Changed ComputePsi to work with the equation groups.
- Cleanup KFEUpdate
- Initialize RHS and fluxes to zero at each RHS construction.

42 lines of code changed in 3 files:

banerjee 2016-06-24 15:53 Rev.: 55475

Added documentation to mitigate Weibull confusion.

0 lines of code changed in 1 file:

allen 2016-06-23 15:33 Rev.: 55474

white space cleanup

4 lines of code changed in 3 files:

allen 2016-06-23 15:32 Rev.: 55473

added new getReductionVariable usage and exist

67 lines of code changed in 2 files:

allen 2016-06-23 15:31 Rev.: 55472

added methods for getting the ReductionVariable

46 lines of code changed in 4 files:

allen 2016-06-23 12:00 Rev.: 55468

white space clean up

0 lines of code changed in 2 files:

allen 2016-06-23 12:00 Rev.: 55467

made wrapper VisIt only

13 lines of code changed in 1 file:

allen 2016-06-23 11:59 Rev.: 55466

cleanup of teh uda to vis interface to allow for required and computer vars

174 lines of code changed in 2 files:

allen 2016-06-22 21:03 Rev.: 55465

changed to a more flexible wrapper for analysis vars and exposed vars when running in-situ

235 lines of code changed in 14 files:

dav 2016-06-22 17:18 Rev.: 55462


Reorganize the way we include MPI. Previously files were including the mpi_defs.h (configure generated file) to get mpi.h. Now they
include UintahMPI.h (from Core/Parallel/).

Note: MPI is now required (though for all intents and purposes it already was). You can still run a serial version of the code,
you just must compile/link with MPI first.

M configure
M configure.ac

- Fix check for xml2-config.
- Fix check for mpi.h location when using 'built-in' (fixes issue with non-mpich MPIs).
- Check to see if MPI handles const correctly.
- Fix some indentation.
- No longer define HAVE_MPI or HAVE_MPICH as we require MPI now.
- Added defines for MPI_CONST_WORKS, and MPI_MAX_THREADS and MPI3_ENABLED (thought the last 2 are hard-coded and need
to have configure tests written for them).

M include/sci_defs/mpi_testdefs.h.in

- Added MPI_CONST_WORKS, MPI_MAX_THREADS, and MPI3_ENABLED #defines.
- Moved the MPI wrappers into UintahMPI.h (thus out of this configure generated file).

D include/sci_mpi.h

- Removed sci_mpi.h as it is not used and its only purpose was to allow for compilation without MPI. This
is no-longer allowed (and probably hadn't worked in a long time).

A Core/Parallel/UintahMPI.h

- Added the new file UintahMPI.h which is used to #include <mpi.h> and wrap the MPI calls.
- These wrappers were in mpi_testdefs.h.
- Replaced most of the "const" with MPICONST so that on non-const-compliant MPIs they
can be turned off (this is done through a configure check).
- Grouped a lot of the UINTAH_ENABLE_MPI3 sections into single #if's instead of having a #if for each line.

M CCA/Components/Arches/fortran/sub.mk

- Remove tabs from where they are not supposed to be.

M CCA/Components/MPM/PetscSolver.h
M CCA/Components/ICE/PressureSolve/HypreStandAlone/Hierarchy.cc
M CCA/Components/ICE/PressureSolve/HypreStandAlone/mpitest.cc
M CCA/Components/ICE/Advection/FluxDatatypes.h
M CCA/Components/Schedulers/OnDemandDataWarehouse.h
M CCA/Components/Schedulers/BatchReceiveHandler.h
M CCA/Components/Schedulers/templates.cc
M CCA/Components/Schedulers/Relocate.h
M CCA/Components/Schedulers/MPIScheduler.cc
M CCA/Ports/PIDXOutputContext.h
M Core/Grid/Variables/Stencil4.cc
M Core/Grid/Variables/ReductionVariableBase.h
M Core/Grid/Variables/Stencil7.cc
M Core/Grid/Variables/SoleVariableBase.h
M Core/Parallel/ProcessorGroup.h
M Core/Parallel/PackBufferInfo.h
M Core/Parallel/BufferInfo.h
M Core/Disclosure/TypeDescription.h
M Core/Util/DOUT.hpp
M Core/Util/InfoMapper.h
M StandAlone/tools/mpi_test/async_mpi_test.cc
M StandAlone/tools/mpi_test/mpi_hang.cc
M StandAlone/tools/mpi_test/mpi_test.cc
M StandAlone/tools/fsspeed/fsspeed.cc

- Proper indentation.
- Replaced mpi_defs.h with UintahMPI.h.
- Use <> for includes and not "" per Uintah conding standard.
- Added comment for the #endif of the #ifndef compiler guard for the .h file.
Moved some #ifndef .h compiler guards to the very top of the file.

M testprograms/Malloc/test11.cc
M testprograms/Malloc/test12.cc
M testprograms/Malloc/test13.cc

- Fix indentation.
- "__linux" doesn't exist on some systems, so added "__linux__".
Probably could remove the __linux, but not sure so I didn't.

M VisIt/libsim/visit_libsim.cc

- Use #include <>.

M StandAlone/sus.cc

- Remove the code for old MPI versions. We don't support MPI v1 any more.


2077 lines of code changed in 53 files:

ahumphrey 2016-06-22 15:38 Rev.: 55461

Better solution coming down the pipeline soon after discussion with Dan and Dav.
Still good though, that we cleaned up code in this script related to unused machines.

1 lines of code changed in 1 file:

ahumphrey 2016-06-22 13:39 Rev.: 55460

A temporary hack to get around const correctness enforced by the new MPI wrappers. This is ONLY for the old RT/buildbot machine, due to the ancient MPI installations on all the VMs, etc.

NOTE: This quick fix is temporary, and will be removed once the new RT/buildbot machine is online, which should be soon. We simply need to maintain continuous integration and testing until that time. If we need, we will update the MPI on the VMs (e.g. the new RT machine is not online soon enough).

4 lines of code changed in 1 file:

allen 2016-06-22 12:26 Rev.: 55459

minor format changes

106 lines of code changed in 1 file:

allen 2016-06-22 11:59 Rev.: 55458

added scrub option and tab cleanup

217 lines of code changed in 8 files:

allen 2016-06-22 11:45 Rev.: 55457

added a boolean for srubbing and fixed srubbing for AMR

27 lines of code changed in 2 files:

dav 2016-06-21 14:17 Rev.: 55456

Get rid of warning - ConsecutiveRangeSet is already in Uintah namespace.

0 lines of code changed in 1 file:

dav 2016-06-21 14:07 Rev.: 55454

Fix invalid use of + operator.

14 lines of code changed in 1 file:

ahumphrey 2016-06-21 13:57 Rev.: 55453

Redirect all MPI calls through the lightweight wrapper (header only)

This allows for standardized error checking and easy collection of runtime stats. All MPI funtions can be called from the wrapper by replacing:

MPI_ with Uintah::MPI::
e.g.
Uintah::MPI::Isend(...)
Uintah::MPI::Reduce(...)

Also enables MPI3 wrappers when MPI3 is available and protects against these when not. Will want MPI3 for non-blocking collectives. MPI3 is availalbe on Mira but not Titan yet.

* Note src/scripts/wrap_mpi_calls.sh has been added to the src tree. This has the sed foo to do this replacement src tree-wide.

* Have tested this with OpenMPI, MPICH, IntelMPI and also built on Titan and Mira.

2788 lines of code changed in 130 files:

ahumphrey 2016-06-21 10:33 Rev.: 55452

* Use variadic templates to simplify and generalize Action and Task constructors.

* Added utility class (header-only), src/Core/Util/TupleHelpers.hpp, that provides a clean way to deal with template or function parameter packs.

To see the utility in the amount of code reduction this achieves, compare Task.h now and with the previous revision. We have one Action and Task CTOR for CPU and GPU, instead of 5 overloads (for each, CPU adn GPU) and can now take in an arbitrarty number of additional arguments.

Refactor Task class and supporting classes:
* member naming convention - m_
* use nullptr comparison/checks over checks for 0
* heavy cleanup and formatting throughout

2240 lines of code changed in 19 files:

dav 2016-06-16 19:19 Rev.: 55450

Minor cleanups.

M CCA/Components/Schedulers/OnDemandDataWarehouse.h

- Fix a few compiler warnings...

M Core/Math/MersenneTwister.h

- "register" keyword is deprecated and spews compiler warnings (and
according to google the compiler just ignores it anyway).

M Core/Util/sci_system.cc

- Coding standard requires {} around if clauses, even if they are only one line. This
helps avoid future errors.

M StandAlone/tools/puda/puda.cc

- usage() kills the program, so need to "return" after it.
- Add "return 0" to end of main if everything works successfully.


32 lines of code changed in 6 files:

dav 2016-06-16 18:51 Rev.: 55449

Flip the install dir to have compiler version first.

7 lines of code changed in 5 files:

tsaad 2016-06-16 13:45 Rev.: 55448

Fix a bug when using the nonlinear solver for the density to avoid division by zero when the mixture fraction is zero.
Also store the relative error in the UnconvergedPts field.

15 lines of code changed in 2 files:

allen 2016-06-16 11:43 Rev.: 55447

added VisIt dashborad code

23 lines of code changed in 1 file:

allen 2016-06-15 15:17 Rev.: 55446

added code to pass back zero array when var does not exist

65 lines of code changed in 5 files:

ahumphrey 2016-06-14 21:26 Rev.: 55445

Revert -r55443, until folks can get compilers upgraded and buildbot MPI is updated.

534 lines of code changed in 89 files:

dsunder 2016-06-14 15:05 Rev.: 55444

Replace thread_local with __thread to support compilers which do not fully support c++11 thread API

1 lines of code changed in 1 file:

ahumphrey 2016-06-14 13:47 Rev.: 55443

Redirect all MPI calls through the lightweight wrapper (header only)

This allows for standardized error checking and easy collection of runtime stats. All MPI funtions can be called from the wrapper by replacing:

MPI_ with Uintah::MPI::
e.g.
Uintah::MPI::Isend(...)
Uintah::MPI::Reduce(...)

Also enables MPI3 wrappers when MPI3 is available and protects against these when not. Will want MPI3 for non-blocking collectives. MPI3 is availalbe on Mira but not Titan yet.

* Note src/scripts/wrap_mpi_calls.sh has been added to the src tree. This has the sed foo to do this replacement src tree-wide.

* Have tested this with OpenMPI, MPICH, IntelMPI and also built on Titan and Mira.

2464 lines of code changed in 89 files:

allen 2016-06-13 14:13 Rev.: 55442

change comm to use the correct NULL and is no longer a member var

2 lines of code changed in 2 files:

ahumphrey 2016-06-13 13:23 Rev.: 55441

Fix PIDOutputContext compiler error related to NULL->nullptr replacement. My sed-foo accidentally clipped this one.

2 lines of code changed in 1 file:

ahumphrey 2016-06-13 11:46 Rev.: 55440

Replace usage of NULL macro (type int) with nullptr (pointer literal of type: nullptr_t).

nullptr is implicitly convertible and comparable to any pointer type or pointer-to-member type, but is not implicitly comparable to integral types, except that it is convertible to bool (explicitly).

687 lines of code changed in 267 files:

harman 2016-06-11 12:32 Rev.: 55439

fixed typo

1 lines of code changed in 1 file:

allen 2016-06-10 16:09 Rev.: 55438

added a ui option

10 lines of code changed in 1 file:

allen 2016-06-10 16:08 Rev.: 55437

comment clean up

1 lines of code changed in 1 file:

allen 2016-06-10 16:07 Rev.: 55436

added strip chart functionality

298 lines of code changed in 8 files:

allen 2016-06-10 16:06 Rev.: 55435

added check for the task graph recompiling

18 lines of code changed in 1 file:

harman 2016-06-10 15:55 Rev.: 55434

runSustests:
added function to return the build path.

Wasatch:
- added example of how to parse a sci_def file for a preprocess flag and
create a new set of tests based on the preprocess flag. Commented out.

26 lines of code changed in 2 files:

tsaad 2016-06-10 15:07 Rev.: 55433

Looks like one needs a requires along with a modifies when modifying GHOSTS on a variable (Wasatch only).
This commit fixes the issues that we were having with multistage integrators in Wasatch.

7 lines of code changed in 2 files:

ahumphrey 2016-06-10 13:03 Rev.: 55432

Remove final remnants of Core/Thread

1 lines of code changed in 2 files:

harman 2016-06-10 12:54 Rev.: 55431

added random number generation using C++11 Mersenne Twister engine.

75 lines of code changed in 3 files:

ahumphrey 2016-06-10 12:31 Rev.: 55430

Revert r55429.

Still having an MPICH/OpenMPI compatibility problem.

534 lines of code changed in 89 files:

ahumphrey 2016-06-10 11:38 Rev.: 55429

Redirect all MPI calls through the lightweight wrapper (header only)

This allows for standardized error checking and easy collection of runtime stats. All MPI funtions can be called from the wrapper by replacing:

MPI_ with Uintah::MPI::
e.g.
Uintah::MPI::Isend(...)
Uintah::MPI::Reduce(...)

Also enables MPI3 wrappers when MPI3 is available and protects against these when not. Will want MPI3 for non-blocking collectives. MPI3 is availalbe on Mira but not Titan yet.

* Note src/scripts/wrap_mpi_calls.sh has been added to the src tree. This has the sed foo to do this replacement src tree-wide.

2542 lines of code changed in 89 files:

ahumphrey 2016-06-10 11:24 Rev.: 55428

Get rid of thread_local mutex alltogether. Just use DOUT macro (simple, lock-free, thread-safe debug output).

Also remove remnant of next commit for wrapping MPI calls.

6 lines of code changed in 1 file:

ahumphrey 2016-06-10 11:06 Rev.: 55427

Use thread_local for non-POD types, e.g. those with non-trivial destructor. This should fix the Mac issue.

4 lines of code changed in 1 file:

bpeterson 2016-06-10 10:31 Rev.: 55426

Some changes that Todd requested for RMCRT.

32 lines of code changed in 4 files:

ahumphrey 2016-06-10 09:25 Rev.: 55425

* Significant refactoring and code cleanup in UnifiedScheduler and GPUGridVariable support classes.
- also removed massive amounts of dead and old, commented-out code.

* Fix initialization order, and other compiler warnings.

* Make verbose loop headers less verbose with auto keyword.

* Convert Arches CrowdMonitors to std::mutex for more guaranteed correctness with threaded schedulers.

2730 lines of code changed in 21 files:

harman 2016-06-10 09:06 Rev.: 55424

Fallout from Jim's change to Vector << operator.

0 lines of code changed in 38 files:

bpeterson 2016-06-09 08:32 Rev.: 55423

The latest patch exposed a race condition, which certain Wasatch runs were now seeing. This fixes those.

144 lines of code changed in 4 files:

bpeterson 2016-06-07 16:28 Rev.: 55422

This fixes a bug where the crowd monitors weren't scoped correctly, which could lead to race conditions. Alan I have chatted about this bug, we both agreed I can commit this.

72 lines of code changed in 8 files:

ahumphrey 2016-06-07 11:06 Rev.: 55421

1.) Fix MAC linker issue (clang) - uda2vis needs to link against libCore_Util to get the RefCounted symbols.

2.) Also enable optional REFCOUNT_IMPL for compilers not supporting gcc built-in atomics.

0 lines of code changed in 6 files:

ahumphrey 2016-06-07 09:19 Rev.: 55420

Removal of src/Core/Thread and related refactoring throughout the code-base.

This is the first step in a series of infrastrucutre overhauls to modernize Uintah. Though this all passes local RT (both CPU and GPU tests), I expect some fallout we haven't considered and will be standing by to deal with any issues. Once the dust settles, we will move to replacing Core/Malloc with jemalloc.

* We are now using the standard library for all multi-threading needs within the infrastructure, e.g. std::atomic, std::thread, std::mutex, etc.

* The Unified Scheduler is now the only multi-threaded scheduler, e.g. ThreadedMPIScheduler no longer exists (though the source will soon be placed into an attic).

* Threads spawned by the Unified Scheduler are detached by default (not joinable), allowing for easy, clean and independent execution. There are no longer ConditionVariables used to signal worker threads, just a simple enum for thread-state.

* What was Core/Thread/Time.* is now Core/Util/Time.* - a next step will be to migrate all internal timers, etc to use std::chrono.

* NOTE: Though much cleanup has occurred with this commit, there is still significant cleanup and formatting to be done. The scope of this commit neccessitates a more incremental approach.

3159 lines of code changed in 284 files:

cgritton 2016-06-06 15:59 Rev.: 55418

Removed 'using namespace std' and made corrections accordingly

10 lines of code changed in 2 files:

jsutherland 2016-06-06 14:49 Rev.: 55417

Catch errors on parsing where possible and output something useful.

6 lines of code changed in 1 file:

guilkey 2016-06-06 10:14 Rev.: 55415

Remove the [] that have been included as output when using <<

0 lines of code changed in 2 files:

harman 2016-06-03 14:34 Rev.: 55414

------------------------------
# This script installs kokkos
# <here>/kokkos/src
# <here>/kokkos/build

usage:
build_kokkos [options]
Options:
-j number of processors used in compilation
-h help
---------------------------------
This is just a polished version of Dan's script with some added bulletproofing.

119 lines of code changed in 1 file:

harman 2016-06-03 11:13 Rev.: 55413

- cleaned up compiler warnings.

- Added comment lines between methods


50 lines of code changed in 1 file:

harman 2016-06-03 10:21 Rev.: 55412

- Compiler warnings

- (global) variable name change, consistent with other globals
maxdVarDBItems -> d_maxdVarDBItems

- nuked tabs.


25 lines of code changed in 2 files:

guilkey 2016-06-03 09:28 Rev.: 55411

Add functions for material specific particle splitting.

14 lines of code changed in 1 file:

guilkey 2016-06-03 09:21 Rev.: 55410

Add functionality for model specific particle splitting.

63 lines of code changed in 1 file:

harman 2016-06-02 15:47 Rev.: 55409

included statistic.cc

1 lines of code changed in 1 file:

harman 2016-06-02 15:23 Rev.: 55407

ICE, SerialMPM, MPMArches
- added machinery for calling AnalysisModule:outputProblemSpec()

OnTheFlyAnalysis (all modules)
- added virtual function outputProblemSpec
- added virtual function scheduleRestartInitialize()

ProblemSpec
- Added method findBlockWithAttributeValue()
<It should have been added years ago.>

Statistics.cc/h New Module:
Computes the 1st, 2nd, 3rd and 4th order moments over the entire domain

Computes u'v' u'w' v'w'

UPS spec:
<Module name = "statistics">
<timeStart> 0.001 </timeStart>
<timeStop> 100 </timeStop>
<material> Air </material>
<computeHigherOrderStats> true </computeHigherOrderStats>
<Variables>
<analyze label="press_CC" matl="0"/>
<analyze label="temp_CC" matl="1"/>
<analyze label="vel_CC" matl="1" computeReynoldsStress="true" />
</Variables> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
</Module>


1384 lines of code changed in 29 files:

derekhar 2016-06-02 13:51 Rev.: 55404

Changed Functor to c++11 lambda.

5 lines of code changed in 1 file:

derekhar 2016-06-02 13:30 Rev.: 55403

Reinstated Yamamoto coal-devol test under regression testing. Also turned on methane_rmcrt.ups.

3 lines of code changed in 1 file:

dav 2016-06-01 22:18 Rev.: 55402

M aclocal.m4

- Fix a few old issues: eg: echo_n should ECHO_N
- Make the version check output be more verbose and thus clearer.

M configure.ac
M configure

- Fix bizarre autoconf black magic issue... It appears that AC_PROG_CC
sets the ac_objext variable, and if you don't call AC_PROG_CC, you
get (what configure thinks are) compilation failures because
ac_objext is not set. Therefore, even if the user sets the compiler
they want, you still have to call AC_PROG_CC. On an aside, you
apparently can only use AC_PROG_CC once in configure.ac as it does not
produce the same code the 2nd time and does other strange things...

9 lines of code changed in 1 file:

dav 2016-06-01 19:09 Rev.: 55401


M configure
M configure.ac

- Move warning about not setting CC or CXX up further in the script because if CC is not set,
it will be set automatically for you by AC_PROG_CC.
- Clean up check for non-specified CC variable. Fix setting cc to gcc.
- Use "=" instead of "==" in 'test'.

M aclocal.m4

- Do NOT override user's value of NVCC_CXXFLAGS.


1 lines of code changed in 1 file:

dav 2016-06-01 17:29 Rev.: 55400

updates to allow building on Anasazi and to allow CUDA version of w3p

57 lines of code changed in 2 files:

May 2016 »

Generated by StatSVN 0.7.0