profiling study of geant4-gate vrts discussion nicolas karakatsanis alexander howard geant4 users...

31
Profiling study of Profiling study of Geant4-GATE Geant4-GATE VRTs discussion VRTs discussion Nicolas Karakatsanis Nicolas Karakatsanis Alexander Howard Alexander Howard Geant4 Users Workshop Medical/GATE Parallel Geant4 Users Workshop Medical/GATE Parallel Session Session 13 13 th th September 2007, Hebden Bridge, UK September 2007, Hebden Bridge, UK

Upload: samantha-horn

Post on 02-Jan-2016

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Profiling study of Geant4-GATE VRTs discussion Nicolas Karakatsanis Alexander Howard Geant4 Users Workshop Medical/GATE Parallel Session 13 th September

Profiling study of Geant4-GATEProfiling study of Geant4-GATEVRTs discussionVRTs discussion

Nicolas KarakatsanisNicolas KarakatsanisAlexander HowardAlexander Howard

Geant4 Users Workshop Medical/GATE Parallel SessionGeant4 Users Workshop Medical/GATE Parallel Session1313thth September 2007, Hebden Bridge, UK September 2007, Hebden Bridge, UK

Page 2: Profiling study of Geant4-GATE VRTs discussion Nicolas Karakatsanis Alexander Howard Geant4 Users Workshop Medical/GATE Parallel Session 13 th September

ContentsContents

IntroductionIntroduction Simulation efficiency with voxelized Simulation efficiency with voxelized

phantomsphantoms Compressed Voxel ParameterizationCompressed Voxel Parameterization Profiling study - ConclusionsProfiling study - Conclusions Geometry VRTs so farGeometry VRTs so far Discussion of possible new geometry VRTsDiscussion of possible new geometry VRTs Suggested actionsSuggested actions

Page 3: Profiling study of Geant4-GATE VRTs discussion Nicolas Karakatsanis Alexander Howard Geant4 Users Workshop Medical/GATE Parallel Session 13 th September

IntroductionIntroduction

GATE performance degrades when voxelized GATE performance degrades when voxelized maps (attenuation or emission distributions) maps (attenuation or emission distributions) are usedare used Simulation times become prohibitive for clinical or Simulation times become prohibitive for clinical or

pre-clinical simulation studiespre-clinical simulation studies Profiling studies indicate a performance Profiling studies indicate a performance

bottleneck on the Geant4 navigator functionbottleneck on the Geant4 navigator function Collaboration between G4 and GATE developers Collaboration between G4 and GATE developers

to optimize the efficiencyto optimize the efficiency

Page 4: Profiling study of Geant4-GATE VRTs discussion Nicolas Karakatsanis Alexander Howard Geant4 Users Workshop Medical/GATE Parallel Session 13 th September

Simulation efficiency with voxelized Simulation efficiency with voxelized phantomsphantoms

Geant4-GATE features (our analysis)Geant4-GATE features (our analysis) Deal with each voxel as a different material regionDeal with each voxel as a different material region At least one step is forced in each material region boundaryAt least one step is forced in each material region boundary ThereforeTherefore

G4 stepping implementation can be one of most important (if not G4 stepping implementation can be one of most important (if not the most important) factors that affects simulation speed the most important) factors that affects simulation speed

when using large voxelized phantoms when using large voxelized phantoms Possible solutionPossible solution

If the material in one voxel is the same as that in its If the material in one voxel is the same as that in its neighbouring voxel, neighbouring voxel,

Treat those two voxels as one region (no region boundary between Treat those two voxels as one region (no region boundary between those two voxels)those two voxels)

Check that condition for all voxelsCheck that condition for all voxels

Page 5: Profiling study of Geant4-GATE VRTs discussion Nicolas Karakatsanis Alexander Howard Geant4 Users Workshop Medical/GATE Parallel Session 13 th September

Simulation efficiency with voxelized Simulation efficiency with voxelized phantomsphantoms

Possible solution (..continue)Possible solution (..continue) Create an option in stepping function Create an option in stepping function

to test if the material in next region is the same as to test if the material in next region is the same as current one. current one.

If yesIf yes no boundary is applied here and no boundary is applied here and a normal step is takena normal step is taken

A flag can turn on/off the previous optionA flag can turn on/off the previous option

Page 6: Profiling study of Geant4-GATE VRTs discussion Nicolas Karakatsanis Alexander Howard Geant4 Users Workshop Medical/GATE Parallel Session 13 th September

Compressed Voxel ParameterizationCompressed Voxel Parameterization

Solution developed in GATESolution developed in GATE Application of a “compressed” voxel parameterizationApplication of a “compressed” voxel parameterization

generate a phantom where voxel size is variable generate a phantom where voxel size is variable All adjacent voxels of the same material are fused together to form the largest All adjacent voxels of the same material are fused together to form the largest

possible rectangular voxel. possible rectangular voxel. Compressed parameterization uses Compressed parameterization uses

less memory and also less memory and also less CPU cyclesless CPU cycles

It is possible to exclude regions in the phantom from being compressed It is possible to exclude regions in the phantom from being compressed through the use of an "exclude list" of materialsthrough the use of an "exclude list" of materials

DiscussionDiscussion Initial purpose of implementationInitial purpose of implementation

less memory usage – larger phantoms can be simulatedless memory usage – larger phantoms can be simulated Side-effectsSide-effects

less CPU cycles usage - reduce the simulation time but only by maybe 30%less CPU cycles usage - reduce the simulation time but only by maybe 30% Need for a better speed-up factorNeed for a better speed-up factor

Investigation of a more efficient way to track particles in a voxelized geometryInvestigation of a more efficient way to track particles in a voxelized geometry

Contact: Richard Taschereau: Contact: Richard Taschereau: [email protected]@mednet.ucla.edu

Page 7: Profiling study of Geant4-GATE VRTs discussion Nicolas Karakatsanis Alexander Howard Geant4 Users Workshop Medical/GATE Parallel Session 13 th September

Profiling studiesProfiling studies Profiling studies using GNU toolsProfiling studies using GNU tools

CallgrindCallgrind Simulation set-upSimulation set-up

Biograph6 scannerBiograph6 scanner 1 sec acquisition time1 sec acquisition time Activity level -> 10kBqActivity level -> 10kBq

Compare flat profiles and call graphs of following Compare flat profiles and call graphs of following casescases

NEMA cylindrical analytical phantomNEMA cylindrical analytical phantom NCAT thorax voxelized phantom (using default voxel NCAT thorax voxelized phantom (using default voxel

parameterization)parameterization) NCAT thorax voxelized phantom (using compressed NCAT thorax voxelized phantom (using compressed

voxel parameterization)voxel parameterization)

Page 8: Profiling study of Geant4-GATE VRTs discussion Nicolas Karakatsanis Alexander Howard Geant4 Users Workshop Medical/GATE Parallel Session 13 th September

Callgrind studyCallgrind study analytical NEMA phantom analytical NEMA phantomFlat profile for an analytical cylindrical NEMA phantom

log

10

G4

EM

Da

taS

et:

:Fin

dB

inL

oc

ati

on

CL

HE

P::

He

pJ

am

es

Ra

nd

om

::fl

at

G4

Lo

gL

og

Inte

rpo

lati

on

::C

alc

ula

te

po

w

_ie

ee

75

4_

po

w

int_

ma

lloc

G4

EM

Da

taS

et:

:Fin

dV

alu

e

isn

an

_ie

ee

75

4_

log

10

0

1

2

3

4

5

6

7

function

GATE - Geant4 functions

Fu

ncti

on

self

co

st

(%)

log10

isnan

_ieee754_log10

G4EMDataSet::FindBinLocation

CLHEP::HepJamesRandom::flat

G4LogLogInterpolation::Calculate

pow

_ieee754_pow

int_malloc

G4EMDataSet::FindValue

Page 9: Profiling study of Geant4-GATE VRTs discussion Nicolas Karakatsanis Alexander Howard Geant4 Users Workshop Medical/GATE Parallel Session 13 th September

Callgrind study voxelized NCAT phantom Callgrind study voxelized NCAT phantom (default parameterization)(default parameterization)

Flat profile for a NCAT phantom using default voxel parameterization

log

10

G4P

aram

eter

ised

Nav

igat

ion

::L

evel

Lo

cate

G4E

MD

ataS

et::

Fin

dB

inL

oca

tio

n

G4E

MD

ataS

et::

Fin

dV

alu

e

div

CL

HE

P::

Hep

Ro

tati

on

::ro

tate

Axe

s

CL

HE

P::

Hep

Jam

esR

and

om

::fl

at

G4N

avig

atio

nL

evel

Rep

::G

4Nav

igat

ion

Lev

elR

ep

G4L

og

Lo

gIn

terp

ola

tio

n::

Cal

cula

te

Gat

eVo

xelB

oxP

aram

eter

izat

ion

:: C

om

pu

teT

ran

sfo

rmat

ion

G4P

aram

eter

ised

Nav

igat

ion

:: Id

enti

fyA

nd

Pla

ceS

olid

0

1

2

3

4

5

6

7

8

9

10

1

GATE - Geant4 functions

Fu

nct

ion

sel

f co

st (

%)

log10

G4NavigationLevelRep::G4NavigationLevelRep

G4ParameterisedNavigation::LevelLocate

isnan

_ieee754_log10

G4EMDataSet::FindBinLocation

G4LogLogInterpolation::Calculate

pow

_ieee754_pow

G4EMDataSet::FindValue

GateVoxelBoxParameterization::ComputeTransformationdiv

G4Box::Inside

G4NavigationLevel::~G4NavigationLevel

G4NavigationLevel::operator=

G4NavigationLevel::G4NavigationLevel

G4ParameterisedNavigation::IdentifyAndPlaceSolid

CLHEP::HepRotation::rotateAxes

CLHEP::HepJamesRandom::flat

Page 10: Profiling study of Geant4-GATE VRTs discussion Nicolas Karakatsanis Alexander Howard Geant4 Users Workshop Medical/GATE Parallel Session 13 th September

Callgrind study voxelized NCAT phantom Callgrind study voxelized NCAT phantom (compressed parameterization)(compressed parameterization)

Flat profile for for a NCAT phantom using compressed voxel parameterization

log

10

G4N

avig

ati

on

LevelR

ep

:: G

4N

avig

ati

on

LevelR

ep

isn

an

G4P

ara

mete

rised

Navig

ati

on

::L

evelL

ocate

G4E

MD

ata

Set:

:Fin

dB

inL

ocati

on

G4L

og

Lo

gIn

terp

ola

tio

n::

Calc

ula

te

po

w

G4E

MD

ata

Set:

:Fin

dV

alu

eG

ate

Co

mp

ressed

Vo

xelP

ara

mete

rizati

on

::

Co

mp

ute

Tra

nsfo

rmati

on

Gate

Co

mp

ressed

Vo

xelP

ara

mete

rizati

on

::

Co

mp

ute

Dim

en

sio

ns

G4P

ara

mete

rised

Navig

ati

on

:: Id

en

tify

An

dP

laceS

olid

G4B

ox::

SetX

Half

Len

gth

G4B

ox::

SetY

Half

Len

gth

G4B

ox::

SetZ

Half

Len

gth

CL

HE

P::

Hep

Jam

esR

an

do

m::

flat

CL

HE

P::

Hep

Ro

tati

on

::ro

tate

Axes

0

1

2

3

4

5

6

7

8

9

1

GATE - Geant4 functions

Fu

nc

tio

n s

elf

co

st

(%)

log10

G4NavigationLevelRep:: G4NavigationLevelRep

isnan

G4ParameterisedNavigation::LevelLocate

_ieee754_log10

G4EMDataSet::FindBinLocation

G4LogLogInterpolation::Calculate

pow

_ieee754_pow

G4EMDataSet::FindValue

GateCompressedVoxelParameterization::ComputeTransformationCLHEP::operator/

GateCompressedVoxelParameterization::ComputeDimensionsG4NavigationLevel::~G4NavigationLevel

G4NavigationLevel::operator=

int_malloc

G4NavigationLevel::G4NavigationLevel

G4ParameterisedNavigation::IdentifyAndPlaceSolidG4Box::Inside

G4Box::SetXHalfLength

G4Box::SetYHalfLength

G4Box::SetZHalfLength

CLHEP::HepJamesRandom::flat

CLHEP::HepRotation::rotateAxes

Page 11: Profiling study of Geant4-GATE VRTs discussion Nicolas Karakatsanis Alexander Howard Geant4 Users Workshop Medical/GATE Parallel Session 13 th September

Total time performance cost for three cases

NC

AT

_par

amet

eriz

ed

NC

AT

_co

mp

ress

ed

NEMA0

2E+10

4E+10

6E+10

8E+10

1E+11

1E+11

1

simulation cases

To

tal t

ime

cost

(ab

solu

te v

alu

es) NEMA

NCAT_parameterized

NCAT_compressed

Callgrind study Callgrind study Comparison of time-performance costComparison of time-performance cost

Total time cost refers to the total time required for the execution of the simulationAbsolute cost values are presented with arbitrary unitsThe total cost increases by 814% and 517% when a voxelized phantom and a compressed phantom is used respectively

Page 12: Profiling study of Geant4-GATE VRTs discussion Nicolas Karakatsanis Alexander Howard Geant4 Users Workshop Medical/GATE Parallel Session 13 th September

Callgrind study Callgrind study Comparison of time-performance costComparison of time-performance cost

G4LogLogInterpolation::Calculate time performance cost (self) for three cases

NC

AT

_par

amet

eriz

ed

NC

AT

_c

om

pre

ss

ed

NEMA0

500000000

1000000000

1500000000

2000000000

2500000000

3000000000

3500000000

4000000000

4500000000

1

simulation cases

Tim

e co

st (

abso

lute

val

ues

)NEMA

NCAT_parameterized

NCAT_compressed

G4EMDataSet::FindValue time performance cost (inclusive) for three cases

NC

AT

_par

amet

eriz

ed

NC

AT

_co

mp

ress

ed

NEMA0

5000000000

10000000000

15000000000

20000000000

25000000000

30000000000

35000000000

40000000000

45000000000

1

simulation cases

Tim

e co

st (

abso

lute

val

ues

)

NEMA

NCAT_parameterized

NCAT_compressed

G4EMDataSet::FindValue exhibitsone of the highest time inclusive costs (absolute values) among the G4functions which are called by the G4SteppingManager

Inclusive time cost is the time spent on the function itself and all of its callees

G4LogLogInterpolation::Calculate exhibits one of the highest time self costs (absolute values) among the G4functions which are called by the G4EMDataSet::FindValue

Self time cost is the time spent only on the function itself

Page 13: Profiling study of Geant4-GATE VRTs discussion Nicolas Karakatsanis Alexander Howard Geant4 Users Workshop Medical/GATE Parallel Session 13 th September

Callgrind study Callgrind study Comparison between default and compressed parameterizationComparison between default and compressed parameterization

G4ParameterisedNavigation::LevelLocate time performance cost (inclusive) for three cases

NC

AT

_p

aram

ete

rized

NC

AT

_co

mp

ressed

0

5000000000

10000000000

15000000000

20000000000

25000000000

30000000000

1

simulation cases

Tim

e c

ost

(ab

so

lute

val

ues) NCAT_parameterized

NCAT_compressed

G4ParameterisedNavigation:: IdentifyAndPlaceSolid time performance cost (inclusive) for three cases

NC

AT

_p

ara

mete

rized

NC

AT

_co

mp

ressed

0

1000000000

2000000000

3000000000

4000000000

5000000000

6000000000

7000000000

8000000000

9000000000

1

simulation cases

Tim

e c

ost

(ab

so

lute

valu

es)

NCAT_parameterized

NCAT_compressed

G4ParameterisedNavigation:: LevelLocate exhibitsone of the highest time inclusive costs (absolute values) among the functions of the G4Navigator class

This function is located at libG4navigator.so and calls most of the functions used by the navigator

G4ParameterisedNavigation:: IdentifyAndPlaceSolid determines the parameterization type applied for each voxel

Compressed voxel implementation adds up the inclusive time cost of this function, because it adjusts the voxel dimensions depending on its material attribute

Page 14: Profiling study of Geant4-GATE VRTs discussion Nicolas Karakatsanis Alexander Howard Geant4 Users Workshop Medical/GATE Parallel Session 13 th September

Callgrind study - Call graphCallgrind study - Call graphNEMA analytical phantomNEMA analytical phantom

G4EMDataSet::FindValue function spends 30.86% of the total cost by completing it’s calls to callees functions and by returning calls made to this function from other caller functions.

Page 15: Profiling study of Geant4-GATE VRTs discussion Nicolas Karakatsanis Alexander Howard Geant4 Users Workshop Medical/GATE Parallel Session 13 th September

Callgrind study - Call graphCallgrind study - Call graphNCAT voxelized phantom (default parameterization)NCAT voxelized phantom (default parameterization)

G4ParameterisedNavigation::LevelLocate function spends 27.88% of the total cost by by completing it’s calls to callees functions and by returning calls made to this function from other caller functions.

Page 16: Profiling study of Geant4-GATE VRTs discussion Nicolas Karakatsanis Alexander Howard Geant4 Users Workshop Medical/GATE Parallel Session 13 th September

Callgrind study - Call graphCallgrind study - Call graphNCAT voxelized phantom (compressed parameterization)NCAT voxelized phantom (compressed parameterization)

G4ParameterisedNavigation::LevelLocate function spends 31.10% of the total cost by by completing it’s calls to callees functions and by returning calls made to this function from other caller functions.

Page 17: Profiling study of Geant4-GATE VRTs discussion Nicolas Karakatsanis Alexander Howard Geant4 Users Workshop Medical/GATE Parallel Session 13 th September

Profiling study conclusionsProfiling study conclusions In the case of voxelized phantomsIn the case of voxelized phantoms

Significant degradation of the G4-GATE performanceSignificant degradation of the G4-GATE performance 8 times slower with default parameterization8 times slower with default parameterization 5 times slower with compressed parameterization5 times slower with compressed parameterization

G4NavigationLevelRep::G4NavigationLevelRep exhibits the highest G4NavigationLevelRep::G4NavigationLevelRep exhibits the highest self time cost (max. 7.44%)self time cost (max. 7.44%)

G4ParameterisedNavigation::LevelLocate exhibits the highest G4ParameterisedNavigation::LevelLocate exhibits the highest inclusive time cost among functions called by the G4steppingManagerinclusive time cost among functions called by the G4steppingManager

Compressed voxel parameterization achieves speed-up of 30-40% onlyCompressed voxel parameterization achieves speed-up of 30-40% only Need for more efficient version of stepping manager and navigator Need for more efficient version of stepping manager and navigator

optimized for G4 medical applicationsoptimized for G4 medical applications

In the case of analytical phantomsIn the case of analytical phantoms G4EMDataSet::FindValue (located at libG4emlowenergy.so) appears G4EMDataSet::FindValue (located at libG4emlowenergy.so) appears

to cause the most important time costto cause the most important time cost Primer caller of the G4 function with the highest combination of self and Primer caller of the G4 function with the highest combination of self and

inclusive time cost (G4LogLogInterpolation::Calculate) in the case of inclusive time cost (G4LogLogInterpolation::Calculate) in the case of analytical phantomsanalytical phantoms

Discussion between G4 and GATE developer communitiesDiscussion between G4 and GATE developer communities Guidance on which EM options used for different medical applicationsGuidance on which EM options used for different medical applications

Page 18: Profiling study of Geant4-GATE VRTs discussion Nicolas Karakatsanis Alexander Howard Geant4 Users Workshop Medical/GATE Parallel Session 13 th September

Alex Howard, CERN - Event Biasing Overview – Hebden Bridge 13th September 200718

Event Biasing in Geant4

PHYSICS BASED BIASING:Built in biasing options– Primary particle biasing– Radioactive decay biasing– General hadronic leading particle biasing– Hadronic cross section biasing

User defined biasing– G4WrapperProcess

See release documentation for detailed instructions on how to implement the various biasing techniques

GEOMETRICAL BIASING:Importance SamplingWeight Window

Page 19: Profiling study of Geant4-GATE VRTs discussion Nicolas Karakatsanis Alexander Howard Geant4 Users Workshop Medical/GATE Parallel Session 13 th September

Alex Howard, CERN - Event Biasing Overview – Hebden Bridge 13th September 200719

Primary Particle Biasing

Use case:– Increase number of high energy particles in

cosmic ray spectrum

Increase number of primary particles generated in a particular phase space region of interest– Weight of primary particle modified as

appropriate

General implementation provided by G4GeneralParticleSource class– Bias position, angular and energy distributions

Page 20: Profiling study of Geant4-GATE VRTs discussion Nicolas Karakatsanis Alexander Howard Geant4 Users Workshop Medical/GATE Parallel Session 13 th September

Alex Howard, CERN - Event Biasing Overview – Hebden Bridge 13th September 200720

User Defined Biasing: G4WrapperProcessImplement user defined biasing through G4WrapperProcess– A process itself, I.e, inherits from G4VProcess– Wraps an existing process

By default, function calls are forwarded to existing process

– Non-invasive way to manipulate the behaviour of a process

To use:– Subclass G4WrapperProcess and override

appropriate methods, e.g, PostStepDoIt– Register sublcass with process manager in place

of existing process– Register existing process with G4WrapperProcess

Page 21: Profiling study of Geant4-GATE VRTs discussion Nicolas Karakatsanis Alexander Howard Geant4 Users Workshop Medical/GATE Parallel Session 13 th September

Alex Howard, CERN - Event Biasing Overview – Hebden Bridge 13th September 200721

Splitting factor = 100No splitting

ScoringGeometry

Uniform Bremsstrahlung Splitting

Page 22: Profiling study of Geant4-GATE VRTs discussion Nicolas Karakatsanis Alexander Howard Geant4 Users Workshop Medical/GATE Parallel Session 13 th September

Alex Howard, CERN - Event Biasing Overview – Hebden Bridge 13th September 200722

Geometric Biasing

* Importance sampling technique* Weight window technique

The purpose of geometry based event biasing is to save computing time by sampling less often the particle histories entering “less important” geometry regions, and more often in more “important” regions.

Page 23: Profiling study of Geant4-GATE VRTs discussion Nicolas Karakatsanis Alexander Howard Geant4 Users Workshop Medical/GATE Parallel Session 13 th September

Alex Howard, CERN - Event Biasing Overview – Hebden Bridge 13th September 200723

Importance sampling technique

Importance sampling acts on particles crossing boundaries between “importance cells”.The action taken depends on the importance value assigned to the cell.In general, a track is either split or plays Russian roulette at the geometrical boundary depending on the importance value assigned to the cell.I=1 I=2 Survival probability (P) is defined by

the ratio of importance value. P = Ipost / Ipre

The track weight is changed to W/P.

X

Splitting a track ( P > 1 ) E.g. creating two particles with

half the ‘weight’ if it moves into volume with double importance value.

W=1 W=0.5

W=0.5

Russian-roulette (P < 1 ) in opposite direction E.g. Kill particles according to the survival

probability (1 - P).

W=0.5

W=1

P = 0.5

P = 2

Page 24: Profiling study of Geant4-GATE VRTs discussion Nicolas Karakatsanis Alexander Howard Geant4 Users Workshop Medical/GATE Parallel Session 13 th September

Alex Howard, CERN - Event Biasing Overview – Hebden Bridge 13th September 200724

The Weight Window Technique

The weight window technique is a weight-based algorithm – generally used together with other techniques as an alternative to importance sampling:– It applies splitting and Russian roulette depending on space

(cells) and energy– User defines weight windows in contrast to defining importance

values as in importance sampling

A weight window may be specified for every cell and for several energy regions: space-energy cell .

Apply in combination with other techniques such as cross-section biasing, Apply in combination with other techniques such as cross-section biasing, leading particle and implicit capture, or combinations of these.leading particle and implicit capture, or combinations of these.

Upper EnergyLower weight ELower Weight D C B A

Upper Energy

Lower weight

Lower weight

Survival weight

Upper weight

Kill/Survive

Split

Page 25: Profiling study of Geant4-GATE VRTs discussion Nicolas Karakatsanis Alexander Howard Geant4 Users Workshop Medical/GATE Parallel Session 13 th September

Alex Howard, CERN - Event Biasing Overview – Hebden Bridge 13th September 200725

The weight window technique (continue)

Checks the particle weight– Compare the particle weight with a ‘window’ of weights defined for

the current energy-space cell– Play splitting or roulette in case if it is outside, resulting in 0 or

more particles ‘inside’ the window E.g. WL is a lower weight bound of a cell.

CU and CS are upper limit factor and survival factor, respectively.

• W > WL*CU Split track• W < WL*WL Roulette

WL

WL*CS

WL*CU

P = W / (WL*CS)

Page 26: Profiling study of Geant4-GATE VRTs discussion Nicolas Karakatsanis Alexander Howard Geant4 Users Workshop Medical/GATE Parallel Session 13 th September

Alex Howard, CERN - Event Biasing Overview – Hebden Bridge 13th September 200726

Coupled TransportationSince release 8.2 coupled transportation has been includedThis is a generic form of parallel navigationGeometrical biasing was migrated/copied to this formalism– No longer duplicate mass and parallel

classes/samplers– Switch between mass and parallel world is

through transportation assignation– Examples also migrated – release 9.0

Examples also run for charged particles (and should handle magnetic fields)

Page 27: Profiling study of Geant4-GATE VRTs discussion Nicolas Karakatsanis Alexander Howard Geant4 Users Workshop Medical/GATE Parallel Session 13 th September

Alex Howard, CERN - Event Biasing Overview – Hebden Bridge 13th September 200727

Scoring/Tallies – brief overview

Page 28: Profiling study of Geant4-GATE VRTs discussion Nicolas Karakatsanis Alexander Howard Geant4 Users Workshop Medical/GATE Parallel Session 13 th September

Alex Howard, CERN - Event Biasing Overview – Hebden Bridge 13th September 200728

Physics biasing– Existing physics based biasing fragmented– Identify missing biasing methods & variations between

methods in other Monte Carlo codes Implicit capture General cross section biasing Interaction forcing Path length biasing Advanced bremsstrahlung splitting Leading particle biasing

– Look at developing dedicated framework to provide general physics biasing in analogy with geometrical biasing

Manipulating physics processes/lists

Page 29: Profiling study of Geant4-GATE VRTs discussion Nicolas Karakatsanis Alexander Howard Geant4 Users Workshop Medical/GATE Parallel Session 13 th September

VRTs for geometry so farVRTs for geometry so far

Variance Reduction Techniques (VRTs)Variance Reduction Techniques (VRTs) Geometrical Event BiasingGeometrical Event Biasing

Importance samplingImportance sampling Photon splittingPhoton splitting Russian rouletteRussian roulette

Weight window and energy samplingWeight window and energy sampling

A number of VRT implementations are already A number of VRT implementations are already available in Geant4, butavailable in Geant4, but Some of the Geant4 classes can be customized moreSome of the Geant4 classes can be customized more

Make efficient use of the toolikit architecture of G4Make efficient use of the toolikit architecture of G4 Design of a special navigator customized for voxel geometries Design of a special navigator customized for voxel geometries

Further classes implementing VRTs could be developedFurther classes implementing VRTs could be developed Improve of the geometry definition transported from GATE to G4Improve of the geometry definition transported from GATE to G4

Page 30: Profiling study of Geant4-GATE VRTs discussion Nicolas Karakatsanis Alexander Howard Geant4 Users Workshop Medical/GATE Parallel Session 13 th September

Discussion of possible new geometry VRTsDiscussion of possible new geometry VRTs Alternative photon splitting technique for G4Alternative photon splitting technique for G4

If the first photon of the annihilation pair is detected If the first photon of the annihilation pair is detected => second photon splits into multiple photons with equal weights and total => second photon splits into multiple photons with equal weights and total

weight sum of 1weight sum of 1 Degree of splitting depends on the probability of detectionDegree of splitting depends on the probability of detection

Probability is dependent on axial position and emission angleProbability is dependent on axial position and emission angle Therefore geometrical importance sampling is based on axial position and Therefore geometrical importance sampling is based on axial position and

emission angleemission angle Therefore prior knowledge of the geometry of the detector systems is Therefore prior knowledge of the geometry of the detector systems is

requiredrequired High detection probability => photon splits into a small number of secondary High detection probability => photon splits into a small number of secondary

photonsphotons Low detection probability => photon splits into a large number of secondary Low detection probability => photon splits into a large number of secondary

photonsphotons Speed up of the technique (applied in published MCs for scatter Speed up of the technique (applied in published MCs for scatter

correction –correction –Holdsworth et alHoldsworth et al)) 3 – 4 times increase in efficiency3 – 4 times increase in efficiency

Additional photon transport algorithms could be implementedAdditional photon transport algorithms could be implemented Delta scattering including energy discriminationDelta scattering including energy discrimination

Flags implementation Flags implementation user can easily activate or not the various VRT options depending on the user can easily activate or not the various VRT options depending on the

requirements of its applicationrequirements of its application

Page 31: Profiling study of Geant4-GATE VRTs discussion Nicolas Karakatsanis Alexander Howard Geant4 Users Workshop Medical/GATE Parallel Session 13 th September

Suggested actionsSuggested actions

Geant4/GATE collaboration targetsGeant4/GATE collaboration targets Guidance on which EM parameters should be used for Guidance on which EM parameters should be used for

different medical applications (J. Perl’s suggestion)different medical applications (J. Perl’s suggestion) physics processes, range cuts, step sizesphysics processes, range cuts, step sizes

Profiling using these guidances and suitable initializationProfiling using these guidances and suitable initialization Use of profiling results for determination of the G4 classes Use of profiling results for determination of the G4 classes

need to be optimizedneed to be optimized Customization of G4Navigator for voxel geometriesCustomization of G4Navigator for voxel geometries

Validation of the efficiency gain achievedValidation of the efficiency gain achieved is the speed/accuracy trade-off linear?is the speed/accuracy trade-off linear?

Publication of the new customized librariesPublication of the new customized libraries