[root]/StandAlone
Benchmarks
(2 files, 228 lines)
tools
(2 files, 922 lines)
compare_mms
(11 files, 1301 lines)
dumpfields
(28 files, 5142 lines)
extractors
(9 files, 5648 lines)
fsspeed
(1 files, 56 lines)
graphview
(8 files, 1636 lines)
makedot
(2 files, 240 lines)
mpi_test
(4 files, 974 lines)
pfs
(5 files, 1730 lines)
puda
(36 files, 4745 lines)
radiusMaker
(2 files, 318 lines)
tracker
(2 files, 103 lines)
uda2nrrd
(18 files, 3111 lines)
uda2vis
(3 files, 951 lines)
Author | Changes | Lines of Code | Lines per Change |
---|---|---|---|
Totals | 54 (100.0%) | 501 (100.0%) | 9.2 |
dav | 29 (53.7%) | 264 (52.7%) | 9.1 |
ahumphrey | 9 (16.7%) | 184 (36.7%) | 20.4 |
harman | 6 (11.1%) | 43 (8.6%) | 7.1 |
jas | 9 (16.7%) | 9 (1.8%) | 1.0 |
tsaad | 1 (1.9%) | 1 (0.2%) | 1.0 |
Reverting code to r52880 before my memory use fix commit. While most tests passed, the ones using AMR and the dynamic load balancer were not passing and the weeds are too deep within them to quickly figure out what is causing the problems. Next week I will attempt to figure out what is going on with them. My guess is that it will take quite a bit of effort to understand the inner workings of the dynamic loadbalancer in order to get everything to work, so it may be quite a while before this fix may go in.
72 lines of code changed in 10 files:
This is the first commit (of what may be several over the next month or so) dealing with Uintah's excessive use
of memory with respect to its XML data structures (that are used for I/O) when running on thousands of patches.
This commit specificly addresses the excessive use of memory when restarting a simulation. Before this commit,
Uintah would read in a timestep.xml file (from the checkpoints/t00000/) directory and create an huge DOM
structure in memory. (On 8K patches on Vulcan (BGQ - LLNL) memory per process would increase by 100% (by
20 MB per process on the advect sample problem). On 30K patches, memory use of 200 MB or more has been observed.)
To solve this problem, instead of reading the XML into memory, we parse it on the fly and extract the data we need,
but do not save it. Note, there are two parts of the timestep.xml file that cause the memory issue: the 1000s of
<Grid> and <DataItem> tags. Small XML nodes are not a problem, and thus we still use them for some things (for
example, the component section read from the timestep.xml file. A full DOM of this node is created (during the
streaming read of the rest of the file) and this node is passed down to the component as before.
A number of changes in this commit are cosmetic, dealing with white space and coding standards, and were made
while I was digging through the code to understand where the memory issue was and how to fix it. To better
see real changes in the code, I highly suggest that you use a diff that ignores generic white space changes,
such as:
svn diff --diff-cmd diff --extensions -w <file_name>
Note,asIgetolderInolongercanreadtextlikethis,soIamaddingspacesintothecodetomakeit easier to see. :)
M CCA/Components/SimulationController/AMRSimulationController.cc
- Number of levels in a Grid (grid->numLevels()) cannot be negative and thus should be an unsigned int... it is now.
- Costmetic: English sentences start with capital letters and end with punctuation... yeah yeah I know.
M CCA/Components/SimulationController/SimulationController.cc
- queryGrid: pass through a pointer, don't create a new copy.
- Unsigned int for grid level number.
- Cosmetic white space/coding standards/English updates. Fixed some strange indentation. Untabify.
M CCA/Components/Parent/Switcher.cc
- Unsigned int for grid level number.
- Cosmetic: Swatted some evil endl's. :) (Why write 8 more characters of code, when 2 will do? And makes it easier to add to strings later...)
M CCA/Components/LoadBalancers/ParticleLoadBalancer.cc
M CCA/Components/LoadBalancers/ParticleLoadBalancer.h
- Updates to consolidate code in load balancers... Still needs some direct attention as opposed to this
first pass while working on something else.
M CCA/Components/LoadBalancers/SingleProcessorLoadBalancer.h
- Add 'do-nothing' implementation of restartInitialize() to this class.
M CCA/Components/LoadBalancers/CostModelForecaster.cc
- Cosmetic: Untabbify, white space, {} around one line ifs, English.
M CCA/Components/LoadBalancers/DynamicLoadBalancer.h
M CCA/Components/LoadBalancers/DynamicLoadBalancer.cc
- Moved restartInitialize() (and a number of supporting class d_ variables) into LoadBalancerCommon.
- Cosmetic: Line up variables, untabbify, white space, {} around one line ifs, English.
M CCA/Components/LoadBalancers/ProfileDriver.cc
M CCA/Components/LoadBalancers/CostModeler.h
- grid->numLevels() is now unsigned updates.
- Coding standard cleanups / English / white space.
M CCA/Components/LoadBalancers/LoadBalancerCommon.cc
- Cosmetic: Alphabetize/sort #includes, line up variables, untabbify, white space, {} around one line ifs, English.
- Make global DebugStream variables be less global (made static to file).
- Unsigned int for grid level number.
- Move restartInitialize() from DynamicLoadBalancer and ParticleLoadBalancer (code was exact duplicate in both files) here.
M CCA/Components/Solvers/AMR/AMRSolver.cc
- Cosmetic: White space, line up variables, English.
- Unsigned int for grid level number.
M CCA/Components/DataArchiver/DataArchiver.cc
M CCA/Components/DataArchiver/DataArchiver.h
- Comment added for where next XML memory fix should take place.
- Cosmetic: Alphabetize/sort #includes, line up variables, untabbify, white space, {} around one line ifs, English.
M CCA/Ports/ProblemSpecInterface.h
M CCA/Components/ProblemSpecification/ProblemSpecReader.h
M CCA/Components/ProblemSpecification/ProblemSpecReader.cc
- Created new version of readInputFile() which takes a list of patches that are specific to this processor. However,
I don't think anyone (me?) is using it yet, and I'm actually not convinced that it is the right function to fix
(see comments in code). I'm committing it just in case it turns out that we need it as we fix the rest of the
XML memory bloat issues. However, at that point if it turns out not to be useful, it should be removed.
M CCA/Components/Schedulers/TaskGraph.h
M CCA/Components/Schedulers/TaskGraph.cc
- Add some consistency to the member variable naming in this file. Half the variables use d_, and the other half
have a trailing _, and the third half ;) didn't do either one... sigh. Some examples.
lb -> d_lb
dts_ -> d_dts
- A few cosmetic fixes - variable line up, white space, etc.
- Removed var/matl from lb->getOldProcessorAssignment()... need to verify that this is correct... see above.
M CCA/Components/Schedulers/OnDemandDataWarehouse.cc
- Removed unused parameters to lb->getOldProcessorAssignment(). However, the DynamicLoadBalancer still uses the
version with parameters (though it doesn't really need them either). It is unclear why getOldProcessorAssignment()
is not declared in LoadBalancerCommon common or several of the other Load Balancers, and also unclear which function
is actually being called. This is defined in the LoadBalancer.h in CCA/Ports/. This needs more investigation.
M CCA/Components/Schedulers/DetailedTasks.h
M CCA/Components/Schedulers/DetailedTasks.cc
- Almost all cosmetic, white space, untabbify, lining up vars, English, etc changes.
- Add trailing _ to numPendingInternalDependencies to denote member var.
M CCA/Components/Schedulers/MPIScheduler.cc
- Few cosmetic cleanups.
M CCA/Components/Schedulers/SchedulerCommon.cc
M StandAlone/tools/pfs/rawToUniqueGrains.cc
M StandAlone/tools/puda/PIC.cc
M StandAlone/tools/extractors/extractV.cc
M StandAlone/tools/extractors/extractF.cc
M StandAlone/tools/extractors/partextract.cc
M StandAlone/partvarRange.cc
M StandAlone/tools/puda/jim1.cc
M StandAlone/tools/puda/jim3.cc
M StandAlone/tools/puda/varsummary.cc
M StandAlone/tools/puda/puda.cc
M StandAlone/tools/puda/POL.cc
M StandAlone/slb.cc
- Cosmetic white space fixes.
- numLevels() casts to avoid warnings.
M CCA/Components/Arches/Radiation/RadHypreSolver.cc
- Few cosmetic changes.
M CCA/Components/Regridder/RegridderCommon.cc
M CCA/Components/Regridder/SingleLevelRegridder.cc
M CCA/Components/Regridder/TiledRegridder.cc
- Cosmetic white space fixes.
- numLevels() casts to avoid warnings.
M CCA/Ports/Output.h
- Use const vars when possible.
- White space, English.
M CCA/Ports/LoadBalancer.h
- Cosmetic: Alphabetize/sort #includes, line up variables, untabbify, white space, {} around one line ifs, English.
M Core/OS/Dir.h
M Core/OS/Dir.cc
M Core/OS/Dir_boost.cc
- Use 'const' when variables don't change.
- Cosmetic: line up variables, untabbify, white space, {} around one line ifs, English.
- Don't use "std::" in half the file and not in the other half.
M Core/Grid/Patch.h
M Core/Grid/Patch.cc
- Cosmetic: Line up variables, untabbify, white space, {} around one line ifs, English.
M Core/Grid/Grid.h
M Core/Grid/Grid.cc
- Added readLevelsFromFile(), parseLevelFromFile(), and parseGridFromFile() to parse XML without creating a full DOM.
This provides a 50% memory decrease (per process) on Vulcan (LLNL-BGQ) for 8K processors when restarting the
advect problem. At some point in the future it might be nice to replace my (brute force - straightfoward -
assumes that the input xml file is very well behaved) approach with the streaming reader functions from the
lib xml library. This is not done at this point as it is unclear how well that library will fit into our use
case, how much time it will take to convert to, and the fact that we want to get this pushed out to the users asap.
- Cosmetic: Line up variables, untabbify, white space, {} around one line ifs, English, coding standards.
- numLevels is now an unsigned int.
M Core/Grid/Task.cc
- Cosmetic: Alphabetize/sort #includes, line up variables, untabbify, white space, {} around one line ifs, English.
M Core/Grid/SimulationState.h
M Core/Grid/SimulationState.cc
- Cosmetic: Alphabetize/sort #includes.
M Core/Grid/Level.h
M Core/Grid/Level.cc
- Returned patch from addPatch() is not used anywhere so remove the return type.
- Cosmetic: line up variables, untabbify, white space, {} around one line ifs, English.
M Core/Geometry/Vector.h
M Core/Geometry/Vector.cc
- Added the fromString() function.
- Cosmetic: Alphabetize/sort #includes.
M Core/Geometry/IntVector.h
M Core/Geometry/IntVector.cc
- Added the fromString() function.
M Core/Containers/HashTable.h
- Moved the call to first() into the constructor... Not quite sure what the reason for this is,
but everywhere a HashTable is created, "first()" is immediately called, so it makes sense
to just do it in once place instead of having to do it each time it is used.
D Core/Containers/StringUtil.cc
D Core/Containers/StringUtil.h
A + Core/Util/StringUtil.h
A + Core/Util/StringUtil.cc
M Core/Grid/SimulationTime.cc
M Core/Tracker/TrackerServer.cc
M Core/Persistent/Pstreams.cc
M Core/Persistent/Persistent.cc
M Core/Util/FileUtils.cc
- Moved StringUtil.* to Core/Util/ to all its use in other locations (higher up the build tree).
M Core/Containers/sub.mk
- Untabbify.
M Core/DataArchive/DataArchive.h
M Core/DataArchive/DataArchive.cc
- Rename variables so they are readable, eg: d_tsurl becomes d_ts_path_and_filename, d_tstimes becomes d_ts_times, etc.
- Change a few more functions to parse xml file data on the fly (instead of parsing DOMs), eg: queryEndiannessAndBits()
- Use NULL instead of 0.
- Pass strings as 'const &' instead of copying them every time.
- Cosmetic: Alphabetize/sort #includes, line up variables, untabbify, white space, {} around one line ifs, English.
M Core/ProblemSpec/ProblemSpec.h
M Core/ProblemSpec/ProblemSpec.cc
- Added constructor to take in a string buffer to create a new DOM from. (Use: stream parse an xml file and put the
needed pieces into a string, then turn only that information into a DOM.)
- Added routines to help in the stream parsing of an XML file: findBlock()
- checkForInputError() replaced.
- parseIntVector replaced with fromString() in respective files.
M Core/Util/DynamicLoader.cc
- Alphabetize #includes.
M Core/Util/sub.mk
- Alphabetize
A Core/Util/XMLUtils.h
A Core/Util/XMLUtils.cc
- Added new helper functions for parsing xml files on the fly.
M StandAlone/compare_uda.cc
- Cosmetic: Alphabetize/sort #includes, line up variables, untabbify, white space, {} around one line ifs, English.
- numLevels() is unsigned now.
- Bulletproofing - verify input args are actually directories.
M StandAlone/restart_merger.cc
- Minor cosmetic fixes.
M StandAlone/sus.cc
- Bulletproofing - catch case when user accidentally runs sus with a UDA and not a UPS.
127 lines of code changed in 5 files:
DataArchive: Added
// Does a variable exist on a patch at this timestep?
bool exists( const std::string& varname,
const Patch* patch,
const int timeStep );
compare_uda:
- Added bulletproofing to catch if a variable doesn't exist in both udas
on a timestep. This plugs a hole/bug that existed when
<outputInitTimestep>
was set and the variables saved in the udas differed during t0000.
27 lines of code changed in 1 file:
M Makefile.in
The Mac is a little temperamental with the SVN info command... this fixes it.
M StandAlone/sub.mk
Removed tabs from incorrect locations.
3 lines of code changed in 2 files:
Two main fixes: Checkpointing (parsing of UPS file) fixed. Outputting
of correct SVN revision number for sus runs.
M Makefile.in
A + include/svn_info.h.template
D include/svn_info.h
Place accurate SVN information in svn_info.h each time 'make' is run.
This uses the 'svn info' command and populates the svn_info.h file
(bin/include/) using the svn_info.h.template file (src/include/).
M StandAlone/sub.mk
- sus.o depends on the svn_info.h file being created.
M CCA/Components/DataArchiver/DataArchiver.cc
- Fix checkpointing. Now both walltimeInterval and walltimeIntervalHours work.
- Updated the checkpointing code to try to open the checkpoint file
multiple times if the 'open' system call fails. This issues was
seen (at least) once on vulcan@llnl (bgq machine), and probably
occurred due to a file system glitch. It is likely that this 'fix'
will never be utilized, but it is there just in case.
2 lines of code changed in 1 file:
M configure
M configure.ac
- Give a more informative message (ie, which check is being called) when
checking for the fortran compiler.
- Remove the trailing / (if any) from boost include. This allows us to
remove /usr/include (or /usr/include/) if it is specified, as these
are compiler defaults and should not be used in a -I flag.
M StandAlone/sus.cc
- Remove duplicate "extern Mutex cerrLock;" statement.
0 lines of code changed in 1 file:
Remove REDSTORM artifacts.
0 lines of code changed in 3 files:
A number of clean ups for Vulcan (LLNL - BGQ machine). Most
importantly, fixed memory usage reporting (see ProcessInfo.cc).
M CCA/Components/SimulationController/AMRSimulationController.h
M CCA/Components/SimulationController/AMRSimulationController.cc
- Added white space, removed tabs, line up params, etc.
M CCA/Components/SimulationController/SimulationController.cc
- Moved toHumanUnits() to ProcessInfo so it can be used by others.
- Line up variables, add white space.
- Consistent (correct) capitalization/punctuation of some comments.
M CCA/Components/LoadBalancers/SingleProcessorLoadBalancer.h
M CCA/Components/LoadBalancers/SingleProcessorLoadBalancer.cc
- inNeighborhood() did not have the same declaration as its parent
(superclass)... removed "const MaterialSubset*" to fix this... not
sure how this worked before.
- White space.
M CCA/Components/LoadBalancers/LoadBalancerCommon.h
- Add "d_" to several class variables to be consistent and conform to coding standard.
- Removed extra (unnecessary) level of indentation.
- White space, line up variables.
M CCA/Components/LoadBalancers/LoadBalancerCommon.cc
- Add "d_" to several class variables to be consistent and conform to coding standard.
- White space.
M CCA/Components/Schedulers/OnDemandDataWarehouse.cc
- Alphabetize #includes to more easily determine what is included.
- White space, line up variables.
M CCA/Components/Schedulers/UnifiedScheduler.cc
- Minor white space, coding standard update.
M CCA/Components/Schedulers/MPIScheduler.cc
- Minor white space fix.
M CCA/Components/Schedulers/SchedulerCommon.cc
- ProcessInfo GetMemoryResident() renamed with lowercase 'g' to match coding standard.
- Added processor rank to commented out memory usage print statement.
M CCA/Components/Arches/Radiation/RadPropertyCalculator.h
- Alphabetize #includes, remove superfluous ;s, remove tabs, line up functions/variables.
M Core/OS/ProcessInfo.h
M Core/OS/ProcessInfo.cc
- Fixed (added) BGQ memory usage querying code. Previously, it was
calling the generic linux version, and trying to open
/proc/<pid>/status to get memory info. On BGQ machines, this file
does not exist (except on the I/O node - where, while it exists,
it does not have valid information in it). In the generic linux
version, if the file fails to open, then an error is NOT thrown,
and 0 is returned... most likely we should fix this so that it
throws an error...
Note, the code for using the "mallinfo" (for BGQ) version of memory
checking was also added to this file, but is commented out and not
used because it uses an integer as the return variable and thus
does not correctly handle systems with more than 2 GB of memory.
- Coding standard updates.
- Moved toHumanUnits() here.
- Use lowercase letter for first letter in function names to be consistent and follow standard.
M Core/Parallel/Parallel.cc
M Core/Thread/Thread_pthreads.cc
- Minor white space, capitalization/punctuation.
M StandAlone/sub.mk
- For static builds, need Wasatch 3P libs to link.
M StandAlone/sus.cc
- Alphabetize #includes.
15 lines of code changed in 2 files:
All variables that do not change and member functions that do not
change class data should be made const. In this checkin, a number of
things passed into the Schedulers can be made const (the 'output' port
variable is the main one here).
Made a number of minor cleanups including whitespace, tab removal,
coding standard, etc.
M CCA/Components/DataArchiver/DataArchiver.h
- Clean up layout of functions.
- Make const all functions that don't chance the class' data.
- Remove superfluous ;s.
M CCA/Components/DataArchiver/DataArchiver.cc
- Add const to functions updated in .h file.
- Minor coding standard, white space, readability cleanups.
M CCA/Components/ReduceUda/UdaReducer.h
M CCA/Components/ReduceUda/UdaReducer.cc
- Line up variables for better readability.
- Pass strings as 'const &', instead of copying them.
M CCA/Components/Schedulers/SchedulerFactory.h
M CCA/Components/Schedulers/SchedulerFactory.cc
M CCA/Components/Schedulers/DynamicMPIScheduler.h
M CCA/Components/Schedulers/DynamicMPIScheduler.cc
M CCA/Components/Schedulers/SingleProcessorScheduler.h
M CCA/Components/Schedulers/SingleProcessorScheduler.cc
M CCA/Components/Schedulers/UnifiedScheduler.h
M CCA/Components/Schedulers/UnifiedScheduler.cc
M CCA/Components/Schedulers/MPIScheduler.h
M CCA/Components/Schedulers/MPIScheduler.cc
M CCA/Components/Schedulers/MessageLog.h
M CCA/Components/Schedulers/MessageLog.cc
M CCA/Components/Schedulers/SchedulerCommon.h
M CCA/Components/Schedulers/SchedulerCommon.cc
- Pass 'Output' port variable as const as it is not used to change the output.
- Line up variables for better readability, add some white space, remove spurious tabs.
M CCA/Ports/Output.h
- Add 'const' to all functions that don't change the class' data.
- White space / Readability
M StandAlone/sus.cc
- Clarify MAX_THREADS error message.
- It is unclear to me how the specification of number of threads and
<scheduler> work together... ie which one gets precedence. When I
figure it out, I will fix this further.
5 lines of code changed in 1 file:
Unfortunately order of libraries is important for static builds... this should fix the linking problem on Vulcan and anywhere else building statically.
1 lines of code changed in 1 file:
* Clean up a slew of warnings in Schedulers and Tests.
* Humble beginnings of some infrastructure cleanup and documentation, starting with sus.cc
183 lines of code changed in 3 files:
Use shorter list of libs
2 lines of code changed in 1 file:
Fixes for the CUDA linking for non-static builds. For CUDA builds, we
need to link in all libraries for executables (eg: sus, test programs,
etc) because Core_Util has CUDA in it and thus the extra dlink object
file must be linked against anything that uses Core/Util, but the
dlink file also has code from many other libraries (they all have to link
together to get the full dlink file). It might be possible to
separate all the CUDA linking out, but at least for now this will work.
Created ALL_STATIC_PSE_LIBS and ALL_PSE_LIBS variables in Makefile.in
that can be used to link executables.
Placed a list of all cuda files (.o version) in the variable
DLINK_FILES (it is added to in each sub.mk). Then, once all libraries
are built, this list of files is linked with -dlink (previously was
just linking all the archive (.a) files together, but nvcc won't let
you do this with shared (.so) libs.
Updated a number of sub.mk files to specify the complete list of libs
necessary to link and added in the CUDA_LIBRARY.
Alphabetized and removed duplicates in a lot of sub.mk files.
M CCA/Components/Models/ModelFactory.cc
- Don't use the RadiationDriver if radation was not turned on.
M Makefile.in
M CCA/Components/Models/Radiation/RMCRT/sub.mk
M CCA/Components/Models/Radiation/sub.mk
M CCA/Components/MPM/sub.mk
M CCA/Components/Wasatch/Transport/sub.mk
M CCA/Components/Wasatch/sub.mk
M CCA/Components/Wasatch/Expressions/sub.mk
M CCA/Components/Wasatch/Expressions/Turbulence/sub.mk
M CCA/Components/Wasatch/Operators/sub.mk
M CCA/Components/sub.mk
M CCA/Components/Schedulers/sub.mk
M CCA/Components/Arches/sub.mk
M CCA/Components/Examples/sub.mk
M Core/Util/sub.mk
M StandAlone/sub.mk
M StandAlone/tools/mpi_test/sub.mk
M StandAlone/tools/pfs/sub.mk
M StandAlone/tools/fsspeed/sub.mk
M StandAlone/tools/puda/sub.mk
M StandAlone/tools/tracker/sub.mk
M StandAlone/tools/dumpfields/sub.mk
M StandAlone/tools/graphview/sub.mk
M StandAlone/tools/extractors/sub.mk
M StandAlone/tools/sub.mk
M StandAlone/tools/compare_mms/sub.mk
M StandAlone/Benchmarks/sub.mk
M testprograms/CubeRootTest/sub.mk
M testprograms/TestFastMatrix/sub.mk
M testprograms/RegionTest/sub.mk
M testprograms/TestMatrix3/sub.mk
M testprograms/IteratorTest/sub.mk
M testprograms/Regridders/sub.mk
M testprograms/sub.mk
M testprograms/PatchBVH/sub.mk
M testprograms/Malloc/sub.mk
M testprograms/Thread/sub.mk
M testprograms/BNRRegridder/sub.mk
3 lines of code changed in 1 file:
Fix for static build when GPU (NVCC) is turned on. If you have
external device specific functions in .cu files, then you need to link
them with the -dc (in addition to the -c) flag. Then you have to link
all of these files together in a separate step using the nvcc
compiler's -dlink flag. This update removes the compilation of .cu
files in multiple other files (which thus created multiple definitions
of the same symbols).
I've created a new faux library lib/libgpu_extra_link.a that holds the
output from the -dlink command, and this is linked into sus.
M configVars.mk.in
- Added "-dc" to the nvcc link line.
M Makefile.in
- Build lib/libgpu_extra_link.a if Static and CUDA.
M StandAlone/sub.mk
- Sus now depends on lib/libgpu_extra_link.a (if Static/CUDA).
M include/sci_defs/cuda_testdefs.h.in
- Cosmetic fixes: cleaned up indentation and a few comments.
M CCA/Components/Models/Radiation/RMCRT/RayGPUKernel.cu
- No longer include the .cu files, just include the .h file.
M CCA/Components/Solvers/sub.mk
- Cosmetic fixes: Alphabetize, remove duplicate libs, consolidate if's.
M CCA/Components/Schedulers/GPUDataWarehouse.h
- Cosmetic fixes, clean up spacing, make easier to read.
- Remove unnecessary ;'s after constructor/destructor.
M CCA/Components/Schedulers/UnifiedScheduler.cc
- Indent.
- Group common variables.
M CCA/Components/Arches/sub.mk
- Cosmetic fixes: Cleanup, Indentation, consolidate if's.
M Core/Util/GPU.h
- Fix namespace: uintah -> Uintah
- isThread0_Blk0() is an external function, declare it as such.
M Core/Util/GPU.cu
- Fix namespace: uintah -> Uintah
- Fix function specification layout.
2 lines of code changed in 1 file:
IO depends on Exceptions now, so for static builds IO must be listed before Exceptions.
1 lines of code changed in 1 file:
The following commits are mostly cosmetic in nature and should not
change any answers.
Lots of white space and indentation fixes. It is so much easier to
read code when variables are lined up, and values assigned to them
are also lined up.
M CCA/Components/Parent/Switcher.cc
- Variable "no_solver_specified" was misleading. It meant "no command
line solver specified". However, this is the default case and thus
this variable is not needed.
M CCA/Components/Wasatch/Expressions/EmbeddedGeometry/EmbeddedGeometryHelper.h
- InvalidState exception moved to Uintah namespace.
M CCA/Components/Solvers/AMR/AMRSolver.h
- Parent scheduleInitialize() is purely virtual so must be implemented
in each solver. This allows the user to more easily see whether the
scheduleInitialize() step actually does anything or not.
M CCA/Components/Solvers/HypreSolver.cc
- 'firstPassThrough_' is a class variable so needs the '_' suffix to
meet coding standard.
M CCA/Components/Solvers/SolverFactory.cc
M CCA/Components/Solvers/DirectSolve.cc
M CCA/Components/Solvers/HypreSolver.h
M CCA/Components/Solvers/SolverFactory.h
M CCA/Components/Solvers/DirectSolve.h
M CCA/Components/Solvers/CGSolver.h
- Indentation.
- Added (empty) scheduleInitialize() to Solvers that
require it to be implemented but do not actually use it.
M CCA/Ports/SolverInterface.h
- Moved destructor/constructor empty implementations into .h file for
easier viewing.
- Indentation / white space.
M CCA/Ports/SolverInterface.cc
- This file is empty now so should most likely be removed soon.
M CCA/Components/Arches/ChemMix/ClassicTableInterface.cc
- Throw exception if gzipInflate fails (previously it tried to just
kept going and the error was thus hard to find).
M CCA/Ports/sub.mk
- Don't need to compile empty file SolverInterface.cc now.
M Core/Exceptions/ErrnoException.h
M Core/Exceptions/ErrnoException.cc
- Change var name from errno_ to err_ as it might be easy to confuse "errno_" with "errno".
M Core/Exceptions/sub.mk
- Alphabetize list of libraries.
M Core/Exceptions/InvalidValue.cc
- Don't need superfluous "using std::cout".
M Core/Exceptions/InvalidState.cc
M Core/Exceptions/InvalidState.h
- Moved from SCIRun namespace to Uintah for two reasons:
1) SCIRun namespace will eventually go away.
2) InvalidState exception is already in Uintah namespace and these should be consistent.
M Core/IO/sub.mk
- IO now relies on Exception as the UintahZlibUtil now throws an exception if an error occurs.
M Core/IO/UintahZlibUtil.h
- White space / indentation.
- Add comment about what gzipInflate returns.
M Core/IO/UintahZlibUtil.cc
- Throw an exception when an error occurs instead of just return 0, as
the 0 is never checked and causes debugging to be more difficult.
M StandAlone/sus.cc
- Indent / white space.
- Print out which solver is being used.
22 lines of code changed in 1 file:
Excise last bits of Windows support from:
* src/Teem
* src/Visit
* src/StandAlone
0 lines of code changed in 2 files:
Excise Windows support in Core/Thread and sus.cc
Some formattig and { }
1 lines of code changed in 1 file:
Updates to allow for a (almost) clean configure/build on LLNL's BGQ Vulcan machine.
M configure.ac
M configure
- Various cleanups.
- Added --with-essl so you have to explicitly ask for it (previously configure
tried to find it for you on certain machines).
- Removed stray 'echo'.
- Added test to determine if we are running on a BGQ machine.
- Don't use 'type' to find an executable, use 'which' instead.
'type' doesn't always behave the way one would expect.
- Allow for using the mpigcc compiler directly.
- Fix the specification of FORTRAN_UNDERSCORE for xlf.
- Use a .d for depend files on BGQ machines.
- If compiling on a BGQ, then use -lmass instead of -lm for the math library.
- Removed test for PNG (we don't need/use/support it anymore).
PNG was need for NRRD support at one point.
- Removed test for MPEG (Fairly sure this was only needed for SCIRun).
- Allow for --with-mpi=built-in (Ie, using mpigcc compilers)
We originally didn't like using mpiCC compilers as they never quite
worked with configure. However, it appears that a lot of work as been
done over the years making them work better. Also, at LLNL, there are
so many paths that are needed (and separate libraries) for MPI support
that it is just easier to allow the mpigcc compiler to provide them.
- Update the --with-mpi check to loop over possible libraries instead of
having to hard code every possible test in a separate SCI_TRY_LINK.
- Fix --with-petsc so that if you give it an invalid dir, it let's you know.
- Add magic PETSc compiler flags for BGQ as we are using the gcc compiler
but PETSc was compiled with xlc...
M configVars.mk.in
- Add IS_BGQ flag.
- Remove PNG and MPEG references.
- Hack: Add in PETSc flags for xlc petsc use with gcc.
- Make a few HAVE_lib/lib_INCLUDE/lib_LIBRARY sections be laid out consistently.
- Don't put @flag@ in the INCLUDES variable... make a stand-alone var for them
and use them the way all the other vars are used.
- Move the specification of the CORE_STATIC_LIBS to after the specification of
the F_LIBRARY (fortran library) as they need to reference it.
M aclocal.m4
- Renamed 'debugging' flag to 'verbose'.
- Remove RPATH from the link line when linking statically.
M Makefile.in
- Make 'cleanreally' remove all libs (lib/*.so lib/*.a lib/*.dylib) in
addition to all .o files.
M build_scripts/so_epilogue.mk
- No real changes, just indentation so it is readable...
M StandAlone/sub.mk
- Remove unwanted tabs, add whitespace to make more readable.
M StandAlone/tools/puda/sub.mk
- Add Core/Datatypes to the list of required static libs for linking.
M include/sci_defs/error_testdefs.h.in
- Added in a #if check that allows an individual file to override
the SCI_ASSERTION_LEVEL. This is required (at least for now)
because on Vulcan (BGQ), if assertions are off, then the Datatypes.cc
file causes a run time segfault (in both debug and optimized
builds). However, if assertions are turned on for this one file,
then it runs correctly. Still need to dig into what is going on...
M CCA/Components/Models/Radiation/sub.mk
- Needed INCLUDE flags should be specified for each library.
M CCA/Components/MPM/ConstitutiveModel/fortran/sub.mk
- Some of the fortran flags that are hard coded for this library
are not valid on the BGQ machine.
M CCA/Components/MPMArches/fortran/param4.h
M CCA/Components/Models/Radiation/fortran/m_param4.h
M CCA/Components/Arches/fortran/param4.h
- Remove C style comments as they don't compile using xlf on Vulcan.
M CCA/Components/MPM/ConstitutiveModel/fortran/MIGUtils.cc
- Add some magic macro hackiness to fix symbol names (dealing with
fortran underscores) instead of hard coding them.
M CCA/Components/DataArchiver/DataArchiver.cc
- Fix spacing/whitespace issues.
- Check for BGQ and if so, don't use fdatasync() as it is not implemented.
M Core/OS/Dir_boost.cc
- Newest ? boost uses boost:filesystem3, so we need to check and use the
correct namespace.
M Core/Math/sci_lapack.cc
- Add some magic macro hackiness to fix symbol names (dealing with
fortran underscores) instead of hard coding them.
- Add warning messages if lapacksvd is called but the code path is
not implemented...
M Core/Datatypes/Matrix.h
M Core/Datatypes/SearchGrid.h
M Core/Datatypes/Datatype.h
M Core/Datatypes/Color.h
M Core/Datatypes/TypeName.h
M Core/Datatypes/NrrdData.h
M Core/Datatypes/String.h
M Core/Datatypes/MatrixOperations.h
M Core/Datatypes/DenseColMajMatrix.h
M Core/Datatypes/SparseRowMatrix.h
M Core/Datatypes/PropertyManager.h
M Core/Datatypes/DenseMatrix.cc
M Core/Datatypes/Image.h
M Core/Datatypes/ColumnMatrix.h
M Core/Datatypes/DenseMatrix.h
- share.h has been removed (Windows dll thing)... Therefore remove
(now) meaningly SCISHARE.
M Core/Malloc/malloc.cc
- If DISABLE_SCI_MALLOC is not defined, then we should not be prototyping
malloc(), free(), etc.
9 lines of code changed in 1 file:
fix typo in an error message in compare_uda
1 lines of code changed in 1 file:
House cleaning. Removed dependency on libpng.
2 lines of code changed in 2 files:
More housekeeping
renamed directory PatchComber -> ReduceUda
2 lines of code changed in 2 files:
Overall
Cleaning out combined_patches, reuse combinePatchSetup() & more heavy construction on reduceUda, details below.
sus.cc
- removed combine_patch option and related code.
- renamed doCombinePatches() -> setReduceUdaFlags()
Output.h
- alphabetize includes
- renamed doCombinePatches() -> setReduceUdaFlags()
SimulationController.h
- renamed doCombinePatches() -> setReduceUdaFlags()
- removed d_combinedPatches variable
SimulationController.cc
- renamed doCombinePatches() -> setReduceUdaFlags()
- remove d_combinedPatches variable
- cleaned up schizophrenic indentation
- using proc0cout instead of cout with conditional wrappers
- pulled reduceUda code from preGridSetup()
AMRSimulationController.cc
- removed d_combinePatches variable
- added d_timeinfo code from SimulationController to reduceUda conditional block
UdaReducer.cc/.h
- removed piles of code that failed for various reasons.
DataArchiver.h
- renamed doCombinePatches() -> setReduceUdaFlags()
DataArchiver.cc
-- renamed doCombinePatches() -> setReduceUdaFlags()
- cleaned up debugstream output so you can follow it.
- minor reformatting
- reduceUdaSetup()
- the entire checkpoints directory is now being copied to the new uda.
12 lines of code changed in 1 file:
Updated copyright information.
9 lines of code changed in 9 files: