[root]/Core/Math
TntJama
(26 files, 7810 lines)
doc
(3 files, 99 lines)
Author | Changes | Lines of Code | Lines per Change |
---|---|---|---|
Totals | 176 (100.0%) | 410 (100.0%) | 2.3 |
harman | 4 (2.3%) | 200 (48.8%) | 50.0 |
jas | 149 (84.7%) | 156 (38.0%) | 1.0 |
ahumphrey | 20 (11.4%) | 30 (7.3%) | 1.5 |
dav | 3 (1.7%) | 24 (5.9%) | 8.0 |
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 4 files:
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.
22 lines of code changed in 2 files:
Revert -r55443, until folks can get compilers upgraded and buildbot MPI is updated.
4 lines of code changed in 2 files:
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:
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).
9 lines of code changed in 4 files:
Revert r55429.
Still having an MPICH/OpenMPI compatibility problem.
4 lines of code changed in 2 files:
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 2 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.
1 lines of code changed in 4 files:
Expon.cc/h
- added several approximate and fast exponential functions. Consider using these if
there is an exp() in the inner most loop and you don't need 16 digits of precision.
They are best suited for arguments -1 < x < 1.
RMCRT:
- Added machinery to utilize the fast exponent methods. Currently, disabled. We need to
characterize the range of the optical thickness before we can take advantage of them. Preliminary,
tests show a speedup of 1.4 - 1.7 for the Burns & Christon problem while maintaininig ray
convergence.
200 lines of code changed in 4 files:
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.
2 lines of code changed in 1 file:
Remove old SCIRun TypeDescription and all traces of the SCIRun namespace.
0 lines of code changed in 3 files:
Remove unused classes.
0 lines of code changed in 7 files:
Simplify the SCIRun TypeDescription class.
2 lines of code changed in 2 files:
Remove Persistent class and all references to it.
1 lines of code changed in 1 file:
Remove CompGeom class.
0 lines of code changed in 1 file:
Remove Transform class and PersistentSTL.
0 lines of code changed in 1 file:
Remove persistent I/O calls from various classes.
2 lines of code changed in 5 files:
Move non-conflicting classes that were in SCIRun namespace to Uintah namespace.
93 lines of code changed in 43 files:
Update copyright date to 2016.
58 lines of code changed in 86 files: