An additional conditional in findRecord. Why this hasn't been there before,
and what this vectorToNeighbor thing is are both still mysteries to me.
4 lines of code changed in 1 file:
1. Minor formatting changes.
2. Commented out some code related to particle addition that I think
is no longer being used. In case it is, it is still there, for now.
3. Added a conditional to the findRecord logic, namely:
(fromPatch != toPatch)
This fixes(?) a bug in which a record is being returned when it shouldn't be.
This change may be papering over a bigger issue, as this code is hard to follow,
but this change at least repairs one pathological case.
78 lines of code changed in 1 file:
1. Lots of minor formatting.
2. Went from using:
finePatch->getCoarseLevelPatches(coarsePatches);
to:
finePatch->getOtherLevelPatchesNB(-1,coarsePatches,0);
because the former assumes cell based data.
3. Currently commenting out:
scheduleCoarsenNodalData_CFI( sched, patches, matls, zeroData);
and:
scheduleInterpolateToParticlesAndUpdate_CFI(sched, patches, matls);
from scheduleTimeAdvance. They may ultimately prove necessary, but I can't
see why, particularly when computeLAndF has no corresponding tasks, and it
also consists of computing particle data from the grid.
56 lines of code changed in 1 file:
* Fix multithreaded proc0cout problems. We now get expected (full) output from Thread 0.
* Fix MPI_Testsome issue in ThreadedMPI scheduler
-> "Fatal error in MPI_Testsome: Invalid MPI_Request ... Supplied request in array element 0 was invalid."
* Add in some multi-threaded, multi-process nightly tests. These should catch things like PackBuffer leaks, etc.
29 lines of code changed in 5 files:
added the ability to include a prefix message with the simulation stats
8 lines of code changed in 3 files:
switch to the new dw
3 lines of code changed in 1 file:
moved the print sim and visit interface to teh end of the while loop
28 lines of code changed in 1 file:
Added Vulcan block.
15 lines of code changed in 1 file:
Due to linking issues/proc0cout, etc, we must initialize Parallel manager (even if running serially) at the beginning of each main() program. Also alphabetized #includes.
110 lines of code changed in 15 files:
fixed includes
3 lines of code changed in 2 files:
added std::VisIt/libsim/visit_libsim.cc
6 lines of code changed in 2 files:
fixed case
1 lines of code changed in 1 file:
clean up and first iteration for single CPU
452 lines of code changed in 5 files:
Add a static member to the VarLabel class that allows setting and accessing the particle position variable name (and varlabel) for in-situ visualization. This will default to "p.x". Warning, if you are using anything other than "p.x", you MUST call VarLabel::setParticlePositionName(...) in Component::ProblemSetup(). You can access the particle position varlabel via: Uintah::VarLabel* pPosLabel = Uintah::VarLabel::particlePositionLabel().
14 lines of code changed in 5 files:
Fix Mac linking.
0 lines of code changed in 2 files:
This is a recommit of the XML memory usage fix commit that was
committed a month ago (at and around ~r52896), but had a few errors
with respect to a handful of tests (AMR/multi-level?) This has passed
the local RT though there are a few tests that are off by 10e-15 or
so.
M CCA/Components/LoadBalancers/LoadBalancerCommon.cc
M CCA/Components/LoadBalancers/LoadBalancerCommon.h
- Combined a number of pieces of the ParticleLoadBalancer and DynamicLoadBalancer
into LoadBalancerCommon.
- The getOldProcessorAssignment() call previously was implemented in the
CCA/Ports/LoadBalancer.h file, but this was confusing as that should just
be an interface. Placed the 'dynamic' version (used by both Particle and
Dynamic Load Balancers) in this file. Simple and SingleProcessor overwrite
with their own simple version.
- addContribution(), finalizeContributions() resetCostForecaster() and
initializeWeights() are now here (not in the Port LoadBalancer.h
interface anymore) and provide a warning that they actually aren't
doing anything when they are not.
- Removed some old code that was there to read in (old) UDA 1.0s.
- Lined up variables, white space, {}, coding standards, etc.
M CCA/Components/LoadBalancers/DynamicLoadBalancer.h
M CCA/Components/LoadBalancers/DynamicLoadBalancer.cc
M CCA/Components/LoadBalancers/ParticleLoadBalancer.h
M CCA/Components/LoadBalancers/ParticleLoadBalancer.cc
- getPatchwiseProcessorAssignment() and getOldProcessorAssignment() moved into
LoadBalancerCommon.
- Marked a number of 'virtual' functions with the virtual key word.
M CCA/Components/LoadBalancers/SimpleLoadBalancer.h
M CCA/Components/LoadBalancers/SimpleLoadBalancer.cc
M CCA/Components/LoadBalancers/SingleProcessorLoadBalancer.h
M CCA/Components/LoadBalancers/SingleProcessorLoadBalancer.cc
- Implemented getOldProcessorAssignment() here so it would be more clear
where this function is implemented (instead of being buried in the Port interface).
- White space.
M CCA/Components/MPM/ImpMPM.cc
- All cosmetic white space / coding standards updates, with the exception of fixing this bloc:
// Pull out from Time section
d_initialDt = 10000.0;
ProblemSpecP time_ps = restart_mat_ps->findBlock("Time");
if( time_ps ) {
time_ps->get("delt_init",d_initialDt);
}
Added the "if( time_ps )" check. The reason this is necessary is that
the "Time" block no longer exists in the restart_mat_ps portion of the
restart problem spec. (This is due to no longer loading the XML DOM.)
In the above (and previous) code, if "delt_init" is not found, then
10000 is used as a default. [Actually, I'm not quite sure why this is
done, or how this was working, but it 'works' the same now as it did
before.]
M CCA/Components/ProblemSpecification/ProblemSpecReader.h
M CCA/Components/ProblemSpecification/ProblemSpecReader.cc
- Added the readInputFile() function that reads and parses the input UPS file
directly, but does not save the XML DOM (this is done because on huge
simulations with 10Ks of patches, the XML DOM was taking 100s of MB of
memory... now we just get the information out of the file that we need
without saving it).
M CCA/Components/Schedulers/DetailedTasks.h
- Fix naming to use our convention (well, one of them, in this case
the trailing '_' for member variables).
M CCA/Components/Schedulers/DetailedTasks.cc
- Fix indentation, white space.
- Using 'using namespace std' for consistency will all our other .cc files.
M CCA/Components/Schedulers/MPIScheduler.cc
- White space, variable line up.
M CCA/Components/Schedulers/OnDemandDataWarehouse.cc
- Removed the non-used parameters from getOldProcessorAssignment().
- White space, variable line up.
M CCA/Components/Schedulers/SchedulerCommon.h
- Pass strings as const & - don't copy.
M CCA/Components/Schedulers/SchedulerCommon.cc
- Use proc0cout instead of separate if.
- Remove tabs.
M CCA/Components/Schedulers/TaskGraph.cc
- Removed the non-used parameters from getOldProcessorAssignment().
M CCA/Components/Schedulers/UnifiedScheduler.cc
M CCA/Components/SimulationController/AMRSimulationController.cc
- White space.
M CCA/Components/SimulationController/SimulationController.cc
- Line up variables, white space, {}s.
- Renamed "restart_prob_spec" as it is now only the portion of the
restart PS that pertains to the component and thus is now named
"restart_prob_spec_for_component".
M CCA/Ports/LoadBalancer.h
- Organize #includes, white space.
- Make all functions in this interface pure virtual so that they will
be implemented 'closer to home'.
M CCA/Ports/Scheduler.h
- Line up variables, white space, pass strings as const &.
M Core/Containers/HashTable.h
- Move "first()" call into constructor as everywhere in the code when
ever one of these was created, first() was immediately called.
M Core/DataArchive/DataArchive.h
- No longer creating the giant (for 10K+ patches) XML DOM objects.
Instead, parse them directly for the information needed and pass
that around.
- Pass strings as const &.
- White space, capitalization, line up variables, {}s, etc.
- More passing const variables as const.
- d_tsindex becomes the more readable d_ts_index, etc.
- DataArchive needs the Load Balancer now in order to know where patches belong.
M Core/DataArchive/DataArchive.cc
- Organize #includes.
- White space, etc.
- Add UPS file parsing codes for parsing as we stream through the file.
- UDAs (the xml) are actually read in in several phases. Previously because
they were read into an XML DOM data structure, we just passed that around
and it didn't make a difference. Now we have to be smarter about what
is read when.
- Fix the outputting of restart UPS files (previously the old restart information
was lost).
- Renamed variable Url to Filename as that is what it is.
M Core/Grid/Variables/ComputeSet.h
- Fix spacing.
M Core/ProblemSpec/ProblemSpec.h
M Core/ProblemSpec/ProblemSpec.cc
- Added XML parsing via streaming file functions.
- Fix spacing.
- Added constructor that will create a ProblemSpec from data in a buffer.
- This is used when we parse an input UPS file and need (small) parts
of it still as an UPS file (eg, to be passed down to a component
so that we don't have to change component code at this point).
M StandAlone/compare_uda.cc
M StandAlone/tools/compute_Lnorm_udas.cc
- Due to extra linking requirements, we need to init the Uintah Parallel
library before running (even if the initialization just tells the
library that it is not running under MPI) using these calls:
Uintah::Parallel::determineIfRunningUnderMPI( argc, argv );
Uintah::Parallel::initializeManager(argc, argv);
- Fix #includes.
- Coding standard updates.
M StandAlone/sus.cc
- Space out the exception handling to make the code easier to follow.
2038 lines of code changed in 43 files:
Cosmetic fix while looking at getting list of variables from DW for Allen's invitro VisIt updates.
2 lines of code changed in 1 file:
More cosmetic cleanups in prep for XML memory use fix.
M CCA/Components/Schedulers/SchedulerCommon.h
M Core/Grid/Variables/VarLabel.cc
- Cosmetic white space - line up things for easier reading fix.
M Core/Grid/Variables/VarLabel.h
- Pass strings as const references to avoid copy.
28 lines of code changed in 3 files:
M Core/Malloc/Allocator.cc
- Purely cosmetic update - differentiate between two error messages that had same text.
M Core/Malloc/new.cc
M Core/Parallel/Parallel.cc
- Purely cosmetic white space/coding standard updates.
- Removed #if sgi code.
M CCA/Components/MPM/ImpMPM.cc
- Cosmetic update in preparation for XML memory fix update.
346 lines of code changed in 5 files:
Created a function called getOtherLevelPatchesNB. This is a specific version
of this for use with node based data. This may not be fully tested for all
patch configurations yet, but for AMRMPM, it is an improvement for cases where
fine patch boundaries align with coarse patch boundaries.
71 lines of code changed in 2 files:
Made fineLevel_CFI_NodeIterator its own implementation, specific for nodes,
rather than trying to call the Cell based version and make that work.
0 lines of code changed in 2 files:
second round of initial checkins for Uintah and VisIt
308 lines of code changed in 4 files:
Change the case sensitivity.
2 lines of code changed in 2 files:
- added smooth wall shear stress model.
- Set the boundary conditions on the total viscosity such that
the turbulent viscosity is 0 at the cell face.
410 lines of code changed in 14 files:
moved a few methods around to be consistent
253 lines of code changed in 4 files:
Remove file.
0 lines of code changed in 1 file:
first cut to add VisIt's libsim into Uintah - not yet functional
0 lines of code changed in 1 file:
first cut to add VisIt's libsim into Uintah - not yet functional
3453 lines of code changed in 16 files:
Minor readability improvements.
8 lines of code changed in 2 files:
fixed bug when extracting output between starting & ending timesteps
2 lines of code changed in 1 file:
Test commit.
0 lines of code changed in 2 files:
M runSusTests.py
- Better test for an exception in the output file. This avoids false
negative when the "exception message" that is being grepped for is in
the "svn diff" output.
3 lines of code changed in 1 file:
M Regridder/TiledRegridder.cc
M SimulationController/AMRSimulationController.cc
- Cosmetic coding standards updates.
M Schedulers/SchedulerCommon.cc
- Cosmetic white space updates.
M Schedulers/TaskGraph.cc
- Cosmetic fixes, including consistent use of "std::".
M SimulationController/SimulationController.cc
- Cosmetic white space updates, line up variables, etc.
176 lines of code changed in 6 files:
A XMLUtils.h
A XMLUtils.cc
- XML helper functions for parsing XML on the fly (instead of into a DOM object via libxml2).
They are used to read XML data without storing it in an intermediary data structure, and
thus save us from having the xml library use up a huge amount of memory.
These files should have been commited with the previous commit.
226 lines of code changed in 2 files:
More innocuous updates to get ready for main xml memory fix commit. These do not change the RT answers, but
get the code into a cleaner shape for the mail fix.
D Core/Containers/StringUtil.cc
D Core/Containers/StringUtil.h
A + Core/Util/StringUtil.cc
A + Core/Util/StringUtil.h
- Moved StringUtil into Core/Util.
M CCA/Components/DataArchiver/DataArchiver.cc
M CCA/Components/ProblemSpecification/ProblemSpecReader.cc
- Alphabetize #includes, update #include StringUtil.
M Core/Containers/sub.mk
- Remove StringUtil, remove tabs.
M Core/Geometry/IntVector.h
M Core/Geometry/IntVector.cc
M Core/Geometry/Vector.h
M Core/Geometry/Vector.cc
- Move 'fromString()' to its proper location.
- Remove tabs. Add {}. Remove dead code. Alphabetize #includes.
M Core/Grid/Grid.h
M Core/Grid/Grid.cc
- Alphabetize #includes. Inline one line function. Line up variables/functions, white space, etc.
- Added readLevelsFromFile(), parsePatchFromFile(), parseLevelFromFile(), parseGridFromFile() functions
- These functions are used to parse an input XML file line by line (instead of reading it into an
XML DOM that takes a huge amount of memory).
- HOWEVER, they are not used in the code in this commit. They will be used in a following commit.
M Core/Grid/SimulationState.cc
M Core/Grid/SimulationTime.cc
M Core/Grid/Task.cc
M Core/Persistent/Persistent.cc
M Core/Persistent/Pstreams.cc
M Core/Util/DynamicLoader.cc
M Core/Util/FileUtils.cc
- Alphabetize #includes. Update #include for StringUtil.
M Core/Util/sub.mk
- Alphabetize files. Update StringUtil.
1040 lines of code changed in 32 files:
change the stencil to direct type checks
11 lines of code changed in 1 file:
removed Warches RT tests.
Reduce the runtime on regression tests. This will change the answers.
1 lines of code changed in 2 files:
Fix detailed reporting of MPI statistics (mostly message tags, to<-->from ranks, message sizes, etc). Now this provides more useful MPI information that is actually readeable when output by multiple threads.
A majority of the MPI information can now be gathered with:
export SCI_DEBUG=MessageTags:+,MPIDBG:+
For slightly more detailed info, e.g. ghost types, num ghost cells/nodes, Ghost::direction, etc, use:
export SCI_DEBUG=MessageTags:+,MPIDBG:+,MPIScheduler_DBG:+
151 lines of code changed in 6 files:
More incremental updates to get the code ready for the XML memory fix.
These changes have passed the optimized localRT, but the debug version was throwing
strange errors due to a newer compiler having bad interactions with sci malloc.
I'm currently running a work-around on those and if the debug build displayes
real problems, I'll back these changes out.
M CCA/Components/LoadBalancers/DynamicLoadBalancer.cc
M CCA/Components/LoadBalancers/DynamicLoadBalancer.h
M CCA/Components/LoadBalancers/LoadBalancerCommon.cc
M CCA/Components/LoadBalancers/LoadBalancerCommon.h
M CCA/Components/LoadBalancers/ParticleLoadBalancer.cc
M CCA/Components/LoadBalancers/ParticleLoadBalancer.h
Consolidated a lot of duplicate code from ParticleLoadBalancer and DynamicLoadBalancer and put it into
the LoadBalancerCommon. For example, restartInitialize() and useSFC() were both duplicate code. There
are probably others routines/variables that could be consolidated.
Note, the #define SFC_PARALLEL was turned on in Particle LB, but not Dynamic LB, so not sure which one
is 'correct'. I do note that it does change the answers (slightly) for the Arches RT tests.
Some code clean ups, alphabetize #includes, use "d_" for class variables, etc.
M CCA/Ports/LoadBalancer.h
- Made restartInitialize 'port' purely virtual so it has to be implemented... before, an 'empty' version could be called
causing confusion on what was actually happening.
M CCA/Ports/SFC.h
- Code layout/cosmetic update.
M Core/DataArchive/DataArchive.cc
359 lines of code changed in 9 files:
rip out Warches :( There may be a few tentacles left. Arches et al. should feel free to point those out to me or rip them out entirely. Verified OPT build with the Arches and Wasatch local RT. RIP Warches.
322 lines of code changed in 28 files:
use dt instead of time for the outflow bc dummy dependency
2 lines of code changed in 1 file:
missed a couple of expressions in my previous commit.
4 lines of code changed in 2 files:
another refactor of the create_field_request interface.
617 lines of code changed in 97 files:
minor cleanup of the TaskInterface class
5 lines of code changed in 1 file:
Refactor Wasatch to use the new ExprLib Interface that allows us to specify the number of ghosts at runtime. This is a major commit.
2315 lines of code changed in 155 files:
M CCA/Components/ProblemSpecification/ProblemSpecReader.cc
- Display ProblemSetupException error message when parsing UPS files fails.
M StandAlone/sus.cc
- Make error message more (generically) correct.
M CCA/Components/DataArchiver/DataArchiver.cc
- Fix typo.
4 lines of code changed in 3 files:
// The default seed function opens a file and reads it.
// You never want to open files on large scale runs.
// Currently, with RMCRT every patch is executing this code every timestep!!
//
// I turned off the default method. Now using time() and clock() for setting the seed.
11 lines of code changed in 1 file:
Don't delete until arches destructor is called.
3 lines of code changed in 1 file:
Formatting code.
sort the average times
align the output columns.
New output format:
##################################################################################
# NOTE: TaskExecTimes are:
# 1) Represented in seconds
# 2) Cumulative over 10*floor(MaxTimeSteps/10) timesteps
# 3a) Cumulative over nthreads when using the UnifiedScheduler
# 3b) Cumulative over nthreads-1 when using the ThreadedMPIScheduler
# --------------------------------------------------------------------------------
# Total(s): Average reported TaskExecTime for all tasks over all processors
# Avg(s): Average reported TaskExecTime for a given task over all processors
# Max(s): Maximum reported TaskExecTime for a given task over all processors
##################################################################################
Processors=256
Total(s)=250.616
Task Ave(s) Max(s)
Task:MiniAero::dissipativeFaceFlux | 58.5346 | 162.524
Task:MiniAero::viscousFaceFlux | 46.4053 | 88.4771
Task:MiniAero::updateResidual | 41.9919 | 59.4182
<snip>
23 lines of code changed in 1 file:
CPTI code efficiency improvements
45 lines of code changed in 4 files:
Delete the intermediate patch set
This is done after the operators are created. I don't think it is needed
after this point.
This should clearup the memory leak.
21 lines of code changed in 4 files:
Fix typo
1 lines of code changed in 1 file:
Clean up AMRMPM a bit.
29 lines of code changed in 2 files:
Add computeParticleScaleFactor to make looking at particles easier
73 lines of code changed in 1 file:
Get rid of the use of vectors in the cpdiInterpolator in favor of plain C style
arrays. There's no reason to use vectors in place of arrays, at this point,
and this achieves a 10% speed up.
14 lines of code changed in 1 file:
Smaller commits to get ready for re-commit of (xml) memory use fix to come in the near future.
Mostly all costmetic fixes in this commit.
M CCA/Components/LoadBalancers/LoadBalancerCommon.cc
M CCA/Components/LoadBalancers/DynamicLoadBalancer.cc
M CCA/Components/LoadBalancers/DynamicLoadBalancer.h
M CCA/Components/LoadBalancers/ParticleLoadBalancer.cc
- Alphabetize #includes. Coding standards cosmetic updates. Remove tabs. Line up variables.
- Interesting note, the AG_HACK is turned on in one load balancer, but not the other.
M Core/OS/Dir.h
M Core/OS/Dir.cc
M Core/OS/Dir_boost.cc
- Mostly cosmetic updates, but also added 'const' to functions that do not change class data.
418 lines of code changed in 10 files:
Bulletproofing.
20 lines of code changed in 1 file:
Added Baja
12 lines of code changed in 1 file:
Infer momentum BCs from Velocity BCs. This will simplify and reduce bc input specification.
NOTE: It is HIGHLY recommended that you initialize velocities ONLY from now NOW and do not apply momentum BCs at ALL. This is relaxed for the time being as we transition to this new approach.
NOTE 2: This commit will break the Wasatch RT. The majority of the failures are due to a change in the number of variables. The rest are acceptable noisy diffs or actual corrections to the momentum BCs.
200 lines of code changed in 5 files:
Added Wolf
20 lines of code changed in 1 file:
fix failing buildbot
0 lines of code changed in 1 file:
Update buidl flags... turn off testing for spatial ops, should speed up build substantially.
5 lines of code changed in 2 files:
cleanup
9 lines of code changed in 3 files:
a few cosmetic changes and documentation to the BCHelper
37 lines of code changed in 1 file:
Forgot to set myworld on for the Operator class.
1 lines of code changed in 1 file:
* Add support for static linking with CUDA runtime library. This should give a nice perf boost on Titan.
- Generate new configure script (autoconf v2.69).
* A few minor cosmetic changes to earlier cleanup commit.
22 lines of code changed in 4 files:
Remove an errant scinew.
2 lines of code changed in 1 file:
change the isProc to isProc_macro to better label
0 lines of code changed in 2 files:
Moving the patch operator creation to the scheduling phase. Needed to
reproduce some wasatch functionality because the needed methods were
private to wasatch. Messy, but seems to work.
87 lines of code changed in 3 files:
Fix CUDA-related compiler error.
2 lines of code changed in 1 file:
This commit is focused on clearing up & simplifying what's happening with task phases (delaying reductions, etc until late in a timestep to avoid out-of-order scheduling of reduction tasks across MPI ranks - deadlock) and MPI communicator duplication (used in conjunction with MPI collective calls due to the lack of support for message tags) in the threaded schedulers. Much of this cleanup and simplification will aid in finishing work on spatial task scheduling.
NOTE: These changes have been run through full nightly RT, so things should be OK...
* Fix detailed DebugStream output/reporting on task phases (threaded schedulers), e.g. when each task phase begins, what is executing, how many tasks, etc.
* Add many cerr and cout locks for threaded scheduler dbg streams. Detailed output is now readable with multiple threads.
* Massive cleanup in TaskGraph, DetailedTasks, ProcessorGroup and Parallel classes. Sort #includes, line up params/args, add comments, whitespace and { }s, misc formatting, etc.
* Some refactoring in threaded schedulers.
1419 lines of code changed in 17 files: