Project

General

Profile

TAU ToDo List

  • Make the lists longer to allow to see more EM classes/functions. -done
  • Base the threshold on the % of time or instructions, not on absolute values. -done
  • Indicate which derived class caused invocation of a specific virtual function of the parent. -in progress
    To be done for each of the class hierarchies/functions listed in the table 1.
    Possibly as a fraction of the total number of invocation for a given parent.
    Can we e.g. say how many times (or %) for a given class a function that potentially "does nothing"
    was called? esp. important for the Along... functions in the G4VEnergyLossProcess hierarchy
  • Possibly list the function signature (arguments). -done
  • Focus TAU analysis on classes listed in Table 1 in the review. -done
  • Publish all the measurements properly treating inlined functions. -done
  • Filter/sort cache miss results by some measure which will relate to the "real significance"
    of the effect, e.g. by the exclusive cpu time fraction. -in progress
  • Post both exclusive and exclusive times/counts. -done
  • Sort items by their exclusive impact -done
  • Consistently use scientific notation to preserve the accuracy of the numbers. - even for percentages? or not use percentages at all?
  • To verify the hypothesis that some of the G4VEnergyLossProcess
    derived classes do little work in the AlongStepDoIt and
    AlongStepGetPhysicalInteractionLength member functions, combine the
    analysis done in the PostStepDoIt case with the one done for
    lightweight functions to find the type of the object of the called
    AlongStepDoIt functions and the number of instructions per call in
    those cases -in progress
  • To mitigate TAU features related to the length of the profiling run,
    trigger the profiling in G4RunManager::DoEventLoop
  • To investigate the cache misses in G4VPhysicsVector try profiling
    the G4xydForv10 branch and comparing it to v10
  • Likewise, try changing the type of the G4VPhysicsVector( &
    G4VPhysics2DVector) main containers from double to float (for
    v10.p01)