physics tables and multi core n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Physics tables and multi-core PowerPoint Presentation
Download Presentation
Physics tables and multi-core

Loading in 2 Seconds...

play fullscreen
1 / 8

Physics tables and multi-core - PowerPoint PPT Presentation


  • 57 Views
  • Uploaded on

Physics tables and multi-core. J. Apostolakis. Motivation. Limited reuse of memory in Multi-Processing A forked process shares all pages of memory which read-only (called ‘Copy-on-write’=COW) With Geant4 less than 30% can be shared Leading reasons: Caching in physics tables

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Physics tables and multi-core' - milek


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
motivation
Motivation
  • Limited reuse of memory in Multi-Processing
    • A forked process shares all pages of memory which read-only (called ‘Copy-on-write’=COW)
    • With Geant4 less than 30% can be shared
  • Leading reasons:
    • Caching in physics tables
    • Replicas’ copy numbers.
  • With simple changes could increase reuse
inside a p hysics table
Inside a Physics Table

Physics Vector (material 1)

Physics Vector (material 2)

Physics Vector (material 3)

Physics Table

inside a physics vector
Inside a Physics Vector

Last bin

Last value

Last 2nd Deriv.

Scalars

Energy Vector

Value Vector

2nd Derivative Vector

Cache: Read/Write

Read-only after filling (initialization)

3 doubles

Typically 70-150 double values each

Typically created in consecutive areas of the heap. The result is:

By writing the 3 doubles (cache) a process creates copy of page(s) which

containing ~ 300 doubles

multiprocessing and timing
Multiprocessing and ‘timing’
  • BeamOn is called
  • Initialization of geometry
  • Initialization of physics processes
  • First event is processed
  • Worker processes (or threads) are created
  • Fork waits until the physics tables are initialized!
requirement for multiprocessing
Requirement for multiprocessing
  • Use separate areas of memory
    • One for the scalars (which are rewritten)
    • A different one for the vectors
  • Fork waits until the tables are initialized & shared.
complications
Complications?

Other large arrays used by physics processes

  • Static arrays in Brems, pair production, Goldsmith-SaundersonMSc
  • C-arrays in
    • Hadron Elastic (no caching)
    • CHIPS Elastic (?caching?)
outcome
Outcome
  • Revision of design of physics vector
    • To separate areas of memory for scalars and vectors
    • Hisaya was present – he maintains phys. vector