Directory CCA/Components/Wasatch/

Total Files:
40
Deleted Files:
0
Lines of Code:
11571

[root]/CCA/Components/Wasatch
                directory in repo Coal (14 files, 1057 lines)
                    directory in repo CharOxidation (12 files, 601 lines)
                        directory in repo CCK (20 files, 1453 lines)
                        directory in repo FirstOrderArrhenius (6 files, 156 lines)
                        directory in repo LangmuirHinshelwood (8 files, 304 lines)
                    directory in repo Devolatilization (5 files, 480 lines)
                        directory in repo CPD (17 files, 658 lines)
                        directory in repo KobayashiSarofim (6 files, 113 lines)
                            directory in repo doc (1 files, 444 lines)
                        directory in repo SingleRate (6 files, 110 lines)
                    directory in repo VaporizationBoiling (4 files, 225 lines)
                directory in repo Expressions (62 files, 12597 lines)
                    directory in repo BoundaryConditions (13 files, 2749 lines)
                    directory in repo EmbeddedGeometry (7 files, 913 lines)
                    directory in repo MMS (4 files, 1906 lines)
                    directory in repo PBE (11 files, 1909 lines)
                        directory in repo Precipitation (15 files, 2220 lines)
                    directory in repo Particles (11 files, 1588 lines)
                    directory in repo PostProcessing (13 files, 1716 lines)
                    directory in repo TarAndSoot (9 files, 770 lines)
                    directory in repo Turbulence (15 files, 2325 lines)
                directory in repo Operators (10 files, 1483 lines)
                directory in repo Transport (59 files, 9612 lines)
                Folder removed from repo transport (0 files, 0 lines)

Lines of Code

CCA/Components/Wasatch/ Lines of Code

Developers

Author Changes Lines of Code Lines per Change
Totals 200 (100.0%) 2269 (100.0%) 11.3
tsaad 68 (34.0%) 1832 (80.7%) 26.9
jsutherland 34 (17.0%) 203 (8.9%) 5.9
jas 67 (33.5%) 61 (2.7%) 0.9
dav 10 (5.0%) 58 (2.6%) 5.8
mcconnell 2 (1.0%) 52 (2.3%) 26.0
ahumphrey 12 (6.0%) 34 (1.5%) 2.8
allen 4 (2.0%) 18 (0.8%) 4.5
bpeterson 3 (1.5%) 11 (0.5%) 3.6

Most Recent Commits

tsaad 2016-12-12 11:10 Rev.: 56099

put debug stream in header file

0 lines of code changed in 4 files:

  • CCA/Components/Wasatch: BCHelper.cc (new), BCHelper.h (changed)
tsaad 2016-12-12 10:57 Rev.: 56098

remove a few cout statements

0 lines of code changed in 2 files:

  • CCA/Components/Wasatch: WasatchBCHelper.cc (new)
tsaad 2016-12-08 12:48 Rev.: 56081

Add support for compressible Navier-Stokes Boundary Conditions (NSCBC) for the compressible algorithm.
This commit introduces several changes across wasatch:
1. Support for non reflecting boundaries, Hard Inlets, and Walls. We don't have a case working with Inlets yet.
2. Start migration towards a new BC specification method. This new approach requires a bit more programming, but removes ambiguity from stencil operations at the boundary as well as which mask points are to be used.
3. Use the speed sound in the calculation of the stable timestep when the compressible algorithm is switched on
4. Add regression tests for the NSCBCs
5. Various other changes that are to small to cite.
NOTE: The NSCBCs DO NOT work in parallel because of different dependencies on different patches. This will be addressed in future commits.
This commit will break the RT.

546 lines of code changed in 13 files:

  • CCA/Components/Wasatch: BCHelper.cc (+65 -13), BCHelper.h (+24 -3), TagNames.cc (+12 -1), TagNames.h (new), Wasatch.cc (new), WasatchBCHelper.cc (+319 -10), WasatchBCHelper.h (+115 -5), sub.mk (+3 -2)
jsutherland 2016-12-07 16:21 Rev.: 56075

- More warning cleanup
- minor formatting changes

40 lines of code changed in 1 file:

  • CCA/Components/Wasatch: Wasatch.cc (+40 -47)
jsutherland 2016-12-07 07:58 Rev.: 56068

Clean up a few compiler warnings

3 lines of code changed in 4 files:

  • CCA/Components/Wasatch: ParticlesHelper.cc (+1 -1), TagNames.cc (+2 -2), TagNames.h (-1)
jsutherland 2016-12-07 07:49 Rev.: 56067

Clean up a few compiler warnings

11 lines of code changed in 6 files:

  • CCA/Components/Wasatch: TagNames.cc (+2 -2), TaskInterface.cc (+1 -1), TimeStepper.cc (+5 -5), Wasatch.cc (+3 -7)
jsutherland 2016-12-06 18:00 Rev.: 56060

Commit on behalf of Josh McConnell.
Adds tar and soot transport equations, along with appropriate coupling to coal models.

25 lines of code changed in 3 files:

  • CCA/Components/Wasatch: TagNames.cc (+9), TagNames.h (+6), Wasatch.cc (+10 -1)
jsutherland 2016-10-05 09:15 Rev.: 55839

Enable GPU calculation with RadProps (in Wasatch).
Changes to RadProps consistent with API changes made in conjunction with this commit.

1 lines of code changed in 2 files:

  • CCA/Components/Wasatch: Properties.cc (+1 -1)
dav 2016-09-19 17:47 Rev.: 55766

The main changes in this commit only effect a simulation when <outputNthProc> is
set (> 1) in the .ups file.

This commit allows for PIDX output on every process for a time step
output, while using every Nth process (if so specified) for UDA
checkpoint output. Eventually the need for this Nth Proc changing
hack (and Nth proc output itself) should go away when PIDX fully takes
over I/O.

Note, when using "Nth Process Output", both a checkpoint and a time step save
CANNOT occur on the same time step. Therefore the time step output is postponed
for one time step.

On a slightly different note, we use the term proc badly... we should use process,
or perhaps better yet, rank... as proc is usually taken to mean "processor", but
in MPI's case, means process - and the term MPI uses for process is rank.

D CCA/Ports/LoadBalancer.cc
D CCA/Ports/LoadBalancer.h
A + CCA/Ports/LoadBalancerPort.cc
A + CCA/Ports/LoadBalancerPort.h

- Renamed from LoadBalancer to LoadBalancerPort to avoid confusion with the LoadBalancer itself.
- Added "setNthProc()" so that the SimulationController can change the value as needed.

M CCA/Components/DataArchiver/DataArchiver.h
M CCA/Components/DataArchiver/DataArchiver.cc

- Added postponeNextOutputTimestep(). This pushes off the output of a time step by one
time step. (This occurs if using Nth Process Output and a checkpoint and a time step
where to occur on the same time step.)
- Added savingAsPIDX() boolean query function so that the SimulationController
can avoid doing all of this hack when we are not using PIDX.
- Removed "getCurrentTimestep()" and "getCurrentTime()", as, per the documentation on them,
they should not be used anyway; you should get this info from the shared state. Note,
the DataArchiver name (getCurrentTime()) is different from the shared state name
(getElapsedTime()) which was also confusing.
- Pass const string parameters by reference.
- White space cleanup / alignments.

- If the input file has no <save> labels, but specifies an output interval, throw an exception.
- If the 'logname' is not available when running a simulation, put 'unknown' instead of ignoring.
Should probably find a better fix then 'unknown', but that will have to wait for another day.
- Swat some evil endls. :)
- Don't calculate 'currsecs' on every process, just on rank 0.
- Removed all calls to usingMPI() as Alan deprecated it in a recent commit.
- procOnLevel is (I hope) a boolean array... so declare and use it as such.
- Don't name a variable with a single letter. n -> var_cnt

- Did I mention white space cleanups... Please for the sake of older eyes...

M CCA/Components/ICE/ICE.cc
M CCA/Components/Models/FluidsBased/AdiabaticTable.cc
M CCA/Components/Models/FluidsBased/NonAdiabaticTable.cc
M CCA/Components/Models/FluidsBased/NonAdiabaticTable.h
M CCA/Components/Models/FluidsBased/SimpleRxn.cc
M CCA/Components/Models/FluidsBased/SimpleRxn.h
M CCA/Components/Models/Radiation/RMCRT/Radiometer.cc
M CCA/Components/OnTheFlyAnalysis/MinMax.cc
M CCA/Components/OnTheFlyAnalysis/1stLawThermo.cc
M CCA/Components/OnTheFlyAnalysis/containerExtract.cc
M CCA/Components/OnTheFlyAnalysis/lineExtract.cc
M CCA/Components/OnTheFlyAnalysis/momentumAnalysis.cc
M CCA/Components/OnTheFlyAnalysis/particleExtract.cc
M CCA/Components/OnTheFlyAnalysis/planeExtract.cc
M CCA/Components/OnTheFlyAnalysis/statistics.cc

- Use shared state getElapsedTime()
- Naming conventions: sharedState -> d_sharedState (to match other class vars in file).
- White space / alignments / etc.

M CCA/Components/LoadBalancers/CostProfiler.cc

- White space separation of #includes between CCA and Core

M CCA/Components/Arches/PressureSolverV2.cc
M CCA/Components/Arches/Radiation/RadPetscSolver.cc
M CCA/Components/Examples/Poisson2.cc
M CCA/Components/Examples/DOSweep.cc
M CCA/Components/Examples/RMCRT_Test.cc
M CCA/Components/Examples/RegridderTest.cc
M CCA/Components/Examples/SolverTest1.cc
M CCA/Components/FVM/ElectrostaticSolve.cc
M CCA/Components/ICE/impAMRICE.cc
M CCA/Components/ICE/impICE.cc
M CCA/Components/LoadBalancers/CostProfiler.h
M CCA/Components/LoadBalancers/DynamicLoadBalancer.cc
M CCA/Components/LoadBalancers/ParticleLoadBalancer.cc
M CCA/Components/MPM/AMRMPM.cc
M CCA/Components/MPM/ImpMPM.cc
M CCA/Components/MPM/SerialMPM.cc
M CCA/Components/Parent/Switcher.cc
M CCA/Components/ReduceUda/UdaReducer.h
M CCA/Components/ReduceUda/UdaReducer.cc
M CCA/Components/Regridder/RegridderCommon.h
M CCA/Components/Regridder/RegridderCommon.cc
M CCA/Components/Regridder/SingleLevelRegridder.cc

- LoadBalancer -> LoadBalancerPort
- White space cleanup / alignments.

M CCA/Components/LoadBalancers/LoadBalancerCommon.h
M CCA/Components/LoadBalancers/LoadBalancerCommon.cc

- LoadBalancer -> LoadBalancerPort.
- Add setNthRank().
- getOutputProc() -> getOutputRank().
- Whitespace / alignment.
- Fix comment to indicate getOutputProc is returning an MPI rank.

M CCA/Components/LoadBalancers/ProfileDriver.h
M CCA/Components/LoadBalancers/ProfileDriver.cc
M CCA/Components/Regridder/TiledRegridder.cc
M CCA/Components/Schedulers/MPIScheduler.cc
M CCA/Components/Schedulers/SchedulerCommon.h
M CCA/Components/Schedulers/SchedulerCommon.cc

- Cosmetics: Whitespace / alignment / coding standards / alphabetize #includes / etc.
- LoadBalancer -> LoadBalancerPort

M CCA/Components/Schedulers/OnDemandDataWarehouse.h
M CCA/Components/Schedulers/OnDemandDataWarehouse.cc
M CCA/Components/Schedulers/Relocate.h
M CCA/Components/Schedulers/Relocate.cc

- Name class variables according to naming convention. (eg: aborted -> d_aborted).
- Be consistent with naming convention of class variables in same file.
- LoadBalancer -> LoadBalancerPort.

M CCA/Components/Schedulers/TaskGraph.h
M CCA/Components/Schedulers/TaskGraph.cc

- LoadBalancer -> LoadBalancerPort.
- White space. Name variable "subset" more accurately: "handling_rank". I don't know
why it was named "subset" to begin with as it doesn't appear to be a "set" to me...

M CCA/Components/Schedulers/UnifiedScheduler.cc

- White space.

M CCA/Components/SimulationController/AMRSimulationController.cc

- There are a lot of cosmetic cleanups in this file, but the real/main change is:
- Add in hack to handle changing from "nth process output" (for checkpoints) to
"1 process output" (for time steps) when running with PIDX (and nth process is > 1).
- Declare variables (start) where they are used, not at the top of a function.
- Move the terminal output of the 0th timestep out of the main simulation loop.
- White space / alignment / etc.
- LoadBalancer -> LoadBalancerPort.

M CCA/Components/SimulationController/SimulationController.h
M CCA/Components/SimulationController/SimulationController.cc
M CCA/Components/Solvers/AMR/AMRSolver.cc
M CCA/Components/Solvers/AMR/HypreDriver.cc
M CCA/Components/Solvers/AMR/HypreDriverStruct.cc
M CCA/Components/Solvers/CGSolver.cc
M CCA/Components/Solvers/HypreSolver.cc
M CCA/Components/Wasatch/Expressions/Coordinate.cc
M CCA/Components/Wasatch/Expressions/PoissonExpression.cc
M CCA/Components/Wasatch/Expressions/Pressure.cc
M CCA/Components/Wasatch/Expressions/RadiationSource.cc
M CCA/Components/Wasatch/Wasatch.cc
M CCA/Ports/Scheduler.h
M CCA/Ports/sub.mk
M Core/DataArchive/DataArchive.h
M Core/DataArchive/DataArchive.cc
M Core/Grid/Grid.h
M Core/Grid/Grid.cc
M Core/Grid/Level.h
M Core/Grid/Level.cc
M StandAlone/tools/uda2vis/uda2vis.cc

- LoadBalancer -> LoadBalancerPort.
- Cosmetic white space, alpha, etc.

M CCA/Ports/Output.h

- Removed getCurrentTimestep() and getCurrentTime() as the user should get
them from the shared state.
- Added postponeNextOutputTimestep().
- Added savingAsPIDX().



4 lines of code changed in 1 file:

  • CCA/Components/Wasatch: Wasatch.cc (+4 -4)
tsaad 2016-09-07 14:32 Rev.: 55713

Support the non-conservation form of the scalar equations for the low-Mach algorithm.

73 lines of code changed in 5 files:

  • CCA/Components/Wasatch: Properties.cc (+69 -27), Properties.h (new), TagNames.cc (+2 -1), TagNames.h (+1 -1)
dav 2016-09-06 12:58 Rev.: 55704


The main updates in this commit are to configure and the build system:
A number of bullet-proofing / clean-ups have been added to configure,
and the dependency of Arches on Wasatch has been removed. (Note,
Arches still needs to build TabProps/RadProps in the Wasatch 3P.) I
have tested this on several machines, but it is possible that it will
now catch some peoples' bad configure lines (that 'worked' before but
only accidentally). If your configure stops working because of this
commit, please let me know so I can help you fix it. -Dav

M configure
M configure.ac

- Force bad configure command line arguments to be errors instead of warnings.
This will help avoid users accidentally mis-typing an arg and not noticing.
The autoconf configure system does not normally allow this to happen as
their philosophy is that configure usually calls a sub-configure and passes
args down to it... Thus configure "ignores" bad args under the theory that
a "sub configure" will use them. However, we don't do this and this will
help catch configure command line typos and potentially save developers and
users a lot of headaches.

The bad news is that in order to get this functionality, we have
to hack the autconf'd generated configure script and add a
variable (enable_option_checking=fatal) at the top. I have added
a section to configure.ac with the information about doing this,
but anyone who re-generates configure needs to manually follow the
instructions.

- Configure now will immediately tell you if you have typed in an invalid
file/directory name (bad spelling, doesn't exist) for the --with flags.
Perviously this occurred manually each time (now it is part of the macro)
at the point in the configure script when the library was tested for.

- Fix handling of finding the C/C++ compilers and version checking better.
Configure now determines which compiler (eg: GCC, ICC, XLC) you are
using explicitly and can test for things (like version) appropriately.
The version check may still need to be updated a little.

- Updated the --with handling to know whether the flag was set or not. Previously
we were using a "" (blank) value, which was ambiguous.

- Flag --without as invalid on anything we don't explicitly handle (we
only handle without on a few things such as: --without-fortran or
--without-hypre).

- Allow the external Wasatch 3P to be specified on a single line (instead
of having a separate line for SpatialOps, ExprLib, etc) using
--with-wasatch3p=DIR. This will find all 4 W3P libs with one configure line.

- Got rid of IS_VS (wasn't set/used and don't know what it was for).

- While "no" and no (without quotes) are the same thing to configure, be consistent
and use "no" (with quotes) everywhere.

- Remove the BUILD_WASATCH_FOR_ARCHES logic, as we no longer need Wasatch to
be built for Arches.

- Clean up the left over files from relatively new MPI const test section.

- Fix the HAVE_ACCELERATE

- Update --enable-wasatch_3p to take a list of libs to build (in the case you only
wish to build a subset. Eg: --enable-wasatch_3p=radprops,tabprops
Pass list of libs to the build_wasatch_3p.sh script.

17 lines of code changed in 3 files:

  • CCA/Components/Wasatch: BCHelper.h (+1 -1), ParticlesHelper.cc (+1 -1), sub.mk (+15 -31)
jsutherland 2016-09-02 15:05 Rev.: 55697

Initial commit for support of coal models. This includes:
- 23 different coal types
- 4 different devolatilization models
- 4 different char oxidation/gasification models

The coal models require PoKiTT.

Removed several GPU runnable traits from expressions while we await framework support for particles on GPU

Josh McConnell was responsible for much of the heavy lifting to bring this code over from ODT, where it has been developed over the past few years.

40 lines of code changed in 4 files:

  • CCA/Components/Wasatch: TagNames.cc (+2), TagNames.h (+2 -1), Wasatch.cc (+33), sub.mk (+3)
allen 2016-08-16 14:33 Rev.: 55646

backed out sim state changes

9 lines of code changed in 2 files:

  • CCA/Components/Wasatch: ParticlesHelper.cc (+2 -2), Wasatch.cc (+7 -7)
allen 2016-08-15 17:29 Rev.: 55641

cleanup of the simulation state - most everything is now private

7 lines of code changed in 1 file:

  • CCA/Components/Wasatch: Wasatch.cc (+7 -7)
allen 2016-08-15 17:14 Rev.: 55638

cleanup of the simulation state - most everything is now private

2 lines of code changed in 1 file:

  • CCA/Components/Wasatch: ParticlesHelper.cc (+2 -2)
tsaad 2016-08-05 13:28 Rev.: 55577

Get rid of the SetCurrentTime expression. All Wasatch calculations of time related quantities (dt, t, tstep, rkstage...) take place in traditional Uintah tasks now. Access to these quantities is done via Expression Placeholders on SingleValueFields.

0 lines of code changed in 2 files:

  • CCA/Components/Wasatch: TimeStepper.cc (-1), Wasatch.cc (-2)
tsaad 2016-08-05 13:26 Rev.: 55576

Add a task to set the time at initialization. This brings us one step closer to removing the dependency on SetCurrentTime.

70 lines of code changed in 3 files:

  • CCA/Components/Wasatch: Wasatch.cc (+59 -4), Wasatch.h (+11 -1)
tsaad 2016-08-04 11:28 Rev.: 55572

fix memory leaks in Wasatch. This should fix the RT as well.

9 lines of code changed in 1 file:

  • CCA/Components/Wasatch: Wasatch.cc (+9 -5)
tsaad 2016-08-03 09:20 Rev.: 55566

Update Wasatch to use PerPatch<double> instead of PerPatch<double*>. This goes hand in hand with Brad's commit of yesterday as well as changes in ExprLib.
In addition, fix the updateCurrentTime task to avoid task dependency issues on GPU. This removes the dependence on SetCurrentTime.

88 lines of code changed in 4 files:

  • CCA/Components/Wasatch: TimeIntegratorTools.h (new), Wasatch.cc (+81 -26), Wasatch.h (+2)
jsutherland 2016-07-27 14:10 Rev.: 55553

Compressible tests shouldn't require hypre specification.
Thanks to Todd for the nudge on this.

20 lines of code changed in 1 file:

  • CCA/Components/Wasatch: Wasatch.cc (+20 -9)
jsutherland 2016-07-27 11:36 Rev.: 55544

More species transport development:
- energy equation coupling with species in the diffusive flux treatment
- update wasatch spec to remove some superfluous entries. This also modified a number of the compressible tests
- use TagNames for temperature and heat flux

Bug fixes:
- use proper units on gas constant in density calculation.
- use proper units on gas constant in temperature calculation.
These bug fixes required changes to input files to get molecular weights in g/mol or kg/kmol.

Misc. formatting changes.

Note that this will cause diffs on several of the compressible tests due to the bug fix and naming change on temperature.

21 lines of code changed in 4 files:

  • CCA/Components/Wasatch: TagNames.cc (+14 -6), TagNames.h (+1 -2), TimeIntegratorTools.h (+5 -5), Wasatch.cc (+1)
jsutherland 2016-07-27 11:36 Rev.: 55543

First cut at species transport via PoKiTT

17 lines of code changed in 4 files:

  • CCA/Components/Wasatch: TagNames.cc (+3), TagNames.h (+1 -4), Wasatch.cc (+10), sub.mk (+3 -3)
ahumphrey 2016-06-13 11:46 Rev.: 55440

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).

34 lines of code changed in 11 files:

  • CCA/Components/Wasatch: BCHelper.cc (+11 -11), FieldAdaptor.h (new), OldVariable.cc (new), ParticlesHelper.cc (+5 -5), Properties.cc (+1 -1), TaskInterface.cc (+1 -1), Wasatch.cc (+5 -5), WasatchParticlesHelper.cc (+2 -2)
tsaad 2016-06-10 15:07 Rev.: 55433

Looks like one needs a requires along with a modifies when modifying GHOSTS on a variable (Wasatch only).
This commit fixes the issues that we were having with multistage integrators in Wasatch.

5 lines of code changed in 1 file:

  • CCA/Components/Wasatch: TaskInterface.cc (+5 -6)
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.

0 lines of code changed in 1 file:

  • CCA/Components/Wasatch: sub.mk (-1)
tsaad 2016-05-31 08:43 Rev.: 55396

Revert changes made to Wasatch.h and .cc. Those were inadverdently committed.

18 lines of code changed in 2 files:

  • CCA/Components/Wasatch: Wasatch.cc (+18 -42), Wasatch.h (-2)
tsaad 2016-05-31 08:40 Rev.: 55395

Fix failing build.

44 lines of code changed in 2 files:

  • CCA/Components/Wasatch: Wasatch.cc (+42 -18), Wasatch.h (+2)
dav 2016-05-27 14:16 Rev.: 55394

Fix case-insensitive files system problem.

2 lines of code changed in 1 file:

  • CCA/Components/Wasatch: sub.mk (+2 -1)
jsutherland 2016-05-27 10:08 Rev.: 55391

Rearrange artificial compressibility to be outside the momentum equation spec. Also move the internal energy equation outside the momentum spec.

20 lines of code changed in 2 files:

  • CCA/Components/Wasatch: Wasatch.cc (+16 -14), Wasatch.h (+4 -4)
tsaad 2016-05-27 09:34 Rev.: 55389

Fix a bug that reared its head on compressible flow graphs with RK2,3. Bottom line, make sure that persistent fields, that are marked as COMPUTES by ExprLib, are listed as MODIFIES on RK2,3 and non-persistent fields are listed as COMPUTES.

5 lines of code changed in 1 file:

  • CCA/Components/Wasatch: TaskInterface.cc (+5)
dav 2016-05-16 14:48 Rev.: 55353


Fix the problem with fortran .h files (in Arches) not being generated correctly (on the binary
side) when CUDA is turned on.

Update the make system so that the dependency rules for CUDA enabled files are created
automatically. The user no-longer has to specify that each CUDA_ENABLED_SRCS .cu file
depends on the corresponding .cc file. Updated both Wasatch and Arches to use the
new approach.

M Makefile.in

- Add a 'function' (make-cuda-target) that will create CUDA dependency rules automatically,
instead of having the developer have to list the rules manually. This function must
be called in each sub.mk file that creates a CUDA_ENABLED_SRCS list.
- Remove all .cu and (mostly fortran) .h files from the <bin> side when
"make cleanreally" is called.

M configure
M configure.ac

- Put in check to verify that Uintah and Wasatch 3P are both (or neither) being
built with CUDA.
- Will also add Candera check once I get more info.

A include/sci_defs/wasatch_testdefs.h.in

- Place PoKitt and Candera defines in new (configure generated binary side) wasatch_defs.h
file.

M CCA/Components/Arches/sub.mk

- Fix fortran .h file dependency problem. Note, these dependencies are have been (and
continue to be) manually entered into the sub.mk file. However, previously, they
used multiple lines (eg: Source.$(OBJEXT) was written 5 times. You don't need to
do this, you can just list it once and then put all the files it depends on.

When building without CUDA, the fortran .h files are needed to create
the object files (eg: Source.o). However, if CUDA is turned on, then they are
needed to create the CUDA .cu file (eg: <bin>/Source.cu). Perviously, at least
on some machines (though the problem should have shown up on all machines?), the fortran
.h files were not being generated.

It appears that currently Arches/sub.mk is the only directory that has CUDA files that
are dependent on fortran .h files. If this occurs in other sub-dirs for Arches (as
CUDA is added to the code), then the same approach should be taken in those files.

M CCA/Components/Arches/ChemMix/sub.mk
M CCA/Components/Arches/CoalModels/sub.mk
M CCA/Components/Arches/LagrangianParticles/sub.mk
M CCA/Components/Arches/Operators/sub.mk
M CCA/Components/Arches/ParticleModels/sub.mk
M CCA/Components/Arches/PropertyModels/sub.mk
M CCA/Components/Arches/PropertyModelsV2/sub.mk
M CCA/Components/Arches/SourceTerms/sub.mk
M CCA/Components/Arches/Task/sub.mk
M CCA/Components/Arches/Transport/sub.mk
M CCA/Components/Arches/TransportEqns/sub.mk
M CCA/Components/Arches/Utility/sub.mk
M CCA/Components/Arches/WallHTModels/sub.mk
M CCA/Components/Wasatch/Expressions/BoundaryConditions/sub.mk
M CCA/Components/Wasatch/Expressions/MMS/sub.mk
M CCA/Components/Wasatch/Expressions/PostProcessing/sub.mk
M CCA/Components/Wasatch/Expressions/Turbulence/sub.mk
M CCA/Components/Wasatch/Expressions/sub.mk
M CCA/Components/Wasatch/Operators/sub.mk
M CCA/Components/Wasatch/Transport/sub.mk
M CCA/Components/Wasatch/sub.mk

- Call make system function make-cuda-target to generate CUDA .cu dependencies.

20 lines of code changed in 1 file:

  • CCA/Components/Wasatch: sub.mk (+20 -14)
bpeterson 2016-05-06 07:36 Rev.: 55331

These changes allow for temporary/scratch CUDA variables to be managed (variables that aren't CCVariables/PerPatch/Sole/Reduction etc., just small temporary variables whose sizes can't be determined until right before the kernel launches)

3 lines of code changed in 1 file:

  • CCA/Components/Wasatch: TaskInterface.cc (+3 -2)
bpeterson 2016-05-05 10:28 Rev.: 55320

This adds two fixes. First is that it adds float support to the GPU data warehouse (it no longer checks on the data type's size, but the actual data TypeDescription::Type). Second is that it lays the groundwork for being able to have some task specific variable cleanup unrelated to the normal vars declared as computes/modifies/requires. RMCRT needs this as before a kernel it will create a few temporary GPU variables.

4 lines of code changed in 1 file:

  • CCA/Components/Wasatch: TaskInterface.cc (+4 -2)
jsutherland 2016-04-27 15:23 Rev.: 55249

Clean up some doxygen warnings.

5 lines of code changed in 3 files:

  • CCA/Components/Wasatch: FieldAdaptor.h (-1), TimeStepper.h (+5 -5)
tsaad 2016-04-26 15:15 Rev.: 55241

First cut at an implicit solver in Wasatch using Pseudo Transient Continuation (Psi_TC).
The current solver essentially performs a fixed point BDF1 in physical time with a forward Euler on the pseudo space.
The solver support the majority of current Wasatch capabilities (ODEs, Scalar Transport, and Compressible flows) along with boundary conditions.
The Wasatch Psi_TC implementation uses a subscheduler to manage the iterative solution.
To trigger Psi_TC simply add the following XML block to any wasatch input file
<DualTime iterations="1000" tolerance="1e-7" ds="0.01"/>
That's all!
Tests and examples will be added soon.

535 lines of code changed in 10 files:

  • CCA/Components/Wasatch: TagNames.cc (+15 -15), TagNames.h (+1 -1), TaskInterface.cc (+138 -6), TaskInterface.h (new), TimeIntegratorTools.h (+9 -5), TimeStepper.cc (+66 -4), TimeStepper.h (+22), Wasatch.cc (+207 -50), Wasatch.h (+44 -3)
dav 2016-04-25 16:50 Rev.: 55230


Fix the ability to make just Arches (--enable-arches instead of having to --enable-all-components).

M configure
M configure.ac

- Force the use of CMake 3.1+ if building Wasatch or VisIt).
- Add in RadProps info to W3P check.

M CCA/Components/Wasatch/Transport/sub.mk
M CCA/Components/Wasatch/Expressions/sub.mk
M CCA/Components/Wasatch/Operators/sub.mk
M CCA/Components/Arches/CoalModels/sub.mk
M CCA/Components/Arches/sub.mk

- Remove superfluous white space.
- Alphabetize.
- Fix comment typo (cut/paste error).
- Untabify (as appropriate).

M CCA/Components/Wasatch/sub.mk

- Same as above and:
- Fix the problem where CUDA_ENABLED_SRCS was not set if just building Arches.
- A number of files (eg: BCHelper.cc) were listed twice in the list of sources.

M Core/Grid/UnknownVariable.h

- Remove warning (Exception is now in the Uintah namespace so don't need to qualify it).

6 lines of code changed in 1 file:

  • CCA/Components/Wasatch: sub.mk (+6 -19)
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.


3 lines of code changed in 1 file:

  • CCA/Components/Wasatch: sub.mk (+3 -1)
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.

6 lines of code changed in 2 files:

  • CCA/Components/Wasatch: Wasatch.cc (+4 -2), Wasatch.h (+2 -2)
tsaad 2016-03-31 09:51 Rev.: 55151

1. Add expression that specifies a (structured) layout of spherical bubbles.
2. Cleanup some code and rename a few variables for clarity.

17 lines of code changed in 1 file:

  • CCA/Components/Wasatch: Wasatch.cc (+17 -17)
tsaad 2016-03-28 12:30 Rev.: 55131

Fix bug in my previous commit. This should fix the aurora GPU buildbot.

5 lines of code changed in 1 file:

  • CCA/Components/Wasatch: Wasatch.cc (+5 -4)

(12 more)

Generated by StatSVN 0.7.0