Directory Core/Disclosure/

Total Files:
5
Deleted Files:
0
Lines of Code:
784

[root]/Core/Disclosure

Lines of Code

Core/Disclosure/ Lines of Code

Developers

Author Changes Lines of Code Lines per Change
Totals 33 (100.0%) 313 (100.0%) 9.4
ahumphrey 13 (39.4%) 216 (69.0%) 16.6
dav 9 (27.3%) 70 (22.4%) 7.7
jas 10 (30.3%) 23 (7.3%) 2.3
bpeterson 1 (3.0%) 4 (1.3%) 4.0

Most Recent Commits

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.


4 lines of code changed in 2 files:

  • Core/Disclosure: TypeDescription.h (+4 -5)
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.

4 lines of code changed in 2 files:

  • Core/Disclosure: TypeUtils.cc (+4 -4)
ahumphrey 2016-06-14 21:26 Rev.: 55445

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

4 lines of code changed in 1 file:

  • Core/Disclosure: TypeUtils.cc (+4 -4)
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.

4 lines of code changed in 1 file:

  • Core/Disclosure: TypeUtils.cc (+4 -4)
ahumphrey 2016-06-10 12:31 Rev.: 55430

Revert r55429.

Still having an MPICH/OpenMPI compatibility problem.

4 lines of code changed in 1 file:

  • Core/Disclosure: TypeUtils.cc (+4 -4)
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.

4 lines of code changed in 1 file:

  • Core/Disclosure: TypeUtils.cc (+4 -4)
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.

15 lines of code changed in 3 files:

  • Core/Disclosure: TypeDescription.cc (new), TypeDescription.h (+4 -6)
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.

4 lines of code changed in 1 file:

  • Core/Disclosure: TypeDescription.cc (+4 -2)
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.

181 lines of code changed in 4 files:

  • Core/Disclosure: TypeDescription.cc (+104 -117), TypeDescription.h (+77 -62), sub.mk (-1)
dav 2016-04-15 22:12 Rev.: 55199

This commit should fix the previous commit with respect to Uintah Variable
types. Additionally, it adds support for Arches files to be pushed through
NVCC as needed.

M CCA/Components/Wasatch/sub.mk

- Added a brief comment on use of CUDA_ENABLED_SRCS.

M CCA/Components/Arches/TransportEqns/CQMOM_Convection.h
M CCA/Components/Arches/TransportEqns/Discretization_new.h
M CCA/Components/Arches/TransportEqns/CQMOMEqn.h
M CCA/Components/Arches/TransportEqns/DQMOMEqn.h
M CCA/Components/Arches/Task/TaskInterface.h

- Minor cleanups:
- Fix warning message.
- Some white space for readability.
- Remove an empty "private:" block.

M CCA/Components/Arches/CoalModels/sub.mk
M CCA/Components/Arches/TransportEqns/sub.mk
M CCA/Components/Arches/Transport/sub.mk
M CCA/Components/Arches/sub.mk
M CCA/Components/Arches/ParticleModels/sub.mk
M CCA/Components/Arches/PropertyModels/sub.mk
M CCA/Components/Arches/ChemMix/sub.mk
M CCA/Components/Arches/PropertyModelsV2/sub.mk
M CCA/Components/Arches/Task/sub.mk
M CCA/Components/Arches/SourceTerms/sub.mk
M CCA/Components/Arches/Operators/sub.mk
M CCA/Components/Arches/WallHTModels/sub.mk
M CCA/Components/Arches/Utility/sub.mk
M CCA/Components/Arches/LagrangianParticles/sub.mk

- Update Arches sub.mk files to correctly specify which files
need CUDA (nvcc) compilation.

M Core/Grid/Variables/CCVariable.h
M Core/Grid/Variables/SFCYVariable.h
M Core/Grid/Variables/NCVariable.h
M Core/Grid/Variables/SFCXVariable.h
M Core/Grid/Variables/SFCZVariable.h
M Core/Grid/Variables/ParticleVariable.h
M Core/Disclosure/TypeDescription.h

- Turns out that the registerMe variable was needed. There was an erroneous comment
in the previous version that implied that it wasn't needed (that the work happened
in the Variable constructor, but this was not the case. I have added a number of
comments to clarify how this works so the next person to dig into it will have an
easier time.

M Core/Disclosure/TypeDescription.cc

- Update file global variables to be designated as such to help avoid confusion.
- Assign to NULL as they are pointers and not integers.


41 lines of code changed in 2 files:

  • Core/Disclosure: TypeDescription.cc (+32 -22), TypeDescription.h (+9)
dav 2016-04-15 13:44 Rev.: 55194

Remove more unused 'Register' stuff. Commit update to aclocal.m4 that is in configure already, but still not sure why these changes (from John or Tony) are necessary.

0 lines of code changed in 1 file:

  • Core/Disclosure: TypeDescription.h (-4)
dav 2016-04-15 12:18 Rev.: 55191

A number of fixes for Titan (CUDA) and static builds in general. Also, with this commit, the stand-alone
tools such as puda and compare_uda should now work on machines that require static builds.

M configure
M configure.ac

- Turn back on the C++11 check.
- Fix check for broken exceptions (on Titan) that fails because the code is cross-compiled.
- When MPI is specified as built-in, the NVCC compiler fails to find mpi.h (as we don't specify
the -I/path/to/mpi/ flag). This commit uses the built-in compiler to find the location of mpi, and
provides the location to the NVCC compiler (using INC_MPI_H_NVCC).
- Remove some old debugging statements.
- Fix (hack) on Titan for problem with CUDA 7.0 and Boost. Must specify two -D flags.

M configVars.mk.in

- Add the INC_MPI_H_NVCC flag to the NVCC_CXXFLAGS var.
- Fix (copy/paste?) bug where cuda .d files were being deleted as thus make dependency information
was lost. I'm guessing that before this fix, Uintah CUDA developers must have experienced
strange behavior when modifying .h files as the code would not have re-built like it should have.
- Remove all .d files from the base directory... This is due to the fact that Titan's NVCC compiler
is leaving around many bogus/tmp .d files and not cleaning up after itself. It might be that
we should make a check for being on Titan (or a more general test for problematic NVCC .d
generation - though I'm not sure right off on how to write this check) - but for now the removing
of all .d files in the base dir should have no effect on anything else.
- Make verbose output not suppress the "rm" call.

M CCA/Components/Wasatch/Wasatch.h
M CCA/Components/Wasatch/Wasatch.cc

- Fix compiler warning about "const" return variables.
- White space.

M CCA/Components/ProblemSpecification/ProblemSpecReader.cc

- Allow for validation of .ups file on machines where the executable is not in build tree (eg: on Titan,
before running sus, you must move it to a file system visible to the compute nodes). In order
to use this functionality, you must copy the "inputs/" directory to the same location you move sus to.
- It appears that, when validating the .ups file, sus was doing the validation on every process. This
doesn't seem like it is necessary, so only do so now on proc 0...

M Core/Exceptions/ErrnoException.cc

- White space, {}s.

M Core/Grid/Variables/CCVariable.h
M Core/Grid/Variables/SFCYVariable.h
M Core/Grid/Variables/NCVariable.h
M Core/Grid/Variables/SFCXVariable.h
M Core/Grid/Variables/SFCZVariable.h

- Remove the "registerMe" code that is not used. Perhaps it was replaced with the current method of
registering Uintah variables but not cleaned up? Regardless, it doesn't do anything now, and
just makes tracking what is going on more difficult, so it is best that it be removed.
- Put one-line functions in a .h file on a single line to make it easier to view the class spec.

M Core/Grid/Variables/sub.mk

- Add the StaticInstantiate.cc file. This file is used to force Uintah variable registration on
machines that use static builds and don't register the variables in the normal/correct way
when the shared library (static constructors fire) is loaded.

A Core/Grid/Variables/StaticInstantiate.h
A Core/Grid/Variables/StaticInstantiate.cc

- Uintah relies on our variable types (CCVariable, NCVariable, etc) being registered with Uintah
before it allows components to create a variable of the given type. On most systems (and
specifically for shared lib builds), when the CCVariable.o code is loaded from libCore_Grid.so
static constructors fire and register the variables. However, on some machines that use static
builds (such as Titan) appear to "optimize out" these constructors, and thus the variables
never register themselves and when puda or compare_uda (etc) try to load data, the Uintah
type system says it does not recognize the type and dies. This commit adds the (hack) function
instantiateVariableTypes() which sole purpose is to create variables of all types that Uintah
uses so that they will register themselves with the type system. This function is called the
first time a DataArchive is created (on static builds). All the variables it creates go away
as soon as the function is done, but have by then registered themselves.

M Core/DataArchive/DataArchive.h
M Core/DataArchive/DataArchive.cc

- Use the instantiateVariableTypes() function the 1st time a DataArchive is created (on static builds).
- Add a few more 'const's for variables that must not change.
- Indent properly, white space.
- Move some private data to the main private section.

M Core/Disclosure/TypeUtils.cc

- Move to 80+ columns for better readability.

M Core/Disclosure/TypeDescription.cc

- Remove the (non-used) Register section.

25 lines of code changed in 2 files:

  • Core/Disclosure: TypeDescription.cc (-9), TypeUtils.cc (+25 -38)
dav 2016-03-17 14:51 Rev.: 55061


With the removal of the SCIRun namespace, there were a number of
places where 'SCIRun::' was replaced with 'Uintah::'. However,
some of these were already inside of the "using namespace Uintah {"
sections which causes the icc compiler to emit 1000s of warnings.
I have removed the "Uintah::" from these locations. Basically
this is a purely cosmetic update to remove warnings.

0 lines of code changed in 2 files:

  • Core/Disclosure: TypeUtils.h (new)
jas 2016-03-15 18:26 Rev.: 55035

Remove old SCIRun TypeDescription and all traces of the SCIRun namespace.

0 lines of code changed in 1 file:

  • Core/Disclosure: TypeUtils.cc (-11)
jas 2016-03-15 18:25 Rev.: 55030

Simplify the SCIRun TypeDescription class.

1 lines of code changed in 1 file:

  • Core/Disclosure: TypeUtils.cc (+1 -1)
jas 2016-03-15 18:24 Rev.: 55024

Move non-conflicting classes that were in SCIRun namespace to Uintah namespace.

17 lines of code changed in 3 files:

  • Core/Disclosure: TypeDescription.cc (-2), TypeUtils.cc (+13 -10), TypeUtils.h (+4 -4)
jas 2016-01-08 15:45 Rev.: 54640

Update copyright date to 2016.

5 lines of code changed in 5 files:

  • Core/Disclosure: TypeDescription.cc (+1 -1), TypeDescription.h (+1 -1), TypeUtils.cc (+1 -1), TypeUtils.h (+1 -1), sub.mk (+1 -1)
Generated by StatSVN 0.7.0