Specialized Geant4 navigation for GATE Jan De Beenhouwer Steven Staelens.

Slides:



Advertisements
Similar presentations
Geant4 v9.2p02 Speed up Makoto Asai (SLAC) Geant4 Tutorial Course.
Advertisements

Efficiency of Algorithms Csci 107 Lecture 6-7. Topics –Data cleanup algorithms Copy-over, shuffle-left, converging pointers –Efficiency of data cleanup.
Comp 335 File Structures Reclaiming and Reusing File Space Techniques for File Maintenance.
Coding. Steps to Success 1.Create a PLAN including a detailed statement of requirements (SORs) 2.Write algorithms based on the SORs 3.Write pseudocode.
Render Cache John Tran CS851 - Interactive Ray Tracing February 5, 2003.
Today’s Agenda  Stacks  Queues  Priority Queues CS2336: Computer Science II.
Algorithms Today we will look at: what we mean by efficiency in programs why efficiency matters what causes programs to be inefficient? will one algorithm.
PARTICLE SWARM OPTIMISATION (PSO) Perry Brown Alexander Mathews Image:
DARPA Mobile Autonomous Robot SoftwareMay Adaptive Intelligent Mobile Robotics William D. Smart, Presenter Leslie Pack Kaelbling, PI Artificial.
Software and Hardware Circular Buffer Operations First presented in ENCM There are 3 earlier lectures that are useful for midterm review. M. R.
Kirov A S, MSKCC Overview of Geant4 Use and Issues in Imaging: Emission Tomography (PET and SPECT) Assen S. Kirov Department of Medical Physics Memorial.
Some tips for geometries of medical applications Makoto Asai (SLAC)
SM3121 Software Technology Mark Green School of Creative Media.
File System. NET+OS 6 File System Architecture Design Goals File System Layer Design Storage Services Layer Design RAM Services Layer Design Flash Services.
Geometry 5 I.Hrivnacova¹, J.Apostolakis² ¹IPN, Orsay; ²CERN Cours Paris June 2007.
1 Perception, Illusion and VR HNRS 299, Spring 2008 Lecture 19 Other Graphics Considerations Review.
CPSC 171 Introduction to Computer Science 3 Levels of Understanding Algorithms More Algorithm Discovery and Design.
U-Solids: new geometrical primitives library for Geant4 and ROOT Marek Gayer CERN Physics Department (PH) Group Software Development for Experiments (SFT)
1 Memory Management Memory Management COSC513 – Spring 2004 Student Name: Nan Qiao Student ID#: Professor: Dr. Morteza Anvari.
Introduction to MCMC and BUGS. Computational problems More parameters -> even more parameter combinations Exact computation and grid approximation become.
1. Memory Manager 2 Memory Management In an environment that supports dynamic memory allocation, the memory manager must keep a record of the usage of.
Microprocessor-based systems Curse 7 Memory hierarchies.
Hybrid AI & Machine Learning Systems Using Ne ural Network and Subsumption Architecture Libraries By Logan Kearsley.
Emerging Technologies for Games Alpha Sorting and “Soft” Particles CO3303 Week 15.
Arrays The concept of arrays Using arrays Arrays as arguments Processing an arrays data Multidimensional arrays Sorting data in an array Searching with.
Chapter 25: Code-Tuning Strategies. Chapter 25  Code tuning is one way of improving a program’s performance, You can often find other ways to improve.
Geant4 review from the aspect of a GATE developer and user Nicolas Karakatsanis.
CSC 211 Data Structures Lecture 13
Thread-safety and shared geometry data J. Apostolakis.
Darmstadt, 15. November 2015 Tobias Stockmanns, FZ Jülich1 A STEP to ROOT converter for the FairRoot framework ALICE-FAIR Computing Meeting, GSI,
New software library of geometrical primitives for modelling of solids used in Monte Carlo detector simulations Marek Gayer, John Apostolakis, Gabriele.
Jump to first page The new ROOT geometry package Andrei Gheata - ALICE Institute of Space Sciences, Bucharest.
Status of ATLAS Liquid Argon Calorimeter Simulations With GEANT4 G. Azuelos , A. Chekhtman , J. Dodd , A. Kiryunin , M. Leltchouk , R. Mazini , G.
VMC workshop1 Ideas for G4 navigation interface using ROOT geometry A.Gheata ALICE offline week, 30 May 05.
I MPLEMENTING FILES. Contiguous Allocation:  The simplest allocation scheme is to store each file as a contiguous run of disk blocks (a 50-KB file would.
CS307 Operating Systems Virtual Memory Fan Wu Department of Computer Science and Engineering Shanghai Jiao Tong University Spring 2012.
U-Solids: new geometrical primitives library for Geant4 and ROOT Marek Gayer CERN Physics Department (PH) Group Software Development for Experiments (SFT)
Profiling study of Geant4-GATE Discussion of suggested VRTs Nicolas Karakatsanis, George Loudos, Arion Chatziioannou Geant4-GATE technical meeting 12 th.
Geant4 CPU performance : an update Geant4 Technical Forum, CERN, 07 November 2007 J.Apostolakis, G.Cooperman, G.Cosmo, V.Ivanchenko, I.Mclaren, T.Nikitina,
Transforming Policies into Mechanisms with Infokernel Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau, Nathan C. Burnett, Timothy E. Denehy, Thomas J.
1 Lecture 8: Virtual Memory Operating System Fall 2006.
Onlinedeeneislam.blogspot.com1 Design and Analysis of Algorithms Slide # 1 Download From
Operating System Concepts and Techniques Lecture 9 Memory Management-2 M. Naghibzadeh Reference M. Naghibzadeh, Operating System Concepts and Techniques,
1 Contents Memory types & memory hierarchy Virtual memory (VM) Page replacement algorithms in case of VM.
MONTE CARLO TRANSPORT SIMULATION Panda Computing Week 2012, Torino.
Sridhar Rajagopal Bryan A. Jones and Joseph R. Cavallaro
Memory Management.
Types for Programs and Proofs
Memory Allocation The main memory must accommodate both:
Chapter 9: Virtual Memory – Part I
Geant4 Geometry Speed-ups
Day 27 File System.
Distance Computation “Efficient Distance Computation Between Non-Convex Objects” Sean Quinlan Stanford, 1994 Presentation by Julie Letchner.
Ideas for G4 navigation interface using ROOT geometry
Software and Hardware Circular Buffer Operations
CPSC 531: System Modeling and Simulation
Chapter 9: Virtual-Memory Management
Lecture 29: Virtual Memory-Address Translation
Lecture 3: Main Memory.
Morgan Kaufmann Publishers Memory Hierarchy: Virtual Memory
Contents Memory types & memory hierarchy Virtual memory (VM)
Marc Verderi GEANT4 collaboration meeting 01/10/2002
Presentation made by Steponas Šipaila
Detector Geometry Description
CSE 542: Operating Systems
FREERIDE: A Framework for Rapid Implementation of Datamining Engines
Chapter 8 & 9 Main Memory and Virtual Memory
CSE 542: Operating Systems
FREERIDE: A Framework for Rapid Implementation of Datamining Engines
Presentation transcript:

Specialized Geant4 navigation for GATE Jan De Beenhouwer Steven Staelens

– Geant4 meeting – 12/09/2007 2/12 Navigation for parameterized volumes : ‣ What are parameterized volumes really? ‣ What are they used for in Gate? ‣ Why bother? ‣ How is navigation done in Geant4? ‣ Why is it so freaking slow? ‣ How to improve? ‣ Status Navigation for FD/CFD ‣ Going a step further: FD/CFD optimized navigation ‣ Status

– Geant4 meeting – 12/09/2007 3/12 What are parameterized volumes? ‣ repeated volumes : » one copy really exists at any given time » Properties change on the fly by a parameterization Material Size Solid type : box, sphere, trapezoid,… » Very dynamic, but slower due to the parameterization » Highly memory efficient!

– Geant4 meeting – 12/09/2007 4/12 What are they used for in GATE? ‣ Voxelized phantoms ‣ Fan beam and cone beam collimators Why bother? ‣ Voxelized phantoms are widely used for realistic acquisitions in GATE ‣ Fan beam sims are used for brain SPECT ‣ Both are extremely slow when used

– Geant4 meeting – 12/09/2007 5/12 How is navigation done in Geant4? Construct (1) Close Optimize (2) Start run Track particles (3) Construct (1) Type: single or repeated Parameterization Submit to volume store Optimize (2) Repeated types Smart voxels Each copy has a index number in the voxelNode it belongs to voxelNodes

– Geant4 meeting – 12/09/2007 6/12 How is navigation done in Geant4? Track particles (3) G4Navigator: position, particle, … Specialized internal classes G4ParameterizedNavigation G4ReplicaNavigation G4VoxelNavigation G4NormalNavigation G4VPVParameterization GateHoleParam GateCompressedVoxelParam GateVoxelBoxParam GateVoxelParam For each step G4ParameterizedNavigation calls: Locate voxelNode (position, physics defined step..) Compute step (position, geometrically limiting the step) Compute isotropic safety (distance to nearest volume) GatePVParameterization

– Geant4 meeting – 12/09/2007 7/12 Why is it so freaking slow? On average about copies are checked to locate a particle at every single step in a fan beam collimator Locate voxelNode Compute step Compute isotropic safety Loop over copy numbers: compute transformation compute dimensions place it (logical, physical, solid, affine transform) Apply algorithm to the placement of this copy number

– Geant4 meeting – 12/09/2007 8/12 What is the conceptual idea? ‣ The optimization is a general one » Too many “wrong” volumes are placed and checked before finding the right one » Navigation history is working overtime ‣ Make the optimization a specialized one » The knowledge of the parameterization is in that class itself » Exploit that to find the “right” volume (almost) directly » Avoid, avoid, avoid the navigation history

– Geant4 meeting – 12/09/2007 9/12 GateParameterizedNavigation Know that the param is a GATE class: GatePVParameterization* param Get a param type : collimator, or voxel phantom, …. Get a list of copies to consider Apply a custom algorithm for each param type G4Navigator: position, particle, … -> pointer to virtual class How to improve? Virtual classes G4ParameterizedNavigation G4ReplicaNavigation G4VoxelNavigation G4NormalNavigation G4VPVParameterization GateHoleParam GateCompressedVoxelParam GateVoxelBoxParam GateVoxelParam GatePVParameterization Each parameterization class must implement GetCopyList GetParameterizationType

– Geant4 meeting – 12/09/ /12 Status The above scheme has been completely implemented For fan beam collimators : GateParameterizedNavigation Calls the parameterization Supplies the position of the particle Asks for a list of copy numbers nearby to consider in its algorithms Asks the parameterization type so a specialized algorithm can be used GateHoleParameterization computes 2 copynumbers, each representing a half hole Speedup : several 1000 times faster than the old fan beam collimator tracking

– Geant4 meeting – 12/09/ /12 Status For voxelized phantoms : The direct neighbourgs of the current voxel are used to limit the search, the 2 most probable voxels (depending on the current direction of a particle) are first in the list. Complexity dropped from O(n^3) to O(n) This is combined with the compression technique that combines voxels of the same material to larger ones The navigation is now effectively under GATE control for parameterized volumes. This would not be required if the G4 classes would ask the parameterization classes for a specialized copy list.

– Geant4 meeting – 12/09/ /12 Status Each type of parameterization can have its own “navigation algorithm” to compute the copy list, which can be much more specialized than a general optimization technique such as the smart voxels This anticipates the next step of Geant4 : a virtual navigator that can be customized by the user The new navigator code is being validated and used by all fan beam and FD/CFD simulations in Ghent and will be part of our next update to FD/CFD with fan beam collimators. No approximations are used in this code