[root]/CCA/Components/Models/Radiation/RMCRT
Docs
(0 files, 0 lines)
randomNums
(4 files, 337 lines)
Author | Changes | Lines of Code | Lines per Change |
---|---|---|---|
Totals | 175 (100.0%) | 3911 (100.0%) | 22.3 |
harman | 124 (70.9%) | 3512 (89.8%) | 28.3 |
ahumphrey | 14 (8.0%) | 203 (5.2%) | 14.5 |
ihunsaker | 16 (9.1%) | 135 (3.5%) | 8.4 |
qymeng | 13 (7.4%) | 46 (1.2%) | 3.5 |
jsutherland | 3 (1.7%) | 13 (0.3%) | 4.3 |
wyxpuma | 1 (0.6%) | 2 (0.1%) | 2.0 |
jas | 4 (2.3%) | 0 (0.0%) | 0.0 |
updateSumI()
- optimization ~10% improvement.
0 lines of code changed in 2 files:
findRayDirection()
add numerical fuzz to prevent inf values when the random number is exactly 0.5.
This should not change the answers.
21 lines of code changed in 3 files:
Reverting the use of Boost to perform file and directory copies for restarting.
0 lines of code changed in 4 files:
Using
#if DEBUG 1,2 or 3
for better control of cpu/gpu comparison output statements. These will eventuall go away.
46 lines of code changed in 2 files:
Finished filling in the boundaryFlux computations.
The results have not been verified.
132 lines of code changed in 3 files:
Started filling in the boundaryFlux computation
It compiles and that's it.
141 lines of code changed in 5 files:
problemSetup()
using root-ps instead of probl_spec for periodic BC bulletproofing.
1 lines of code changed in 1 file:
Now scheduling stencil7 variables for cpu and gpu.
Added bulletproofing. Throw an exception if the user specifies periodic boundaries.
21 lines of code changed in 2 files:
randDevice() & randDblExcDevice()
- now using a thread index that contains threadIdx(x,y,z). This provides reproduceability of the results.
3 lines of code changed in 1 file:
Reduce the BLOCKSIZE if the number of cells in a block is < blockSize^2
11 lines of code changed in 1 file:
The datum for thread indices is the patch->getExtraCellLow() not domainLo. This fixes a
very nasty multipatch bug.
Added temporary sanity check code to test the "iterators."
Removed domainLow and domainHi, since they're no longer needed.
removed code that isn't used containsCellDevice()
42 lines of code changed in 3 files:
added code to initialize divQ, VRFlux and radiationVolQ inside the kernel.
30 lines of code changed in 3 files:
Backout recent changes to stencil7 variable BoundFlux. These will be reinstated once
we have a handle on the odd behavior.
37 lines of code changed in 2 files:
Scattering on the GPU now runs. Answers have not been verified.
48 lines of code changed in 3 files:
Added an initialization function for stencil7 variables
Initializing boundaryFlux = 0 in GPULand. This is just a test for GPUStencil7 support.
30 lines of code changed in 2 files:
Global name change
Int3 -> gpuIntVector
Double3 -> gpuVector
These variables will eventually behave similar to IntVectors & Vectors.
63 lines of code changed in 3 files:
fixed compile error.
Removed the hack for cellType. Now using native supported GPUGridVarialbe<int>
9 lines of code changed in 4 files:
Moved some of the Int3/double3 operators upstream to GPUVector.h.
Turned on the RNGs. Now initializing the RNGs cudaState upstream of the main kernel in a separate
setupRandNum_kernel.
70 lines of code changed in 3 files:
Add support for GPU Stencil7.
Add additional cuda_testdefs macro for range checking on the GPU when SCI_CUDA_ASSERTION_LEVEL >= 3
1 lines of code changed in 1 file:
Put GPUVector code within SCIRun namespace and add header guard.
Add using namespace directive accordingly to RayGPU kernel and header.
4 lines of code changed in 2 files:
Add Unified Scheduler support for automatic copying of generic GridVariables to the GPU. This support can be easily extended to Stencil7, ParticleVariable, etc with an expanded inheritance heirarchy of "GPUVariables":
GPUVariable
|------GPUGridVariableBase
| |------GPUGridVariable<T>
|------GPUReductionVariableBase
| |------GPUReductionVariable<T>
|------GPUStencil7Base
| |------GPUStencil7<T>
|------GPUParticleVariableBase
| |------GPUParicleVariable<T>
* Need to implement a cleaner way to "getRegion" for RMCRT. This works for now.
* Also some small changes to the UnifedSchedulerTest example.
* Fix typo in RayGPU.cc
2 lines of code changed in 1 file:
converted a few variables that I missed in last commit.
int3 -> Int3
8 lines of code changed in 3 files:
Global:
changed int3 -> Int3
changed double3 -> Double3
So you can use [] operators.
removed the temporary functions getElement() and updateElement() which
operated on an element of a int3 or double3.
Answers do not change for rmcrt_test_1L.ups
79 lines of code changed in 2 files:
Ray.cc:
moved initialization of d_DcellType from initProperties() to setBoundaryConditions
RayGPU.cc
increase the size of the printf buffer by 10X. Needed for debugging.
RayGPUKernel.cu
fixed Z-slices looping limits
changes to printf statements
turned on the while( intensity > threshold) loop
helper functions updateElement()
added break statements
81 lines of code changed in 3 files:
Added a double verion of cellType since GPUGridVariables only support doubles at this time.
This hack creates polution but should not influence the results.
The CPU & GPU code is heavily instrumented for direct comparisons.
133 lines of code changed in 5 files:
This one has been a long time coming.
Rip out the standard namespace opening that has been polluting header files throughout the framework. This crept into all sorts of places.
DO NOT open namespaces in header files. Ever.
11 lines of code changed in 1 file:
schedule ray CPU task if -gpu argument not present, instead of depends on HAVE_CUDA macro.
17 lines of code changed in 5 files:
Global: changed _pi -> M_PI which is defined in math.h
11 lines of code changed in 2 files:
Add support for post GPU kernel processing callback.
A GPU task will be called multipule times and each time an event argument will be passed.
The task function can then use the event to decide what to run when
1) Task::CPU task is scheduled to run on CPU
2) Task::GPU task is scheduled to run on GPU
3) Task::postGPU task is finished execution on GPU, DW has been copied back.
CPU only task interface is not unchanged.
8 lines of code changed in 3 files:
-Heavily instrumented code.
-random number generators not being used.
It compiles and that's about it.
212 lines of code changed in 4 files:
add const GPU Grid Variable support
13 lines of code changed in 2 files:
Moved MersenneTwister.h to Core/Math so others can use it.
3 lines of code changed in 2 files:
removed extra spaces.
removed old version of updateSumIDevice()
rayTraceKernel()
- added get() calls for abskg, sigmaT4 and celltype for
the entire computational domain.
22 lines of code changed in 1 file:
More heavy construction in GPU:RMCRT
global variable name change:
size->nRaySteps
It will compile.
163 lines of code changed in 4 files:
added
- findRayDirectionDevice
- rayLocationDevice
- updateSumIDevice -- still under construction.
a bunch of operators for double3 and uint3 variables.
Still under heavy construction.
361 lines of code changed in 3 files:
Construction zone.
-created RMCRT_flags struct. Now passing that around.
-created core conditional blocks inside of the Kernel.
It compiles.
114 lines of code changed in 3 files:
created several structs that are being passed into the kernel.
170 lines of code changed in 5 files:
Fix RMCRT_Test compiler error.
25 lines of code changed in 3 files:
First wave of refactoring for RMCRT to use the new Unified Scheduler GPU-DataWarehouse interface.
This is essentially all the "external plumbing". Internal work will be to next re-write the rayTrace kernel to fit with the recent CPU-RMCRT changes.
168 lines of code changed in 6 files:
Ray.cc: updateSumI() in Ray_scatter section
- let the user control if the random number generator seed is random.
RMCRT_test.cc
- now using the correct timeIndex in all dataArchive queries. Previously,
we were using the timestep number.
2 lines of code changed in 1 file:
(38 more)