[root]/testprograms/Malloc
Author | Changes | Lines of Code | Lines per Change |
---|---|---|---|
Totals | 37 (100.0%) | 34 (100.0%) | 0.9 |
jas | 28 (75.7%) | 19 (55.9%) | 0.6 |
dav | 6 (16.2%) | 15 (44.1%) | 2.5 |
ahumphrey | 3 (8.1%) | 0 (0.0%) | 0.0 |
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.
15 lines of code changed in 6 files:
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.
0 lines of code changed in 3 files:
Add Uintah namespace, remove __digital__ reference.
2 lines of code changed in 1 file:
More changes from SCIRun to Uintah. Delete unused SCIRun build_script files.
2 lines of code changed in 2 files:
Move non-conflicting classes that were in SCIRun namespace to Uintah namespace.
0 lines of code changed in 1 file:
Update copyright date to 2016.
15 lines of code changed in 24 files: