Opticks > 1000x Geant4 (*)
GPU massive parallelism eliminates bottleneck.
[zero: effectively, compared to rest of simulation]
More Photons -> More Benefit
http://bitbucket.org/simoncblyth/opticks
(*) core extrapolated from mobile GPU speed
Optical Photon Problem
Optical photons:
Isolated nature -> easily separated propagation
Hybrid Solution Possible : Geant4 + Opticks
OptiX Pixel Calculation
NVIDIA® OptiX™
http://developer.nvidia.com/optix
https://research.nvidia.com/publication/optix-general-purpose-ray-tracing-engine
Volumes -> Boundaries
Material/surface boundary representation (4 indices)
Primitives labelled with unique boundary index
GPU textures also used for:
Geocache -> few seconds startup, instead of few minutes
Geometry analysed to find instances
JUNO: ~90M --> 0.1M triangles
OpenGL/OptiX instancing
Multiple Renderers
Analytic : more realistic, faster, less memory, much more effort
For Dayabay PMT:
Aim : analytic description of geometry on critical optical path, remainder tesselated
GPU Resident Photons
~Stacks collected before photon generation:
Thrust: high level C++ access to CUDA
Geant4/Detector Simulation
Opticks (OptiX/Thrust GPU interoperation)
Geant4/Detector Simulation
Multi-event handling
Sequence index -> interactive OpenGL selection of photons by flag sequence
Statistically consistent photon histories in the two simulations : Multiple orders of rainbow apparent
64-bit uint Opticks Geant4 chi2 (tag:5,-5) 8ccd 819160 819654 0.15 [4 ] TO BT BT SA (cross droplet) 8bd 102087 101615 1.09 [3 ] TO BR SA (external reflect) 8cbcd 61869 61890 0.00 [5 ] TO BT BR BT SA (bow 1) 8cbbcd 9618 9577 0.09 [6 ] TO BT BR BR BT SA (bow 2) 8cbbbcd 2604 2687 1.30 [7 ] TO BT BR BR BR BT SA (bow 3) 8cbbbbcd 1056 1030 0.32 [8 ] TO BT BR BR BR BR BT SA (bow 4) 86ccd 1014 1000 0.10 [5 ] TO BT BT SC SA 8cbbbbbcd 472 516 1.96 [9 ] TO BT BR BR BR BR BR BT SA (bow 5) 86d 498 473 0.64 [3 ] TO SC SA bbbbbbbbcd 304 294 0.17 [10] TO BT BR BR BR BR BR BR BR BR (bow 8+ truncated) 8cbbbbbbcd 272 247 1.20 [10] TO BT BR BR BR BR BR BR BT SA (bow 6) cbbbbbbbcd 183 161 1.41 [10] TO BT BR BR BR BR BR BR BR BT (bow 7 truncated)
Deviation angle(degrees) of 1M parallel monochromatic photons in disc shaped beam incident on water sphere. Numbered bands are visible range expectations of first 11 rainbows. S-Polarized intersection (E field perpendicular to plane of incidence) arranged by directing polarization radially.
Good agreement reached, after several fixes: geometry, total internal reflection, group velocity
Consistent : chi2/ndf ~ 1
Very good Opticks/Geant4 agreement
XYTZ: position, time ABCR: polarization, radius
4/PMT In Box/torch : | X | Y | Z | T | A | B | C | R |
---|---|---|---|---|---|---|---|---|
340271/340273 : [TO] BT SA | 1.15 | 1.00 | 0.00 | 0.00 | 1.06 | 1.03 | 0.00 | 1.21 |
340271/340273 : TO [BT] SA | 1.15 | 1.00 | 1.06 | 0.91 | 1.06 | 1.03 | 0.00 | 1.21 |
340271/340273 : TO BT [SA] | 0.97 | 1.02 | 1.05 | 0.99 | 1.06 | 1.03 | 0.00 | 1.29 |
107598/107251 : [TO] BT SD | 0.91 | 0.73 | 0.56 | 0.56 | 0.98 | 1.09 | 0.56 | 0.94 |
107598/107251 : TO [BT] SD | 0.91 | 0.73 | 0.81 | 0.93 | 0.98 | 1.09 | 0.56 | 0.94 |
107598/107251 : TO BT [SD] | 0.99 | 0.83 | 0.97 | 0.99 | 0.98 | 1.09 | 0.56 | 0.93 |
23217/23260 : [TO] BT BT SA | 0.94 | 0.82 | 0.04 | 0.04 | 0.97 | 0.89 | 0.04 | 0.57 |
23217/23260 : TO [BT] BT SA | 0.94 | 0.82 | 0.70 | 0.50 | 0.97 | 0.89 | 0.04 | 0.57 |
23217/23260 : TO BT [BT] SA | 0.91 | 0.94 | 0.43 | 0.60 | 0.97 | 0.89 | 0.04 | 0.05 |
23217/23260 : TO BT BT [SA] | 0.94 | 0.88 | 0.04 | 0.35 | 0.97 | 0.89 | 0.04 | 0.72 |
18866/19048 : [TO] AB | 0.99 | 1.10 | 0.87 | 0.87 | 0.85 | 0.84 | 0.87 | 1.00 |
18866/19048 : TO [AB] | 0.99 | 1.10 | 0.93 | 0.92 | 0.85 | 0.84 | 0.87 | 1.00 |
3179/3133 : [TO] SC SA | 1.07 | 0.83 | 0.34 | 0.34 | 0.86 | 0.96 | 0.34 | 0.73 |
3179/3133 : TO [SC] SA | 1.07 | 0.83 | 0.98 | 1.05 | 0.98 | 1.06 | 0.98 | 0.73 |
3179/3133 : TO SC [SA] | 0.96 | 1.04 | 0.93 | 0.97 | 0.98 | 1.06 | 0.98 | 1.10 |
2204/2249 : [TO] BT AB | 0.85 | 1.04 | 0.45 | 0.45 | 0.99 | 0.92 | 0.45 | 1.06 |
2204/2249 : TO [BT] AB | 0.85 | 1.04 | 0.95 | 0.88 | 0.99 | 0.92 | 0.45 | 1.06 |
2204/2249 : TO BT [AB] | 0.98 | 0.94 | 1.01 | 1.00 | 0.99 | 0.92 | 0.45 | 0.90 |
1696/1732 : [TO] BT BT AB | 1.05 | 0.85 | 0.38 | 0.38 | 0.86 | 1.09 | 0.38 | 0.26 |
1696/1732 : TO [BT] BT AB | 1.05 | 0.85 | 1.48 | 1.28 | 0.86 | 1.09 | 0.38 | 0.26 |
1696/1732 : TO BT [BT] AB | 0.99 | 0.86 | 1.17 | 1.40 | 0.86 | 1.09 | 0.38 | 0.86 |
1696/1732 : TO BT BT [AB] | 1.15 | 0.88 | 1.08 | 1.06 | 0.86 | 1.09 | 0.38 | 0.79 |
1446/1455 : [TO] BR SA | 1.21 | 0.94 | 0.03 | 0.03 | 0.90 | 0.87 | 0.03 | 1.09 |
1446/1455 : TO [BR] SA | 1.21 | 0.94 | 1.02 | 1.01 | 0.90 | 0.87 | 0.03 | 1.09 |
1446/1455 : TO BR [SA] | 1.00 | 0.93 | 0.97 | 0.99 | 0.90 | 0.87 | 0.03 | 1.04 |
Test | Geant4 10.2 | Opticks Interop | Opticks Compute |
---|---|---|---|
Rainbow 1M(S) | 56 s | 1.62 s | 0.28 s |
Rainbow 1M(P) | 58 s | 1.71 s | 0.25 s |
PmtInBox 0.5M | 41 s | 0.81 s | 0.15 s |
[1] MacBook Pro (2013), NVIDIA GeForce GT 750M, 2048 MB, 384 cores
Required GPU Buffers
Debug GPU Buffers
CPU Buffers
tpmt-;tpmt-- --compute --multievent 10 --production # 10x 0.5M photons incident on PMT 2016-11-30 23:00:51.446 INFO [224583] [TimesTable::dump@103] Opticks::postpropagate filter: NONE 2.656 2.656 2.656 30501.000 30501.000 : OpticksRun::createEvent.BEG_0 0.008 2.664 0.008 30504.000 3.000 : OpSeeder::seedPhotonsFromGenstepsViaOptiX_0 0.367 3.031 0.367 30675.000 171.000 : OPropagator::prelaunch_0 0.070 3.102 0.070 30675.000 0.000 : OPropagator::launch_0 0.031 3.133 0.031 30682.000 7.000 : OEvent::downloadHits_0 0.008 3.141 0.008 30682.000 0.000 : OpticksRun::resetEvent.END_0 0.070 3.211 0.070 30682.000 0.000 : OPropagator::launch_1 0.031 3.242 0.031 30689.000 7.000 : OEvent::downloadHits_1 0.008 3.250 0.008 30689.000 0.000 : OpticksRun::resetEvent.END_1 0.070 3.320 0.070 30689.000 0.000 : OPropagator::launch_2 0.023 3.344 0.023 30696.000 7.000 : OEvent::downloadHits_2 0.008 3.352 0.008 30696.000 0.000 : OpticksRun::saveEvent.END_2 0.008 3.359 0.008 30696.000 0.000 : OpticksRun::resetEvent.END_2 ...
2016-11-30 23:00:51.447 INFO [224583] [TimesTable::dump@103] Opticks::postpropagate filter: OPropagator::launch 3.102 3.102 0.070 30675.000 0.000 : OPropagator::launch_0 0.109 3.211 0.070 30682.000 0.000 : OPropagator::launch_1 0.109 3.320 0.070 30689.000 0.000 : OPropagator::launch_2 0.109 3.430 0.070 30696.000 0.000 : OPropagator::launch_3 0.109 3.539 0.070 30703.000 0.000 : OPropagator::launch_4 0.102 3.641 0.070 30710.000 0.000 : OPropagator::launch_5 0.109 3.750 0.070 30716.000 0.000 : OPropagator::launch_6 0.102 3.852 0.070 30723.000 0.000 : OPropagator::launch_7 0.102 3.953 0.062 30730.000 0.000 : OPropagator::launch_8 0.102 4.055 0.062 30737.000 0.000 : OPropagator::launch_9
tconcentric-testconfig(){ local test_config=( mode=BoxInBox analytic=1 shape=sphere boundary=StainlessSteel///Acrylic parameters=0,0,0,$(( 5000 + 5 )) shape=sphere boundary=Acrylic//RSOilSurface/MineralOil parameters=0,0,0,$(( 5000 - 5 )) shape=sphere boundary=MineralOil///Acrylic parameters=0,0,0,$(( 4000 + 5 )) shape=sphere boundary=Acrylic///LiquidScintillator parameters=0,0,0,$(( 4000 - 5 )) shape=sphere boundary=LiquidScintillator///Acrylic parameters=0,0,0,$(( 3000 + 5 )) shape=sphere boundary=Acrylic///GdDopedLS parameters=0,0,0,$(( 3000 - 5 )) ) echo "$(join _ ${test_config[@]})" }
https://bitbucket.org/simoncblyth/opticks/src/tip/tests/tconcentric.bash
Torch source: 1M 430nm photons (+Y polarized) shot down X axis
tconcentric-torchconfig(){ local torch_config=( type=point photons=1000000 mode=fixpol polarization=0,1,0 source=0,0,0 target=1,0,0 material=GdDopedLS wavelength=430 weight=1.0 time=0.1 zenithazimuth=0,1,0,1 radius=0 ) echo "$(join _ ${torch_config[@]})" }
https://bitbucket.org/simoncblyth/opticks/src/tip/tests/tconcentric.bash
. seqhis_ana 1:concentric -1:concentric c2 . 1000000 1000000 373.13/356 = 1.05 (pval:0.256 prob:0.744) 0000 8ccccd 669843 670001 0.02 [6 ] TO BT BT BT BT SA 0001 4d 83950 84149 0.24 [2 ] TO AB 0002 8cccc6d 45490 44770 5.74 [7 ] TO SC BT BT BT BT SA 0003 4ccccd 28955 28718 0.97 [6 ] TO BT BT BT BT AB 0004 4ccd 23187 23170 0.01 [4 ] TO BT BT AB 0005 8cccc5d 20238 20140 0.24 [7 ] TO RE BT BT BT BT SA 0006 8cc6ccd 10214 10357 0.99 [7 ] TO BT BT SC BT BT SA 0007 86ccccd 10176 10318 0.98 [7 ] TO BT BT BT BT SC SA 0008 89ccccd 7540 7710 1.90 [7 ] TO BT BT BT BT DR SA 0009 8cccc55d 5976 5934 0.15 [8 ] TO RE RE BT BT BT BT SA 0010 45d 5779 5766 0.01 [3 ] TO RE AB 0011 8cccccccc9ccccd 5339 5269 0.46 [15] TO BT BT BT BT DR BT BT BT BT BT BT BT BT SA 0012 8cc5ccd 5111 4940 2.91 [7 ] TO BT BT RE BT BT SA 0013 46d 4797 4886 0.82 [3 ] TO SC AB 0014 8cccc9ccccd 4494 4469 0.07 [11] TO BT BT BT BT DR BT BT BT BT SA 0015 8cccccc6ccd 3317 3302 0.03 [11] TO BT BT SC BT BT BT BT BT BT SA 0016 8cccc66d 2670 2675 0.00 [8 ] TO SC SC BT BT BT BT SA 0017 49ccccd 2432 2383 0.50 [7 ] TO BT BT BT BT DR AB 0018 4cccc6d 2043 1991 0.67 [7 ] TO SC BT BT BT BT AB 0019 4cc6d 1755 1826 1.41 [5 ] TO SC BT BT AB
Top 20 chart above, (category 100 down to ~100 photons for propagation of 1M photons)
Match achieved between two optical simulations, run from single executable
Match achieved only after many bug fixes, including:
Work guided by the next largest chi2 contributor
Group velocity approximated using "E dn/dE" dispersion term.
c dn dE dn n1 - n0 delta_n vg = --------------- , E dn/dE = -- -- ~ -------- ~ ----------- ~ ----------- n + E dn/dE dE dlogE d(logE) logE1 - logE0 log(E1/E0)
/// 0 + 1 + 2 + 3 + 4 + 5 <--- 6 original values /// | / / / / | /// | / / / / | /// 0 1 2 3 4 5 <--- still 6, dispersion term domain
Find photon tracks require UseGivenVelocity=true to get proposed velocity to be used.
// eg from the G4TrackAction const_cast(track)->UseGivenVelocity(true)
In [1]: ab.sel = "TO SC .." ; print ab.his Out[1]: . seqhis_ana 1:concentric -1:concentric c2 . 66489 66126 73.48/67 = 1.10 (pval:0.274 prob:0.726) 0000 8cccc6d 45490 44770 5.74 [7 ] TO SC BT BT BT BT SA 0001 46d 4797 4886 0.82 [3 ] TO SC AB 0002 8cccc66d 2670 2675 0.00 [8 ] TO SC SC BT BT BT BT SA 0003 4cccc6d 2043 1991 0.67 [7 ] TO SC BT BT BT BT AB 0004 4cc6d 1755 1826 1.41 [5 ] TO SC BT BT AB 0005 8cccc56d 1158 1215 1.37 [8 ] TO SC RE BT BT BT BT SA 0006 8cc6cc6d 817 739 3.91 [8 ] TO SC BT BT SC BT BT SA 0007 86cccc6d 709 756 1.51 [8 ] TO SC BT BT BT BT SC SA 0008 89cccc6d 538 486 2.64 [8 ] TO SC BT BT BT BT DR SA 0009 8cc5cc6d 381 372 0.11 [8 ] TO SC BT BT RE BT BT SA 0010 8cccc556d 321 369 3.34 [9 ] TO SC RE RE BT BT BT BT SA 0011 8cccccccc9cccc6d 348 367 0.50 [16] TO SC BT BT BT BT DR BT BT BT BT BT BT BT BT SA 0012 456d 292 330 2.32 [4 ] TO SC RE AB 0013 8cccc9cccc6d 316 319 0.01 [12] TO SC BT BT BT BT DR BT BT BT BT SA 0014 466d 277 302 1.08 [4 ] TO SC SC AB 0015 8cccccc6cc6d 255 243 0.29 [12] TO SC BT BT SC BT BT BT BT BT BT SA 0016 49cccc6d 162 158 0.05 [8 ] TO SC BT BT BT BT DR AB 0017 8cccc666d 143 156 0.57 [9 ] TO SC SC SC BT BT BT BT SA 0018 8cccc6cccc6d 121 135 0.77 [12] TO SC BT BT BT BT SC BT BT BT BT SA 0019 8cccccccc6cccc6d 126 108 1.38 [16] TO SC BT BT BT BT SC BT BT BT BT BT BT BT BT SA
Outgoing polarization
XYZT:position/time ABCW:polarization/wavelength
iv | is | na | nb | reclab | X | Y | Z | T | A | B | C | W | seqc2 | distc2 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
26 | 5 | 20238 | 20140 | TO [RE] BT BT BT BT SA | 0.85 | 0.00 | 0.00 | 1.31 | 1.12 | 1.37 | 1.10 | 0.78 | 0.24 | 1.10 |
27 | 5 | 20238 | 20140 | TO RE [BT] BT BT BT SA | 2.14 | 2.26 | 0.80 | 1.08 | 1.15 | 0.82 | 0.76 | 0.78 | 0.24 | 1.18 |
28 | 5 | 20238 | 20140 | TO RE BT [BT] BT BT SA | 2.01 | 2.23 | 0.79 | 0.83 | 1.17 | 0.83 | 0.83 | 0.78 | 0.24 | 1.17 |
29 | 5 | 20238 | 20140 | TO RE BT BT [BT] BT SA | 2.66 | 4.37 | 1.13 | 0.49 | 1.20 | 0.81 | 0.79 | 0.78 | 0.24 | 1.68 |
30 | 5 | 20238 | 20140 | TO RE BT BT BT [BT] SA | 2.56 | 4.48 | 1.19 | 1.04 | 1.12 | 0.97 | 0.91 | 0.78 | 0.24 | 1.75 |
31 | 5 | 20238 | 20140 | TO RE BT BT BT BT [SA] | 3.18 | 5.17 | 1.23 | 0.48 | 1.12 | 0.97 | 0.91 | 0.78 | 0.24 | 2.06 |
38 | 6 | 10214 | 10357 | TO BT BT SC BT BT [SA] | 0.79 | 1.37 | 1.43 | 0.55 | 1.00 | 1.33 | 0.97 | 0.00 | 0.99 | 1.16 |
52 | 8 | 7540 | 7710 | TO BT BT BT BT DR [SA] | 1.70 | 1.32 | 1.48 | 1.49 | 1.12 | 1.03 | 1.37 | 0.00 | 1.90 | 1.28 |
56 | 9 | 5976 | 5934 | TO RE RE [BT] BT BT BT SA | 1.26 | 1.51 | 1.21 | 2.36 | 0.99 | 1.40 | 1.10 | 1.65 | 0.15 | 1.24 |
57 | 9 | 5976 | 5934 | TO RE RE BT [BT] BT BT SA | 1.23 | 1.39 | 1.25 | 2.31 | 0.98 | 1.45 | 0.98 | 1.65 | 0.15 | 1.21 |
58 | 9 | 5976 | 5934 | TO RE RE BT BT [BT] BT SA | 1.24 | 0.98 | 1.18 | 1.88 | 0.97 | 1.39 | 1.01 | 1.65 | 0.15 | 1.14 |
59 | 9 | 5976 | 5934 | TO RE RE BT BT BT [BT] SA | 1.24 | 0.90 | 1.04 | 1.83 | 0.93 | 1.55 | 0.92 | 1.65 | 0.15 | 1.11 |
60 | 9 | 5976 | 5934 | TO RE RE BT BT BT BT [SA] | 0.95 | 1.03 | 1.50 | 3.12 | 0.93 | 1.55 | 0.92 | 1.65 | 0.15 | 1.18 |
69 | 11 | 5339 | 5269 | TO BT BT BT BT [DR] BT BT BT BT BT BT BT BT SA | 0.00 | 0.00 | 0.00 | 0.00 | 1.29 | 1.69 | 2.42 | 0.00 | 0.46 | 1.31 |
74 | 11 | 5339 | 5269 | TO BT BT BT BT DR BT BT BT BT [BT] BT BT BT SA | 1.10 | 1.45 | 1.02 | 0.67 | 1.42 | 0.83 | 1.38 | 0.00 | 0.46 | 1.12 |
75 | 11 | 5339 | 5269 | TO BT BT BT BT DR BT BT BT BT BT [BT] BT BT SA | 0.98 | 1.42 | 1.16 | 0.52 | 1.58 | 0.82 | 1.46 | 0.00 | 0.46 | 1.15 |
76 | 11 | 5339 | 5269 | TO BT BT BT BT DR BT BT BT BT BT BT [BT] BT SA | 1.46 | 1.66 | 0.79 | 0.65 | 1.69 | 0.89 | 1.46 | 0.00 | 0.46 | 1.21 |
77 | 11 | 5339 | 5269 | TO BT BT BT BT DR BT BT BT BT BT BT BT [BT] SA | 1.04 | 1.64 | 0.81 | 0.51 | 2.20 | 0.91 | 1.35 | 0.00 | 0.46 | 1.19 |
78 | 11 | 5339 | 5269 | TO BT BT BT BT DR BT BT BT BT BT BT BT BT [SA] | 1.10 | 1.56 | 0.73 | 0.21 | 2.20 | 0.91 | 1.35 | 0.00 | 0.46 | 1.17 |
85 | 12 | 5111 | 4940 | TO BT BT RE BT BT [SA] | 1.26 | 2.13 | 0.79 | 2.07 | 1.03 | 0.93 | 0.72 | 0.68 | 2.91 | 1.11 |
94 | 14 | 4494 | 4469 | TO BT BT BT BT [DR] BT BT BT BT SA | 0.00 | 0.00 | 0.00 | 0.00 | 1.90 | 3.74 | 1.95 | 0.00 | 0.07 | 2.01 |
95 | 14 | 4494 | 4469 | TO BT BT BT BT DR [BT] BT BT BT SA | 3.85 | 1.83 | 0.90 | 0.82 | 2.20 | 1.45 | 1.11 | 0.00 | 0.07 | 1.41 |
96 | 14 | 4494 | 4469 | TO BT BT BT BT DR BT [BT] BT BT SA | 1.94 | 1.82 | 1.07 | 0.85 | 2.67 | 1.30 | 1.08 | 0.00 | 0.07 | 1.39 |
97 | 14 | 4494 | 4469 | TO BT BT BT BT DR BT BT [BT] BT SA | 1.61 | 1.35 | 1.48 | 0.31 | 2.00 | 1.22 | 1.28 | 0.00 | 0.07 | 1.35 |
98 | 14 | 4494 | 4469 | TO BT BT BT BT DR BT BT BT [BT] SA | 1.96 | 1.31 | 1.39 | 0.66 | 2.13 | 1.03 | 1.42 | 0.00 | 0.07 | 1.36 |
99 | 14 | 4494 | 4469 | TO BT BT BT BT DR BT BT BT BT [SA] | 2.29 | 0.91 | 1.05 | 4.14 | 2.13 | 1.03 | 1.42 | 0.00 | 0.07 | 1.23 |
104 | 15 | 3317 | 3302 | TO BT BT SC [BT] BT BT BT BT BT SA | 0.60 | 1.02 | 1.75 | 1.92 | 0.77 | 1.23 | 1.39 | 0.00 | 0.03 | 1.20 |
105 | 15 | 3317 | 3302 | TO BT BT SC BT [BT] BT BT BT BT SA | 0.77 | 1.35 | 1.34 | 1.98 | 0.73 | 1.13 | 1.41 | 0.00 | 0.03 | 1.17 |
108 | 15 | 3317 | 3302 | TO BT BT SC BT BT BT BT [BT] BT SA | 1.48 | 1.01 | 1.73 | 0.51 | 0.85 | 1.00 | 1.05 | 0.00 | 0.03 | 1.15 |
124 | 17 | 2432 | 2383 | TO BT BT BT BT [DR] AB | 0.00 | 0.00 | 0.00 | 0.00 | 1.64 | 0.92 | 0.71 | 0.00 | 0.50 | 1.20 |
140 | 20 | 1815 | 1805 | TO RE [RE] RE BT BT BT BT SA | 1.80 | 0.56 | 1.73 | 0.59 | 1.31 | 1.20 | 1.42 | 0.60 | 0.03 | 1.26 |
141 | 20 | 1815 | 1805 | TO RE RE [RE] BT BT BT BT SA | 1.30 | 1.02 | 2.24 | 1.02 | 1.09 | 1.06 | 1.17 | 1.07 | 0.03 | 1.15 |
144 | 20 | 1815 | 1805 | TO RE RE RE BT BT [BT] BT SA | 1.05 | 1.32 | 1.03 | 0.53 | 0.93 | 1.31 | 1.12 | 1.07 | 0.03 | 1.10 |
222 | 29 | 1105 | 1168 | TO BT BT RE BT BT [BT] BT BT BT SA | 2.42 | 2.53 | 2.26 | 2.49 | 1.29 | 1.25 | 0.65 | 1.08 | 1.75 | 1.65 |
223 | 29 | 1105 | 1168 | TO BT BT RE BT BT BT [BT] BT BT SA | 2.32 | 2.44 | 1.98 | 2.38 | 1.03 | 1.07 | 0.72 | 1.08 | 1.75 | 1.53 |
224 | 29 | 1105 | 1168 | TO BT BT RE BT BT BT BT [BT] BT SA | 3.13 | 2.49 | 1.32 | 1.34 | 1.11 | 1.23 | 0.69 | 1.08 | 1.75 | 1.56 |
225 | 29 | 1105 | 1168 | TO BT BT RE BT BT BT BT BT [BT] SA | 2.83 | 2.44 | 1.36 | 1.06 | 0.92 | 1.08 | 0.69 | 1.08 | 1.75 | 1.47 |
226 | 29 | 1105 | 1168 | TO BT BT RE BT BT BT BT BT BT [SA] | 3.24 | 3.21 | 1.03 | 2.18 | 0.92 | 1.08 | 0.69 | 1.08 | 1.75 | 1.59 |
241 | 31 | 1067 | 1013 | TO BT BT BT BT DR [BT] BT AB | 1.25 | 1.53 | 0.80 | 0.27 | 2.03 | 0.90 | 1.40 | 0.00 | 1.40 | 1.27 |
242 | 31 | 1067 | 1013 | TO BT BT BT BT DR BT [BT] AB | 1.30 | 1.88 | 0.76 | 0.37 | 1.44 | 0.95 | 1.38 | 0.00 | 1.40 | 1.18 |
248 | 32 | 1036 | 988 | TO RE BT BT [AB] | 1.00 | 1.78 | 1.69 | 1.55 | 0.62 | 0.87 | 0.86 | 1.33 | 1.14 | 1.13 |
Open Source Opticks
Documentation, install instructions. Repository.
Geometry/event data use NumPy serialization:
import numpy as np a = np.load("photons.npy")
(*) Windows VS2015, non-CUDA only so far
Overview
Opticks enables Geant4 based simulations to benefit from optical photon simulation taking effectively zero time and zero CPU memory, thanks to massive parallelism made accessible by NVIDIA OptiX.
- The more photons the bigger the overall speedup (99% -> 100x)
- Drastic speedup -> better detector understanding -> greater precision
- Large PMT based neutrino experiments, such as JUNO, can benefit the most