[root]/CCA/Components/Examples
Author | Changes | Lines of Code | Lines per Change |
---|---|---|---|
Totals | 125 (100.0%) | 933 (100.0%) | 7.4 |
harman | 31 (24.8%) | 724 (77.6%) | 23.3 |
ahumphrey | 19 (15.2%) | 95 (10.2%) | 5.0 |
dav | 5 (4.0%) | 61 (6.5%) | 12.2 |
jas | 64 (51.2%) | 33 (3.5%) | 0.5 |
jsutherland | 2 (1.6%) | 15 (1.6%) | 7.5 |
jthornoc | 3 (2.4%) | 4 (0.4%) | 1.3 |
tsaad | 1 (0.8%) | 1 (0.1%) | 1.0 |
RMCRT_Test.cc
- The user can specify RMCRT:float or RMCRT:double.
problemSetup()
- added BC_bulletproofing
- added bulletproofing to catch if the the user is trying to save abskg but
it doesn't exist. The component hands RMCRT abskg but internally RMCRT:float
uses abskgRMCRT.
Ray.cc & RMCRTCommon.cc
Global:
setBC()
Added an additional template parameter. This parameter is used to fake out
the BC infrastructure when CCVariable<float> are being passed in. The infrastructure
doesn't handle floats. Thanks James.
0 lines of code changed in 2 files:
Multi-level RMCRT:
- removed maxLevels == 1 from the conditional.
This won't change the answers.
3 lines of code changed in 1 file:
Global d_sigmaT4_label -> d_sigmaT4Label (consistency with the rest of the global labels)
RMCRT_test.cc/.h
- component defines either float or dbl RMCRT
- d_abskgLabel -> d_comp(onent)AbskgLabel
- No longer recomputing the abskg, temperature and cellType every timestep. Compute once in initialize()
and carryForward every timestep.
- Added DoublToFloat() task to scheduleTimeAdvance()
Arches/RMCRT.cc
- cleaned out DQMONEqnFac .h files
- component defines either float or dbl RMCRT
- scheduleTimeAdvance()
added calls to DoubleToFloat() task
- computeSource()
removed cellType carryForward. That's handled by RMCRT
Wasatch/RadiationSource
- component defines either float or dbl RMCRT
- Added DoublToFloat() task to scheduleTimeAdvance() to schedule_ray_tracing
RMCRTCommon.cc
- now using d_comp(onent)AbskgLabel and d_comp(onent)TempLabel
- Component now decides if communicated variables are doubles or floats
Added logic where appropriate.
More templates
- Added DoubleToFloat() task. This simply casts the CCVariable< double> -> CCVariable<float>
Radiometer
- Component now decides if communicated variables are doubles or floats
Added logic where appropriate.
More templates
Ray
- now using d_comp(onent)AbskgLabel and d_comp(onent)TempLabel
- Component now decides if communicated variables are doubles or floats
Added logic where appropriate.
More templates
- coarsen_Q(): This task carries forward coarse level variables on non-radCalc timesteps
- Added coarsen_cellType()task: This task computes cellType on the coarse levels, needs additional logic.
RayGPU.cc
d_sigmaT4_label -> d_sigmaT4Label (consistency with the rest of the labels)
OnTheFlyAnalysis/radiometer
- Component now decides if communicated variables are doubles or floats
______________________________________________________________________
S U M M A R Y
Failed: ARCHES-opt tests <<<< These tests fail due to an new material set for abskg. The answers are the same >>>
:rmcrt_bm1_ML: test failed comparison tests
:rmcrt_bm1_ML: (restart) test failed comparison tests
:rmcrt_bm1_DO: test failed comparison tests
:rmcrt_bm1_DO: (restart) test failed comparison tests
:rmcrt_bm1_ML_thread: test failed comparison tests
:rmcrt_bm1_DO_thread: test failed comparison tests
Failed: Examples-opt tests <<<< This commit drastically improves the answers >>>
:RMCRT_bm1_DO: test failed comparison tests
:RMCRT_bm1_DO: (restart) test failed comparison tests
:RMCRT_ML: test failed comparison tests
:RMCRT_ML: (restart) test failed comparison tests
Passed: Wasatch-opt tests!
134 lines of code changed in 3 files:
removed floatRMCRT/
There's a few missing pieces before the component is able to choose between float/double
RMCRT.
9 lines of code changed in 2 files:
Templated more tasks/methods/variables on the type double/float.
0 lines of code changed in 2 files:
fix some namespace issues int Ray et al that were causing build failures on mac dbg builds
1 lines of code changed in 1 file:
RMCRT_Test: scheduleTimeAdvance()
- For 2 level approach changed looping limits for sched_Refine_Q()
Ray.cc: sched_Refine_Q()
- Now using ghosts:AroundCells 1 for requires of divQ from the coarse level. *** Key
Converted input file into a multipatch 2L problem with Refinement ratio = 4
Now using 8 cores for nightly RT tests.
2 lines of code changed in 1 file:
Example component can compute just the fluxes for the radiometers.
This includes both spatial and temporal scheduling of the task.
It only runs on 1 mpi process due to a problem upstream in
reduceSysVars()
- added regression test.
48 lines of code changed in 2 files:
Update the example component for the new radiometer. This does not include spatial scheduling of
the radiometer.
13 lines of code changed in 1 file:
(And a few more...) Sub.mks: for macs, need to link in Core/Thread for these libraries. Also alphabetized, removed tabs, and cleaned up.
1 lines of code changed in 2 files:
ScheduleTimeAdvance()
- added 1 level approach. Technically this isn't necessary but to be consistent with Arches/wasatch
and help keep me sane.
26 lines of code changed in 2 files:
Removed
-needRecompile()
-doCarryForward()
This functionality is provided from either RMCRTCommon or sharedState
1 lines of code changed in 2 files:
Only schedule the "requires" for the super expensive
- abskg,
- sigmaT4
- cellType
variables on calculation timesteps. Carry forward timesteps ignore them.
The driving component must have needsRecompile() implemented with appropriate logic. This is
a 80% solution to the problem.
RMCRT_Test:
- added needsRecompile() which calls doCarryForward().
- formatting
doCarryForward()
- no longer passing in timestep
Ray.cc
sched_rayTrace()
- added logic around the requires.
doCarryForward()
- no longer passing in timestep
Radiometer.cc/ RMCRTCommon
doCarryForward()
- no longer passing in timestep
This shouldn't change the answers.
196 lines of code changed in 2 files:
Now passing the grid into the problemSetup() tasks.
Added bulletproofing to VRLocationsMin/Max. They can't lie outside the
computational domain.
1 lines of code changed in 1 file:
Clean up a few warnings (comparison of signed/unsigned) on gcc and reformat some particle stuff
15 lines of code changed in 2 files:
Allow underlying, raw Task to know it's deviceID when GPU-enabled. This commit is on behalf of Abhishek Bagusetty with modifications by Alan Humphrey.
9 lines of code changed in 4 files:
I missed some merge markers when merging.
Remove the particle absorp. in favor of a total absorption coeffient for
RMCRT.
0 lines of code changed in 1 file:
Complete divorce of the radiation properties from the radiation models
themselves. This simplified the radiation models considerably. The
properties are now being computed upstream and only accessed by the
models themselves.
For the RadProps models with particles, the particle interface needs to
added back in. It should be done in a generic way so as not to preclude
any CQMOM interface.
4 lines of code changed in 2 files:
fixed previous sloppy commit.
6 lines of code changed in 1 file:
accidently turned on float:RMCRT in last commit. Turned it off.
1 lines of code changed in 1 file:
- converted abskg and color from CCVariable<double> to CCVariable<float>.
- added a HACK around the setBC calls. The BC infrastructure
wasn't designed to work with floats and it will need a face lift
if we decide to continue down this path. For now
copy floats -> doubles
setBC (doubles)
copy doubles -> floats
The float version runs.
89 lines of code changed in 2 files:
Added a "sandbox" for testing using floats instead of doubles in RMCRT. This is just a copy
of RMCRT with no changes.
19 lines of code changed in 2 files:
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
19 lines of code changed in 1 file:
Missed two files in previous commit...
M CCA/Components/Schedulers/GPUDataWarehouse.cu
- Remove the implementation of isThread0_Blk0 from this file as it is in Core/Util/GPU.cu.
- #include GPU.h to get isThread0_Blk0.
- Fix indention.
M CCA/Components/Examples/UnifiedSchedulerTestKernel.cu
- Don't #include the .cu file, only need GPUDataWarehouse.h now.
- Added whitespace to make function variable list readable.
- Fix some indentation.
41 lines of code changed in 2 files:
* Prepare build system CUDA support for separate CUDA compilation and device code linking (Titan static builds)
* need NVCC flag -arch=sm_* to work with NVCC flags: -dc and -dlink
* Generate new configure script
* Cleanup Examples sub.mk - remove old lines refering to non-existent GPU example components
* Add temporary fix for CPU/GPU RMCRT carry forward issue
0 lines of code changed in 1 file:
Finish some straggler copyright/license updates. (2013 --> 2014).
Found while working in md-dev branch.
8 lines of code changed in 11 files:
Some cleanup and fixes on existing GPU-enabled components and GPU-related APIs.
78 lines of code changed in 3 files:
Updated copyright information.
33 lines of code changed in 64 files:
Removed dead code from previous commit
0 lines of code changed in 1 file:
Eliminated the carryforward task. That code has been moved to the rayTrace task
Added calc_frequency tag to ups files.
RMCRT_test_1L.ups & RMCRT_bm1_DO.ups:
- set calc_frequency to 2.
This should not change the answers.
1 lines of code changed in 1 file:
Reorganization:
- moved the initialization of abskg from ray.cc -> RMCRT_Test. This is consistent
with how Arches & Wasatch interact with the ray class.
- updated the input files to reflect the changes
Removed _abskgBench4, this is redundant with _abskg.
Commented out code related to benchmark 4 & 5. It's not clear
which verification test these refer to and they're creating heartburn.
** This should not change the answers.
175 lines of code changed in 2 files: