Directory CCA/Components/Models/Radiation/RMCRT/

Total Files:
11
Deleted Files:
0
Lines of Code:
7452

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

Lines of Code

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

Developers

Author Changes Lines of Code Lines per Change
Totals 111 (100.0%) 2865 (100.0%) 25.8
harman 61 (55.0%) 1844 (64.4%) 30.2
jholmen 2 (1.8%) 573 (20.0%) 286.5
bpeterson 23 (20.7%) 347 (12.1%) 15.0
ahumphrey 6 (5.4%) 63 (2.2%) 10.5
jas 14 (12.6%) 17 (0.6%) 1.2
dsunder 2 (1.8%) 12 (0.4%) 6.0
derekhar 1 (0.9%) 7 (0.2%) 7.0
dav 2 (1.8%) 2 (0.1%) 1.0

Most Recent Commits

bpeterson 2016-11-19 14:14 Rev.: 55998

Seems the trunk GPU RMCRT code had the fixed random number flag turned on. Fixing that by turning it back off

0 lines of code changed in 2 files:

  • CCA/Components/Models/Radiation/RMCRT: RayGPUKernel.cu (changed)
bpeterson 2016-11-19 14:12 Rev.: 55997

Tweaking the code so float support for GPU RMCRT works again on data onion

10 lines of code changed in 1 file:

  • CCA/Components/Models/Radiation/RMCRT: RayGPUKernel.cu (+10 -2)
harman 2016-11-15 11:10 Rev.: 55979

coarsenQ() coarsen extraCells
- limit the coarse level cell iterator to
// don't exceed the coarse patch
cl = Max(cl, coarsePatchLo);
ch = Min(ch, coarsePatchHi)


0 lines of code changed in 2 files:

  • CCA/Components/Models/Radiation/RMCRT: Ray.cc (changed)
harman 2016-11-14 11:17 Rev.: 55973

coarsen_Q()
added code to coarsen the extra cells if the user asks for it.


rmcrt_bm1_DO.ups:
- changed the resolution so the coarse level has a refinement ratio of 2.


81 lines of code changed in 1 file:

  • CCA/Components/Models/Radiation/RMCRT: Ray.cc (+81 -13)
harman 2016-11-09 16:25 Rev.: 55964

added code to coarsen fine level extra cells to the coarser level extra cells. Incomplete

Added input file to test it.

User spec:
<algorithm type='dataOnion'>
<coarsenExtraCells> true </coarsenExtraCells>
</algorithm>

or

<algorithm type='RMCRT_coarseLevel'>
<coarsenExtraCells> true </coarsenExtraCells>
</algorithm>

76 lines of code changed in 3 files:

  • CCA/Components/Models/Radiation/RMCRT: Ray.cc (+71 -33), Ray.h (new)
harman 2016-11-04 17:19 Rev.: 55952

global name change d_halo -> d_haloCells

-Added input file option <haloLength>. User can specify a physical length, instead of the number of cells
that a ray must travel before dropping to a coarser level.


35 lines of code changed in 6 files:

  • CCA/Components/Models/Radiation/RMCRT: Ray.cc (+24 -15), Ray.h (+4 -1), RayGPU.cc (+1), RayGPU.cuh (+6 -1)
derekhar 2016-11-03 14:29 Rev.: 55947

Changed radVolQ in RMCRT to be conistent with Discrete-ordinates.
This should change the answers to RMCRT tests.

7 lines of code changed in 1 file:

  • CCA/Components/Models/Radiation/RMCRT: Ray.cc (+7 -7)
harman 2016-11-02 12:41 Rev.: 55936

Changed user inputs:

- <ROI_extents type='max_rayLength'> -> <ROI_extents type='boundedRayLength'>

It seems to be the converged terminology.

5 lines of code changed in 2 files:

  • CCA/Components/Models/Radiation/RMCRT: Ray.cc (+4 -4), Ray.h (+1 -1)
bpeterson 2016-10-16 21:20 Rev.: 55892

Committed the wrong things last time. This is the correct set of stuff to commit

4 lines of code changed in 1 file:

  • CCA/Components/Models/Radiation/RMCRT: Ray.cc (+4 -23)
bpeterson 2016-10-16 01:17 Rev.: 55891

Fixes an ROI extents issue. This was tested to help get the BSF_rmcrt.ups Titan run to proceed past the errors on timestep 1.

8 lines of code changed in 1 file:

  • CCA/Components/Models/Radiation/RMCRT: Ray.cc (+8 -1)
harman 2016-10-14 16:54 Rev.: 55887

added bulletproofing to catch non-physical values of abskg, sigmaT4 and cellType.


38 lines of code changed in 3 files:

  • CCA/Components/Models/Radiation/RMCRT: RMCRTCommon.cc (+8), Ray.cc (+30 -29)
harman 2016-10-14 14:11 Rev.: 55883

added physical location where a NaN or inf is detected.

1 lines of code changed in 1 file:

  • CCA/Components/Models/Radiation/RMCRT: Ray.cc (+1 -1)
harman 2016-10-14 09:35 Rev.: 55880

removed debugging cout

1 lines of code changed in 1 file:

  • CCA/Components/Models/Radiation/RMCRT: Ray.cc (+1 -3)
harman 2016-10-12 14:01 Rev.: 55862

Store the level boxes specified in the ups file in a vector<BBox>. This vector is searched
if an RMCRT ray is going out of bounds.

Added <Grid>
<nonCubic_domain> bool </nonCubic_domain>
</Grid>

Enabled bulletproofing in RMCRT in the bounding ray approach.

24 lines of code changed in 1 file:

  • CCA/Components/Models/Radiation/RMCRT: Ray.cc (+24 -18)
bpeterson 2016-10-08 05:17 Rev.: 55850

Tweaking Todd's bulletproofing so that it only looks within cells within patches and not cells in the entire level

19 lines of code changed in 1 file:

  • CCA/Components/Models/Radiation/RMCRT: Ray.cc (+19 -17)
harman 2016-10-07 11:01 Rev.: 55849

added bulletproofing in rayTrace and updateSumI to catch Nans or infs floating around.


50 lines of code changed in 2 files:

  • CCA/Components/Models/Radiation/RMCRT: RMCRTCommon.cc (+25), Ray.cc (+25)
harman 2016-10-06 17:19 Rev.: 55847

updateSumI()
- if disMin is non-physical ~ -1e-15 then add some numerical fuzz 1e-12.

Removed exception about calc frequency and gpus.

7 lines of code changed in 2 files:

  • CCA/Components/Models/Radiation/RMCRT: RMCRTCommon.cc (+7), Ray.cc (-6)
harman 2016-09-30 12:52 Rev.: 55820

file name change

RMCRT_test_1L.ups -> RMCRT_bm1_1L.ups

1 lines of code changed in 2 files:

  • CCA/Components/Models/Radiation/RMCRT: OptLog (+1 -1)
harman 2016-09-30 12:15 Rev.: 55819

Implemented Derek's idea for truncating a ray after a user defined distance. CPU, single level only.

<algorithm type='singleLevel'>
<ROI_extents type='max_rayLength'>
<length> 0.1 </length>
</ROI_extents>
</algorithm>


Added bulletproofing if the rayLengh is inf, nan or negative.

Variable name change d_whichROI_algo -> d_ROI_alg


207 lines of code changed in 6 files:

  • CCA/Components/Models/Radiation/RMCRT: RMCRTCommon.cc (+48 -16), RMCRTCommon.h (+8 -4), Ray.cc (+106 -40), Ray.h (+27 -21), RayGPU.cc (+18 -17)
bpeterson 2016-09-30 10:03 Rev.: 55818

A bug fix to make sure the random ray ID # is never more than the amount of total rays

14 lines of code changed in 1 file:

  • CCA/Components/Models/Radiation/RMCRT: RayGPUKernel.cu (+14 -7)
harman 2016-09-27 17:57 Rev.: 55813

Ray.cc sched_Refine_Q() and refineQ()
interpolate coarse level radtionVolq -> fine level using standard machinery.

ups files:
save radiationVolq on the finest level.

25 lines of code changed in 1 file:

  • CCA/Components/Models/Radiation/RMCRT: Ray.cc (+25 -10)
harman 2016-09-27 12:32 Rev.: 55801

Added boundary flux calculations to DO algorithm. Verified against 1L with a refinement ratio of 1.


145 lines of code changed in 1 file:

  • CCA/Components/Models/Radiation/RMCRT: Ray.cc (+145 -50)
harman 2016-09-27 08:59 Rev.: 55797

Enable boundary flux computation in input files.

Added machinery (incomplete) to compute boundary fluxes in ML and DO.


61 lines of code changed in 1 file:

  • CCA/Components/Models/Radiation/RMCRT: Ray.cc (+61 -31)
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().



2 lines of code changed in 2 files:

  • CCA/Components/Models/Radiation/RMCRT: Radiometer.cc (new)
ahumphrey 2016-07-08 16:13 Rev.: 55500

Allow ghost cell requirements to vary across levels for tasks scheduled on the fine level, e.g. RMCRT_DO. This reduces the LoadBalancer::createNeighborhood complexity for RMCRT_DO significantly, e.g. from 45 minutes to 15 seconds with 64^3 patches on the fine level.

NOTE: This is a unique case and the solution was a trade off: a simple design for the edge-case far outweighed the complexity a generalized solution involved. This was effectively the addition of one integer in Task and SchedulerCommon and some simple logic elsewhere.

Also fixed some logic on sched_rayTrace_dataOnion to more clearly cycle through course levels for requriements.

38 lines of code changed in 1 file:

  • CCA/Components/Models/Radiation/RMCRT: Ray.cc (+38 -40)
ahumphrey 2016-06-21 10:33 Rev.: 55452

* Use variadic templates to simplify and generalize Action and Task constructors.

* Added utility class (header-only), src/Core/Util/TupleHelpers.hpp, that provides a clean way to deal with template or function parameter packs.

To see the utility in the amount of code reduction this achieves, compare Task.h now and with the previous revision. We have one Action and Task CTOR for CPU and GPU, instead of 5 overloads (for each, CPU adn GPU) and can now take in an arbitrarty number of additional arguments.

Refactor Task class and supporting classes:
* member naming convention - m_
* use nullptr comparison/checks over checks for 0
* heavy cleanup and formatting throughout

6 lines of code changed in 1 file:

  • CCA/Components/Models/Radiation/RMCRT: RayGPU.cc (+6 -2)
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).

19 lines of code changed in 4 files:

  • CCA/Components/Models/Radiation/RMCRT: RMCRTCommon.cc (+2 -2), Radiometer.cc (+1 -1), Ray.cc (+8 -8), RayGPU.cc (+8 -8)
bpeterson 2016-06-10 10:31 Rev.: 55426

Some changes that Todd requested for RMCRT.

17 lines of code changed in 1 file:

  • CCA/Components/Models/Radiation/RMCRT: RayGPUKernel.cu (+17 -1)
harman 2016-05-25 14:58 Rev.: 55385

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:

  • CCA/Components/Models/Radiation/RMCRT: RMCRTCommon.cc (+2 -2), Ray.cc (+18 -16), RayGPU.cuh (+13), RayGPUKernel.cu (+82 -32)
harman 2016-05-24 10:33 Rev.: 55376

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:

  • CCA/Components/Models/Radiation/RMCRT: Ray.cc (+3 -3), RayGPU.cc (+19 -24), RayGPU.cuh (+67 -91), RayGPUKernel.cu (+183 -253)
harman 2016-05-16 17:16 Rev.: 55356

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:

  • CCA/Components/Models/Radiation/RMCRT: RMCRTCommon.cc (+29 -79), RMCRTCommon.h (-24), Ray.cc (+98 -97), Ray.h (+1 -3)
bpeterson 2016-05-12 14:34 Rev.: 55343

This fixes the isnan and isinf issue. See the code comments for more details

51 lines of code changed in 1 file:

  • CCA/Components/Models/Radiation/RMCRT: RayGPUKernel.cu (+51 -6)
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)

49 lines of code changed in 4 files:

  • CCA/Components/Models/Radiation/RMCRT: Ray.h (+2 -2), RayGPU.cc (+11 -8), RayGPU.cuh (+5 -2), RayGPUKernel.cu (+31 -19)
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.

16 lines of code changed in 2 files:

  • CCA/Components/Models/Radiation/RMCRT: Ray.h (+4 -2), RayGPU.cc (+12 -6)
dsunder 2016-05-04 16:07 Rev.: 55310

Refactor Array3 to remove iterator to make it possible to merge trunk
into the kokkos_dev branch

0 lines of code changed in 1 file:

  • CCA/Components/Models/Radiation/RMCRT: Ray.cc (-5)
bpeterson 2016-05-04 09:36 Rev.: 55307

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.

7 lines of code changed in 1 file:

  • CCA/Components/Models/Radiation/RMCRT: RayGPUKernel.cu (+7)
jholmen 2016-05-03 23:59 Rev.: 55306

* Reintroduced DyDx and DzDx for the Kokkos-based implementation of single-level RMCRT.

7 lines of code changed in 1 file:

  • CCA/Components/Models/Radiation/RMCRT: Ray.cc (+7 -4)
dsunder 2016-04-29 14:44 Rev.: 55275

Temp disable Kokkos in RMCRT/Ray.cc because the implementation has changed

12 lines of code changed in 1 file:

  • CCA/Components/Models/Radiation/RMCRT: Ray.cc (+12 -12)
bpeterson 2016-04-28 17:00 Rev.: 55262

This makes RMCRT computions fully asynchronous, giving us substantial speedups in computations with multiple patches. Future work can be looking at reduing the amount of GPU registers per GPU thread, as it appears the GPU is getting filled up faster and it can't hold all concurrent kernels.

23 lines of code changed in 1 file:

  • CCA/Components/Models/Radiation/RMCRT: RayGPUKernel.cu (+23 -11)
bpeterson 2016-04-28 12:56 Rev.: 55258

Streaming kernels in hopes of overlapping computations

2 lines of code changed in 1 file:

  • CCA/Components/Models/Radiation/RMCRT: RayGPUKernel.cu (+2 -2)

(9 more)

Generated by StatSVN 0.7.0