Fixed errors that occured in the JGConcentrationDiffusion model that came as a result of changes made in revision 55381
39 lines of code changed in 2 files:
Revert changes made to Wasatch.h and .cc. Those were inadverdently committed.
18 lines of code changed in 2 files:
Fix failing build.
51 lines of code changed in 3 files:
Fix case-insensitive files system problem.
78 lines of code changed in 3 files:
Just making sure the gpu_stats mode is active before it does a couple of locks
14 lines of code changed in 1 file:
Rearrange artificial compressibility to be outside the momentum equation spec. Also move the internal energy equation outside the momentum spec.
925 lines of code changed in 10 files:
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:
Fixes the issues associated with particle splitting. This will still break the nano pillar rt
132 lines of code changed in 6 files:
ConstantRate scalar diffusion model allows a user to specify a constant rate, dc/dt, at the particle.
209 lines of code changed in 5 files:
Added LatinHyperCube ray direction routine to the boundary flux computations on in single level GPU
ray tracing code.
115 lines of code changed in 4 files:
Add Artificial Compressibility tests with boundary conditions and gravity.
7 lines of code changed in 1 file:
Add a few tests for compressible flows with wall boundary conditions.
6 lines of code changed in 1 file:
Fixed the issues with compare_uda and scalar flux boundary conditions. This will break the nano pillar rt
91 lines of code changed in 8 files:
cyrus.mech.utah.edu:
- changed optimization flag from -O3 to -O2 so I can compare against the RT gold standards
27 lines of code changed in 1 file:
M configure
M configure.ac
- Turn off the check for the "64 vs 80 bit register issue" as it can't run on Titan (cross compiled machine)...
M build_scripts/build_wasatch_3p.sh
- Turn off Threads if building CUDA.
- Add CUDA_HOST_COMPILER for Titan build.
- Hack installed SpatialOps NeboOperators.h file to cast 2nd arg of pow() to a float when building with CUDA.
Fixes error about running host code on device. However, pow() with an int as the 2nd arg (can be made?)
is probably much faster so the performance of this should be tested and perhaps a better fix put into place.
26 lines of code changed in 1 file:
Updated multi-level GPU code to match recent changes in the CPU code. The results will
change slightly.
RMCRT_bm1_DO.ups: CPU == GPU with differences in the fuzz.
272 lines of code changed in 4 files:
Fix for: At least with gcc 4.7.2 on Vulcan, when using c++11, '__linux' is not defined.
0 lines of code changed in 2 files:
RMCRT_gpuWorkAround
- no longer setting the halo [0,0,0] for GPU tests. This will change all answers on the GPUs
Examples.py
- Added DataOnion GPU test.
2 lines of code changed in 1 file:
Converted newton solver to a void function in WallHT, add functionality to gas-phase constant src term. Made existing RT compatible with constant src term changes.
38 lines of code changed in 6 files:
Reset the regridTimestep flag. This fixes the taskgraph compilation issue on the Arches regrid test.
2 lines of code changed in 1 file:
Removing code duplication that was used for functor profiling.
4 lines of code changed in 29 files:
Resurrected restartInitializeTimeAdvance for the Arches-regrid case, this is needed to set patch boundaries after switching patch layouts.
81 lines of code changed in 8 files:
reverted back to version 55367
60 lines of code changed in 12 files:
Fixed issue with compare uda issues and the errors that were occuring with the scalar flux boundary conditions
117 lines of code changed in 10 files:
Turn off face velocities.
Remove old GetPsi function.
Rename GetPsiA3 to GetPsi.
15 lines of code changed in 5 files:
Simplify the flux limiter operations by going to Array3.
Modified BlockRange to allow for operator() with an option
in addition to the (i,j,k).
Added a FaceVelocity class which computes the face velocities for the
various staggered grid faces.
474 lines of code changed in 15 files:
Arches no loner recompiles task-graph on a restart. Minor pruning.
28 lines of code changed in 7 files:
added non-const [] operators.
0 lines of code changed in 2 files:
- Fix some doxygen.
- whitespace changes
12 lines of code changed in 9 files:
Additions to get PoKitt (Cantera) linking in properly.
M configure
M configure.ac
- Find Cantera libs and add them to PoKiTT linking.
M configVars.mk.in
- Just a few comments about where libs come from.
M include/sci_defs/wasatch_testdefs.h.in
- PoKiTT define implies Cantera so don't need separate define.
9 lines of code changed in 2 files:
Add the Acoustic Stiffness Reduction (ASR) model of Wang and Trouve for Artifical Compressibility. This model produces less effects on the magnitude of pressure waves when compares to PGS and is a natural fit for gravity-driven/dominated flows.
353 lines of code changed in 2 files:
Add the Pressure Gradient Scaling (PGS) Artificial Compressibility (AC) model. This rescales the acoustic speed to allow for near-advective CFLs.
253 lines of code changed in 4 files:
RMCRTCommon:
- purged methods that are no longer needed.
- rayDirection()
Added more fixed ray directions for debugging.
Ray.cc/.h
- updateSumI_ML()
Big change in implementation. Ray coordinates are now in physical space
as opposed to cell index + fraction of cell index. This will change
all DataOnion tests results. It simplifies the algorithm when moving between levels.
No longer doing the "lineup" since that is taken care of with new code.
Variable name change: tMax -> tMaxV, dismin -> distanceTraveled,
128 lines of code changed in 4 files:
Fixed a bug in the coal region HT.
6 lines of code changed in 2 files:
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.
280 lines of code changed in 27 files:
Eliminated 3 warnings when using gcc
1 lines of code changed in 1 file:
Added RT test for new hybrid discretization scheme.
2 lines of code changed in 1 file:
Added RT test for Phils char oxidation model.
2 lines of code changed in 1 file:
because osx and linux sed don't behave the same.
0 lines of code changed in 2 files:
Append a number to the file name. You need to return a unique filename if a base ups file
is modified more than once from multiple modUPS calls.
16 lines of code changed in 1 file:
Added task->requires for time-step size. This should fix the broken OFC4 RT test.
7 lines of code changed in 2 files:
Changed ash deposition averating time start tag from _t_interval to _t_ave_start to be more descriptive.
14 lines of code changed in 4 files:
Major modification of coal region wall heat transfer. This will speed up the compute time. Now we will time-average the ash deposit thickness, so that regime-change will not immediately impact thickness.
137 lines of code changed in 3 files:
Allow for equation groups which will combine the work to assemble the
RHS and update of scalars into a single tasks rather than separate
tasks/equation.
Generalize the allocateAndInitializeToZero to allocate to a passed
constant instead.
325 lines of code changed in 7 files:
This fixes the isnan and isinf issue. See the code comments for more details
51 lines of code changed in 1 file:
I give up. The "memory leak" is a result of destructors not getting called
properly in the diffusion code.
1 lines of code changed in 1 file:
modUPS.py
added modUPS2() which allows the user to modify xml tags that appear more than once in a ups file. For example:
RMCRT_DO_perf_GPU_ups = modUPS2( the_dir, \
"RMCRT_DO_perf.ups", \
["/Uintah_specification/Grid/Level/Box[@label=0]/resolution :[32,32,32]",
"/Uintah_specification/Grid/Level/Box[@label=0]/patches :[2,2,2]",
"/Uintah_specification/Grid/Level/Box[@label=1]/resolution :[64,64,64]",
"/Uintah_specification/Grid/Level/Box[@label=1]/patches :[4,4,4]",
"Uintah_specification/RMCRT/nDivQRays : 100"
] )
You could also use it to modify boundary conditons.
I'm not 100% happy with this solution since it depends on (xmlstarlet), which isn't in the standard linux/OSX. It's trival to install
on the debian/ubunbu OSs. If it's not installed it will warn the user and move on.
Examples.py:
Added RMCRT performance tests 1L and DO for the GPU.
118 lines of code changed in 2 files:
Fixed a mistake for the WallHT model for coal deposition. We were updating the real wall temperature with the corrected temperature for radiation.
2 lines of code changed in 1 file:
Added RT test for particleMassFlow inlet feature, and outputNth proc in arches.
2 lines of code changed in 1 file:
Fixes to Arches sub.mk files for CUDA builds. If you add a file to the list of
CUDA_ENABLED_SRCS, you have to add a corresponding line at the bottom of the sub.mk
file (see notes above CUDA_ENABLED_SRCS section).
M Transport/sub.mk
M PropertyModelsV2/sub.mk
M Utility/sub.mk
- Added corresonding .cu creation lines.
- Alphabetized
16 lines of code changed in 3 files:
Check for make fila
8 lines of code changed in 1 file:
to fix a bug in calculating on average deposition velocity
1 lines of code changed in 1 file:
to increase the iterations again in order to guarantee converge
1 lines of code changed in 1 file:
Added outputProblemSpec code for restart
7 lines of code changed in 2 files:
Disable warning spam.
53 lines of code changed in 1 file:
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)
275 lines of code changed in 16 files:
Fix particle splitting for the case when pScaleFactor isn't present.
25 lines of code changed in 1 file:
to increase the iteration number so that a better prediction was achieved
1 lines of code changed in 1 file:
Cleaning up some of Chris's diarrhea.
6 lines of code changed in 8 files:
This fixes a handful of problems dealing with simulations using multiple levels and when there are many patches in the simulation. (The fix comes down to using level->computeVariableExtents() instead of patch->computeVariableExtents() if the variable is using 32767 ghost cells)
58 lines of code changed in 1 file:
This should have gone along with my last commit. An argument was neglected
1 lines of code changed in 1 file:
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.
221 lines of code changed in 15 files:
Fix dataware house bug in DQMOMEqn::buildRHS and hack CoalTemperature to avoid creating a reference to a nullptr
73 lines of code changed in 3 files:
Disable USE_FUNCTOR in Arches since the code seg faults
0 lines of code changed in 2 files:
add missing > to template argument
4 lines of code changed in 2 files:
Surface now has 4.9.2
1 lines of code changed in 1 file:
Put back -fPIC that was lost in commit from Vulcan
4 lines of code changed in 4 files:
Add git branching hints. CMake 3.1 is needed now, not 3.0
19 lines of code changed in 3 files:
few more vulcan updates to stand-alone W3P build script
15 lines of code changed in 1 file:
Refactor Array3 to remove iterator to make it possible to merge trunk
into the kokkos_dev branch
2080 lines of code changed in 37 files:
M README
- Updates for vulcan cmake location.
M doit
- Bounce into the build dir.
M ExprLib-build/doit
M RadProps-build/doit
M SpatialOps-build/doit
M TabProps-build/doit
- Point at the src dir.
9 lines of code changed in 6 files:
Fixes an RMCRT bug dealing with variables staying resident in the GPU and when their ghost cells are 32767. Also added some CUDA barriers in RMCRT for concurrency reasons. I'll be working on a long term fix for that.
20 lines of code changed in 4 files:
* Reintroduced DyDx and DzDx for the Kokkos-based implementation of single-level RMCRT.
7 lines of code changed in 1 file:
Added option
-levels [int int] (Optional: level index for uda 1 and uda 2)
This allows you to compare single level to N level udas. Very handy for sanity checks.
271 lines of code changed in 1 file:
fix a delete.
0 lines of code changed in 2 files:
I accidentally left in a debugging printf message. It's gone now.
0 lines of code changed in 1 file:
Turning nanopillar problem on once again to try to get it straightened out.
1 lines of code changed in 1 file:
const double -> double
1 lines of code changed in 1 file:
For Dan S.:
Only get a kokkos view is d_window is not NULL.
Use a brace constructor for Array3 rather than default.
From Jeremy:
Simplify some of the lambda captures using a shortened [&] notation.
23 lines of code changed in 3 files:
Cleanup warnings.
There are still some unused variable warnings in the new stencil macros
that need cleaning up.
183 lines of code changed in 15 files:
Add some old scalar updates to one of the new test input files.
Add timers around the old scalar solver.
Change output naming convention.
Put the DO_TIMINGS directive in Directives.h
0 lines of code changed in 1 file:
Added a new property model (constant value).
Added kokkos-ized scalar solver including FE update.
Added a version of the Wasatch BCHelper sans SpatialOps functionality.
Work on the Kokkos solver to actually update the scalar transport.
Work on ConvectionHelper - taking a stab at a convention for face
centered variable, face types.
Added some patch range helpers in DiscretizationTools.
Added timers.
Go to a single template parameter for WaveForm - Lambda-ize it.
Update arches_spec to work with new KScalars.
Other minor runtime or beautification.
8 lines of code changed in 3 files:
Add some old scalar updates to one of the new test input files.
Add timers around the old scalar solver.
Change output naming convention.
Put the DO_TIMINGS directive in Directives.h
451 lines of code changed in 10 files:
Better naming conventions for the timers.
4 lines of code changed in 4 files:
Added a new property model (constant value).
Added kokkos-ized scalar solver including FE update.
Added a version of the Wasatch BCHelper sans SpatialOps functionality.
Work on the Kokkos solver to actually update the scalar transport.
Work on ConvectionHelper - taking a stab at a convention for face
centered variable, face types.
Added some patch range helpers in DiscretizationTools.
Added timers.
Go to a single template parameter for WaveForm - Lambda-ize it.
Update arches_spec to work with new KScalars.
Other minor runtime or beautification.
2740 lines of code changed in 31 files:
Cyrus: updated cuda version cuda-6.5 -> 7.5
1 lines of code changed in 1 file:
Array3 operator[] forwards to Kokkos if enabled
225 lines of code changed in 5 files:
loosen up the tolerance on one of the GPU tests
1 lines of code changed in 1 file: