Navigation
index
modules
|
next
|
previous
|
env
»
Env documentation
»
geant4
»
Geant4 Geometry Export
»
Geant4 Geometry in Collada
»
Quick search
Enter search terms or a module, class or function name.
Links
env
tl
repo
edocs
heprez
tl
repo
hdocs
backup status
Content Skeleton
Installing
env
Base Tools
LOG
TODO
Sys Admin
Plotting
SCM
Trac
ROOT
Sphinx Extensions
Matplotlib
nose
SVN
Numerical Python, numpy et al
PyPy : faster python
Tools
MySQL hotcopy
MySQL Tools
SQLite
DB scripts
QXML
Fossil
Java Demos
cuda
pycuda
geant4
Geant4 Release Notes
Geant4 GPU
Geant4 Profiling
Geant4 Release Notes
Verbosity
Geant4 Documentation
GiGa
Geant4 API
Geant4 Optical Photon
Geant4 Processes
Medical Communities Using Geant4 (esp. optical photon)
Geant4 Geometry Export
g4py
nuwa
Geant4 Event
Geant4
Geant4 Multi Threading
muon_simulation
chroma
llvm
Graphics
cuda
opencl
Linux
Cloud
Package Management
ui
debugging
mercurial
javascript
nuwa
ccgpu
pygame
zeromq
doc
Python
osx
hg
simoncblyth.bitbucket.org
numpy
Muon Simulation Presentation
optix
This Page
Show Source
Previous topic
Collada To Chroma
Next topic
DAEVIEW FUNCTIONS
g4daeview
ΒΆ
DAEVIEW FUNCTIONS
DEPENDENCIES
Delta : OSX 10.9.2 chroma virtualenv python, based off macports py27
G4PB : OSX 10.5.8 macports py26
G4DAE and G4DAEVIEW Development History
g4daeview.py
Usage Tips
Usage text
Event Loading/slicing tips
Receive ChromaPhotonList from Remote Geant4
Load/Save ChromaPhotonList
Screen Captures and apache publishing
Grab Screen Captures including GLUT menus
Partial geometry
Target Mode
interactive target selection
near/far clipping controls
ISSUES
solid picking
TODO
placemarks
markers
Viewpoint Bookmarks
ISSUES
Animation
interpolate between bookmarks
orbiting mode
animation control
photon propagation time control : interactive and auto scanning
remote control
raycast launch control
interactive switch to metric pixels presentation
screen capture
movie capture
Parallel/Orthographic projection
Presentation
G4DAEView Chroma
Single PMT Test
A Few PMTs and radial shield
g4daeview debugging
Tricks to work out whats gone wrong
Issue
Near behaving like far
Removing the scale kludge
Targetting outer volumes draw blanks
Near
Light control
Unproject
Trackball
Remote Control
Modes of operation
scaled mode
target mode
Scenarios
detail view
outside view
Lighting
G4DAEVIEW Lights
reference
Light Positioning
Controlling a Light’s Position and Direction
Understanding Lights
glumpy lights
refs
Daeview Dev Notes
Limitations
GPU Out-of-memory during BVH construction with full Juno geometry (50M nodes?)
Old Issues To Be Revisited
More Bizarrness
Animation
Reflectors
Bizarre
Interpolation
Interpolation Jumps (FIXED)
DAEVertexBuffer Dev Notes
Interop
Too Many Moving parts
AoS or SoA
Data flow
What needs to be shared between CUDA and OpenGL ?
Single VBO approach (array-of-structs)
NVIDIA Example
Targetted googling
andyswarm
Separate VBO approach (struct-of-arrays)
glBindBuffer
OpenGL Drawing Techniques
glDrawElements
glDrawElements offset
glPushClientAttrib
glMultiDrawElements
Read OpenGL buffer back into numpy arrays
DAEPhotonsShader
OpenGL Shader Language
GLSL 120
GLSL 120 Extensions
GL_EXT_gpu_shader4
GL_EXT_geometry_shader4
glVertexAttribIPointer API hunt
GL_NV_vertex_program4
Fixed Pipeline and Shaders
Bitwise operations glsl
line strip finnicky
shaders and integers dont mix in version 120
Photon Level Debug
Issues
spagetti style and surface step selection incompatible
Pushing Up the Slots causes BUS error (AVOIDED)
Single Photon Debug
Photon Picking
Make Bialkali absorb rate ?
Quite a lot of many step histories
Visual distinction for zombie photons
Difficult to zoom into closeups
Photon Appearance
ESR Step start Asymmetry
Material Step Starts
Discrepancy between presentation modes (FIXED)
Material Selection not compatible with Spagetti style
Timeconstant for reemitted photons ?
Infinite wavelength for reemitted photons (FIXED)
Disappearing/Reappearing Photon 3126 : FIXED
Missing NO_HIT : FIXED
Dropouts : 91 long bouncers out of 4165
Fixed Issues
Repeatability/Seeding Doubts
Techniques
daephotonsanalyzer.sh
truncation
debugphoton
history selection
Restrict to photons with n-step histories
Restrict birth time range, allowing to examine cohorts
cohort mode, third value in cohort string
photon highlighting
style playoff
Material Pair Debug
Thoughts on how to proceed
Geant4 step level comparison
Machinery
DAEPhotonsAnalyzer.get_material_pairs
Both end material check
Implement step selection based in
from
and
to
materials
Broken chain
Examine the big hitters
Observations
Long lived
Propagated Flags Mismatch
G4DAEView Performance
Pushing to max-slots 100 bogs down performance
Apple OpenGL Profiler
LINE_STRIP slow performance report
Optical Photon Marshalling
Overview/Issues
Numpy Serialize into buffer ?
Efficient Selection of Numpy array, eg just the hits with PMTID > 0
Current lifecycle of optical photon data
Photon Data
Using C++ placement new for dummy OP ?
Alternate Serialization/Compression to ROOT TObject
Propagate Timeouts
Objectives
mock001 : normal incidence NAN_ABORT
mock001 : axis aligned photons issue
Code Improvements
Dependencies
DONE
Issues
timeouts
mock photons
vbo vs non-vbo hit count difference
mocknuwa propagation testing over network
file based propagation testing
visualize initial positions by holding propagation
vbo propagation
non-vbo propagation
threading sensor ids back to caller (vbo)
threading sensor ids back to caller (non-vbo)
BVH Splits
Datamodel
Performance Data Model examples
MySQL Performance Schema
Instrumenting Python Code
Profiling Python
Projects for instrumentation
Graphite : Graphing infrastructure
whisper
G4DAEView geometry cache
Fixed Problem was the time sorting again
Serialization
Current Solution : NPY
Alternatives serialization/deserialization to ROOT ?
NEXT
contenders
comparisons
capnproto
cereal
boost serialization
G4DAEView Dependencies
Dependencies Tree
Alternatives to GLUT ?
Implications of ancient OpenGL 2.1
GLFW
glfwcy with PyOpenGL and OpenGL 3.2
glfw python wrappers
migration from glumpy to glfw
G4DAEView Ideas
JSON State vending
Tight zooming not easy
Attempts to do rotation interpolation with no geometry visible cause NaN fails
During VBO structural changes
Live Style Change issues FIXED
Step Interpolation Visualization IMPLEMENTED
What about non-Chroma devices ?
Geometry Shaders
Node selection only applies to to particular geometry dyb/juno/lxe
Live Updating Test
worker
client
Next
improved structuring
Histogramming
issues
Photon provenance
ChromaOtherList for transport over ZMQ
Geant4 Chroma Process
Avoid Geometry Duplication
interactive target switching
NEEDS OVERHAUL
smaller things
G4DAEView Architecture
Division of concerns
G4DAEView Issues
Fallovers
Photon Presentation
NAN Abort Photon
VBO Propagation Call Sequence needs simplification now that using NPL
G4DAECHROMA transport testing
Same Node Success
Client sends workload to broker
Worker polls the broker for smth to do
Normal Topology Success, via tunneling both client and worker
G4DAEChroma Memory Leak
Executive Summary
Initial Observation of 30G VSIZE
Large VSIZE
Not ballooning to 30G
vmmap
vmmap -resident
G4DAEChroma.cpp : ZMQResponder, CUDA kernel call
Progress
Motivation
Dependencies
Initialization
Propagation
NPY Geometry Cache
Potential Dependencies
CuPP
boost::program_options
boost::numeric::ublas::vector<double>
cuda::thrust
CUDA Unified Memory
Other Libs
G4DAEChroma CUDA tune
Small Problem Size
Large problem size
Variation of time with workload
Larger than 512 ?
Straggler Mode
Propagate Queues
Visualizing GenSteps
Navigation
index
modules
|
next
|
previous
|
env
»
Env documentation
»
geant4
»
Geant4 Geometry Export
»
Geant4 Geometry in Collada
»