Directory CCA/Components/Models/Radiation/RMCRT/

Total Files:
12
Deleted Files:
0
Lines of Code:
9229

[root]/CCA/Components/Models/Radiation/RMCRT
                        directory in repo randomNums (3 files, 840 lines)

Lines of Code

CCA/Components/Models/Radiation/RMCRT/ Lines of Code

Developers

Author Changes Lines of Code Lines per Change
Totals 114 (100.0%) 7397 (100.0%) 64.8
jholmen 13 (11.4%) 5553 (75.1%) 427.1
ahumphrey 28 (24.6%) 1114 (15.1%) 39.7
harman 27 (23.7%) 337 (4.6%) 12.4
allen 24 (21.1%) 243 (3.3%) 10.1
bpeterson 9 (7.9%) 123 (1.7%) 13.6
jas 12 (10.5%) 25 (0.3%) 2.0
dav 1 (0.9%) 2 (0.0%) 2.0

Most Recent Commits

allen 2017-12-21 21:23 Rev.: 57512

added second interface computeTaskGraphIndex to remove need for shared shate call, renamed recomputeTimeStep to recomputeDelT for a more accurate call

24 lines of code changed in 6 files:

  • CCA/Components/Models/Radiation/RMCRT: Ray.cc (+6), Ray.h (new), RayGPU.cc (+16 -2)
allen 2017-12-18 19:55 Rev.: 57476

Made the models a first class component and minor clean up the MPM header file usage

19 lines of code changed in 7 files:

  • CCA/Components/Models/Radiation/RMCRT: RMCRTCommon.h (new), Radiometer.cc (+1 -1), Ray.cc (+11 -11), RayKokkos.cc (+6 -6)
jholmen 2017-12-17 18:32 Rev.: 57465

* Replaced use of std::vector within rayTrace_dataOnion_solveDivQFunctor with arrays of plain old data and views.
* Templated rayTrace_dataOnion_solveDivQFunctor on maxLevels.
* Added the FIXED_RANDOM_NUM macro.
* Removed use of d_isSeedRandom within functors.
* Hard-coded use of d_flowCell within functors.

202 lines of code changed in 1 file:

  • CCA/Components/Models/Radiation/RMCRT: RayKokkos.cc (+202 -116)
jholmen 2017-12-15 23:57 Rev.: 57464

* Setup views outside of functors.
* Updates to work with more plain old data within functors.

122 lines of code changed in 1 file:

  • CCA/Components/Models/Radiation/RMCRT: RayKokkos.cc (+122 -71)
jholmen 2017-12-15 16:50 Rev.: 57461

* Added RayKokkos.h.
* Replaced use of MersenneTwister with KokkosRandom.
* Removed rayDirection_cellFace.
* Removed rayDirectionHyperCube_cellFace.
* Removed findRayDirectionHyperCube.
* Removed rayLocation_cellFace.

This commit replaces use of the MersenneTwister with a portable Kokkos alternative. This alternative is based on Vigna, Sebastiano (2014). "An experimental exploration of Marsaglia's xorshift generators, scrambled." http://arxiv.org/abs/1402.6246

Note, this generator is seeded using the time. To enable comparisons with Ray:CPU, define FIXED_RANDOM_NUM in src/Core/Math/MersenneTwister.h. To enable comparisons with Ray:GPU, define FIXED_RANDOM_NUM in src/CCA/Components/Models/Radiation/RMCRT/RayGPUKernel.cu.

This commit also removes functions featuring use of the MersenneTwister. These have been (or will be) brought into functors.

512 lines of code changed in 2 files:

  • CCA/Components/Models/Radiation/RMCRT: RayKokkos.cc (+133 -282), RayKokkos.h (new 379)
jholmen 2017-12-14 23:03 Rev.: 57455

* Removed updateSumI_ML.
* Removed boundary flux calculations.

updateSumI_ML functionality has been brought into rayTrace_dataOnion_solveDivQFunctor.

Boundary flux calculations have been temporarily removed in preparation for replacing the MersenneTwister with a portable Kokkos alternative.

11 lines of code changed in 1 file:

  • CCA/Components/Models/Radiation/RMCRT: RayKokkos.cc (+11 -472)
jholmen 2017-12-14 20:29 Rev.: 57454

* Updated multi-level RMCRT:Kokkos to match the implementation within Ray.cc r57329.

581 lines of code changed in 1 file:

  • CCA/Components/Models/Radiation/RMCRT: RayKokkos.cc (+581 -462)
jholmen 2017-12-13 13:42 Rev.: 57437

* Updated single-level RMCRT:Kokkos to match the implementation within Ray.cc r57329.

351 lines of code changed in 1 file:

  • CCA/Components/Models/Radiation/RMCRT: RayKokkos.cc (+351 -319)
allen 2017-12-12 20:26 Rev.: 57433

Cleanup of the Scheduler to use ports for all components

1 lines of code changed in 1 file:

  • CCA/Components/Models/Radiation/RMCRT: Radiometer.cc (+1 -1)
jholmen 2017-11-22 12:01 Rev.: 57330

* Removed unnecessary code paths that are no longer needed due to separating RMCRT:CPU and RMCRT:Kokkos.

4 lines of code changed in 1 file:

  • CCA/Components/Models/Radiation/RMCRT: RayKokkos.cc (+4 -128)
jholmen 2017-11-22 10:35 Rev.: 57329

* Removed Kokkos-based RMCRT implementations from Ray.cc.
* Added CCA/Components/Models/Radiation/RMCRT/RayKokkos.cc.

This commit moves Kokkos-based RMCRT implementations into their own file.

Note, Kokkos must be invoked using --with-kokkos=DIR to manage which version is picked up.

3769 lines of code changed in 4 files:

  • CCA/Components/Models/Radiation/RMCRT: Ray.cc (+2 -566), RayKokkos.cc (+3761), sub.mk (+6 -1)
jholmen 2017-11-21 23:41 Rev.: 57328

* Added build system support for Kokkos.
* Added /src/include/sci_defs/kokkos_testdefs.h.in.

This commit allows --with-kokkos=DIR to be used to point to a Kokkos installation instead of CXXFLAGS and LDFLAGS.

Note, files using #define UINTAH_ENABLE_KOKKOS must now add #include <sci_defs/kokkos_defs.h> to manage this macro.

1 lines of code changed in 1 file:

  • CCA/Components/Models/Radiation/RMCRT: Ray.cc (+1)
allen 2017-11-21 15:40 Rev.: 57322

update to move to a application common class and remove the shared state

33 lines of code changed in 1 file:

  • CCA/Components/Models/Radiation/RMCRT: Ray.cc (+33 -33)
harman 2017-10-19 16:13 Rev.: 57158

randVector()
- Deleted debugging print statements

0 lines of code changed in 2 files:

  • CCA/Components/Models/Radiation/RMCRT: RMCRTCommon.cc (new)
harman 2017-10-19 13:54 Rev.: 57156

Added a global map for keeping track of which dw the abskg resides in.

// For RMCRT algorithms the absorption coefficient can be required from either the old_dw or
// new_dw depending on if RMCRT:float is specified. On coarse levels abskg _always_ resides
// in the newDW. If RMCRT:float is used then abskg on the fine level resides in the new_dw.


This will change then number of checkpoints and the answers in ARCHES:RMCRT:multibox tests.


78 lines of code changed in 4 files:

  • CCA/Components/Models/Radiation/RMCRT: RMCRTCommon.cc (+57 -17), RMCRTCommon.h (+6 -2), Radiometer.cc (+7 -5), Ray.cc (+8 -7)
harman 2017-10-17 14:15 Rev.: 57150

coarsen_Q:
- use the fine level dataWarehouse passed into the task when pulling data out. This fixes one bug but there are more...

4 lines of code changed in 1 file:

  • CCA/Components/Models/Radiation/RMCRT: Ray.cc (+4 -4)
jas 2017-10-13 14:42 Rev.: 57138

Replace all instances of StaticArray with std::vector. This has been tested on the RT for all components. It is a drop in replacement. StaticArray is being removed.

15 lines of code changed in 2 files:

  • CCA/Components/Models/Radiation/RMCRT: Ray.cc (+12 -12), Ray.h (+3 -4)
harman 2017-10-12 09:09 Rev.: 57137

compiler warnings

1 lines of code changed in 1 file:

  • CCA/Components/Models/Radiation/RMCRT: Ray.cc (+1 -1)
harman 2017-10-06 10:02 Rev.: 57090

RMCRT.cc
sched_computeSource() DataOnion section
- reverse the order in which levels coarsen variables. You can't coarsen a level until
the finer level has been populatd. --Derek

Ray.cc
added printSchedule() statement.

4 lines of code changed in 1 file:

  • CCA/Components/Models/Radiation/RMCRT: Ray.cc (+4 -2)
harman 2017-09-28 14:40 Rev.: 57042

No longer saving the flag isNonCubic to udas. That flag is now set whenever a level is finalized.
If the volume of a level's bounding box != sum(patch volumes) then a level is nonCubic.

Level.cc
computeVariableExtents(): added particle type and fixed NCVariable extents.

Ups files: added <Grid doAMR= "true"> to files where it was missing.
removed <nonCubid_domain>

Ray.cc: diabled isnan bulletproofing. Something isn't working correctly and nans are being detected.

** You need to run make reallyclean before compiling.

14 lines of code changed in 1 file:

  • CCA/Components/Models/Radiation/RMCRT: Ray.cc (+14 -16)
allen 2017-08-29 16:55 Rev.: 56921

moved timer so to be per patch

3 lines of code changed in 1 file:

  • CCA/Components/Models/Radiation/RMCRT: Ray.cc (+3 -3)
allen 2017-07-31 14:26 Rev.: 56833

debug streams were changed to the douts so added them to the correct list

2 lines of code changed in 1 file:

  • CCA/Components/Models/Radiation/RMCRT: Ray.cc (+2 -2)
harman 2017-07-21 16:12 Rev.: 56818

Ray.cc
- changed Dout dbg to extern Dout g_ray_dbg. Shutdowns aren't clean if there are to Dout's with the
same name???

ARCHES.py
- added cpu and threaded regression tests for the input files:
multibox_rmcrt_coal_1L.ups
multibox_rmcrt_coal_2L.ups
multibox_rmcrt_coal_DO.ups


35 lines of code changed in 1 file:

  • CCA/Components/Models/Radiation/RMCRT: Ray.cc (+35 -65)
harman 2017-07-21 14:59 Rev.: 56817

RMCRTCommon:
- pulled requires weed.


Ray.cc:
- turned exception into a warning. It possible for the user to save abskg and the float representation
abskgRMCRT in the same uda.


SourceTerms/RMCRT
extraSetup()
- On the coarse level initialize either abskgt or abskgRMCRT depending if user selects float or double
version.

converted DebugStream -> DOUT.


2 lines of code changed in 2 files:

  • CCA/Components/Models/Radiation/RMCRT: RMCRTCommon.cc (-1), Ray.cc (+2 -2)
harman 2017-07-19 14:37 Rev.: 56805

Ray:
- throw exception if haloCells < (2,2,2)
- tweaked DOUT statements
- computeExtents
patch->getInterior cells for high and low for patch_based ROI

TaskGraph:
createDetailedDependencies()
- Turned off cullIntersection() It returns the wrong lo & hi at the inside corner of the L
patches for RMCRT_+_Domain_DO.ups

Patch:computeVariableExtentsWithBoundaryCheck()
- changed the arbitrary value of numGhostCells from 5 to 1.

Examples.py
- removed EOL spaces.
- added the domain test RMCRT_+Domain_DO

11 lines of code changed in 1 file:

  • CCA/Components/Models/Radiation/RMCRT: Ray.cc (+11 -12)
ahumphrey 2017-07-14 13:38 Rev.: 56793

Revert DOUT.hpp to original, nearly pristine state.
Recommendation is to use explicit operator bool() for checking active state, but left active method in with coments.
Some other minor cleanup.

1 lines of code changed in 1 file:

  • CCA/Components/Models/Radiation/RMCRT: Ray.cc (+1 -1)
ahumphrey 2017-07-14 11:16 Rev.: 56790

Cleanup DOUT-based debugging output for RMCRT-related classes. Still having issues with use of DOUT in DbgOutput::print* methods. Working on it.

For those who are wondering, below is my spiel on Dout (class) and DOUT (variadic macro), why DebugStream is not a great idea in our world today, and perhaps some motivation to move in this direction should you actually want coherent, lock-free output by multiple threads or MPI ranks. Dout simply co-opts the SCI_DEBUG env var and does not effect DebugStream.

// ------------------------------------------------------------------------------------------------
// Dout (class) versions of the above (moving away from DebugStream)
//
// Dout is an extremely lightweight way to provide the same functionality as DebugStream,
// but in a fully lock-free way for both multiple threads and MPI ranks. Dout also does not
// inherit from from the standard library (std::ostream specifically) as DebugStream does.
// The DOUT variadic macro is then used, which is printf-based. By the POSIX standard, printf
// must "behave" like it acquired a lock. The Dout class also defines an explicit bool() operator
// for checking state, e.g. active or inactive.
// ------------------------------------------------------------------------------------------------

21 lines of code changed in 2 files:

  • CCA/Components/Models/Radiation/RMCRT: RMCRTCommon.cc (+14 -12), Radiometer.cc (+7 -10)
ahumphrey 2017-07-13 12:37 Rev.: 56781

Working with SFC and loadblancer functionality, re-enable SFC test.
Other minor cleanup, fix some comments.

5 lines of code changed in 1 file:

  • CCA/Components/Models/Radiation/RMCRT: Radiometer.cc (+5 -6)
ahumphrey 2017-07-10 15:45 Rev.: 56778

Further simplify Radiometer spatial patchset construction.

3 lines of code changed in 1 file:

  • CCA/Components/Models/Radiation/RMCRT: Radiometer.cc (+3 -4)
bpeterson 2017-07-10 12:52 Rev.: 56776

An RMCRT/GPU data onion cleanup of many items Todd and I discussed a month ago. Many of the changes are cosmetic (cleaner code, better comments). One change allows for any task to specify how many GPU streams it needs. This also fixes a bug where debug mode ran with too many threads, using up too many resources for a GPU RMCRT data onion kernel to execute.

117 lines of code changed in 7 files:

  • CCA/Components/Models/Radiation/RMCRT: Ray.cc (+2 -1), Ray.h (+2 -2), RayGPU.cc (+50 -16), RayGPU.cuh (new), RayGPUKernel.cu (+62 -53)
harman 2017-07-10 10:16 Rev.: 56774

Migration from DebugStream -> DOUT.

22 lines of code changed in 2 files:

  • CCA/Components/Models/Radiation/RMCRT: RMCRTCommon.cc (+2 -2), Ray.cc (+20 -19)
ahumphrey 2017-07-08 23:16 Rev.: 56773

Fix spatial scheduling in Radiometer so we create a single spatial task with a PatchSet like: { {19}, {22}, {25} } (singleton subsets like level->eachPatch()), NOT -> { {19,22,25} }. This is because one proc isn't guaranteed to own all patches in the multi-element subset.

Added Dout versions of printTask and printSchedule to DbgOutput. Now we actually get coherent output when multiple ranks write to stdout.

65 lines of code changed in 3 files:

  • CCA/Components/Models/Radiation/RMCRT: Radiometer.cc (+50 -49), Radiometer.h (new)
bpeterson 2017-07-07 21:19 Rev.: 56772

Hopefuly this fixes the debug bug completely. Let debug mode have all the registers it needs.

0 lines of code changed in 1 file:

  • CCA/Components/Models/Radiation/RMCRT: RayGPUKernel.cu (-3)
ahumphrey 2017-07-07 09:50 Rev.: 56764

Both temporal and spatial scheduling working correctly for Radiometer.

Effectively, spatial tasks are scheduled "level->eachSpatialPatch()" as opposed to "level->eachPatch". Working to generalize this within the infratructure. For now, schedule spatial tasks independently (independent task for each patch the spatial task runs on), as opposed to scheduling with a spatial PatchSubset. This is so the load balancer can distribute patches more effectively (as opposed to lumping all spatial tasks on a particular node), and so that MPI dependencies can be generated and met correctly.

50 lines of code changed in 2 files:

  • CCA/Components/Models/Radiation/RMCRT: Radiometer.cc (+43 -113), Radiometer.h (+7 -7)
ahumphrey 2017-07-06 09:41 Rev.: 56755

Modify Radiometer for spatial scheduling with ghost cells. Need empty DetailedTasks for dependency generation phase under current model. Unnecessary comm is bypassed the way it should be. Still working on correct patch assignments in the infrastructure, but close.

33 lines of code changed in 1 file:

  • CCA/Components/Models/Radiation/RMCRT: Radiometer.cc (+33 -36)
bpeterson 2017-07-06 01:00 Rev.: 56754

This fixes an odd cudaErrorInvalidDeviceFunction bug. The problem wasn't the kernel being called, but that another kernel which wasn't ever called didn't have enough registers. It also only showed up in debug mode builds. Now the kernels can run again

6 lines of code changed in 1 file:

  • CCA/Components/Models/Radiation/RMCRT: RayGPUKernel.cu (+6 -3)
harman 2017-06-30 09:04 Rev.: 56717

Disable spatial scheduling.

1 lines of code changed in 1 file:

  • CCA/Components/Models/Radiation/RMCRT: Radiometer.cc (+1 -1)
harman 2017-06-29 17:19 Rev.: 56716

sched_sigmaT4
- removed requires for sigmaT4 from the old_dw and some out dated logic.

0 lines of code changed in 1 file:

  • CCA/Components/Models/Radiation/RMCRT: RMCRTCommon.cc (-16)
harman 2017-06-29 14:53 Rev.: 56713

removed debugging comment.

1 lines of code changed in 1 file:

  • CCA/Components/Models/Radiation/RMCRT: Ray.cc (+1 -3)
ahumphrey 2017-06-29 13:40 Rev.: 56712

Fix compiler error for ray_scattering case.

7 lines of code changed in 1 file:

  • CCA/Components/Models/Radiation/RMCRT: Radiometer.cc (+7 -7)

(15 more)

Generated by StatSVN 0.7.0