Peano
Loading...
Searching...
No Matches
exahype2.postprocessing.PerformanceData.PerformanceData Class Reference
Inheritance diagram for exahype2.postprocessing.PerformanceData.PerformanceData:
Collaboration diagram for exahype2.postprocessing.PerformanceData.PerformanceData:

Public Member Functions

 __init__ (self, file_name, solver_name="", verbose=False)
 :: Attributes
 
 __str__ (self, *args, **kwargs)
 
 parse (self, verbose)
 
 get_time_per_time_step (self)
 Returns a whole array of times per time step, so you can plot the evoluation of the cost per step over time.
 
 get_average_time_per_time_step (self)
 Returns a whole array of times per time step, so you can plot the evoluation of the cost per step over time.
 
 get_updates (self)
 
 get_time_step_real_time_stamps (self)
 Returns a series of real time stamps (in seconds) snapshotted per time step.
 
 get_time_step_simulated_time_stamps (self)
 Returns a sequence of time stamps that are the simulated time stamps (where has the simulation been at a certain point) per step.
 
 get_time_step_time_step_size (self)
 
 uses_local_timestepping (self)
 
 timesteps (self)
 Should maybe eliminate the time steps that are not really steps.
 
 time_per_time_step (self)
 Time of last time step normalised (multiplied) with h^d.
 
 remove_first_n_entries (self, count)
 Remove the first count entries from the dataset.
 

Data Fields

 total_construction_time
 
 total_time_stepping_time
 
 total_plotting_time
 
 total_construction_steps
 
 total_time_stepping_steps
 
 total_plotting_steps
 
 plotting_time_stamp
 
 valid
 

Protected Attributes

 _file_name
 
 _solver_name
 
 _threads
 
 _ranks
 
 _cores_per_node
 
 _time_step_time_stamp
 
 _simulated_time_stamp_max
 
 _simulated_time_stamp_min
 
 _time_step_size_max
 
 _time_step_size_min
 
 _updates
 
 _number_of_time_steps
 
 _parse_machine_time_format
 
 _d
 

Private Member Functions

 __convert_machine_readable_timestamp_to_seconds (self, data)
 Hand in a string in nanoseconds and return double as s.
 
 __convert_human_readable_timestamp_to_seconds (self, data)
 Hand in a string in the format hh:mm:ss.
 
 __extract_time_stamp_from_run_call (self, line)
 

Detailed Description

Definition at line 11 of file PerformanceData.py.

Constructor & Destructor Documentation

◆ __init__()

exahype2.postprocessing.PerformanceData.PerformanceData.__init__ ( self,
file_name,
solver_name = "",
verbose = False )

:: Attributes

self._number_of_time_steps: Int Includes the empty time steps (warm-up phase) if you have adaptive time stepping.

:: Arguments

file_name: String This is a mandatory field, as it tells us which file to parse.

solver_name: String In theory, you could live without this one if you have only one solver. However, ExaHyPE2 supports multiple solvers within one grid and therefore needs a dedicated solver name to know where to look in the file. Leave it empty if there's only one solver.

Definition at line 12 of file PerformanceData.py.

Member Function Documentation

◆ __convert_human_readable_timestamp_to_seconds()

exahype2.postprocessing.PerformanceData.PerformanceData.__convert_human_readable_timestamp_to_seconds ( self,
data )
private

Hand in a string in the format hh:mm:ss.

Definition at line 84 of file PerformanceData.py.

Referenced by exahype2.postprocessing.PerformanceData.PerformanceData.__extract_time_stamp_from_run_call().

Here is the caller graph for this function:

◆ __convert_machine_readable_timestamp_to_seconds()

exahype2.postprocessing.PerformanceData.PerformanceData.__convert_machine_readable_timestamp_to_seconds ( self,
data )
private

Hand in a string in nanoseconds and return double as s.

Definition at line 74 of file PerformanceData.py.

Referenced by exahype2.postprocessing.PerformanceData.PerformanceData.__extract_time_stamp_from_run_call().

Here is the caller graph for this function:

◆ __extract_time_stamp_from_run_call()

exahype2.postprocessing.PerformanceData.PerformanceData.__extract_time_stamp_from_run_call ( self,
line )
private

◆ __str__()

◆ get_average_time_per_time_step()

exahype2.postprocessing.PerformanceData.PerformanceData.get_average_time_per_time_step ( self)

Returns a whole array of times per time step, so you can plot the evoluation of the cost per step over time.

Definition at line 266 of file PerformanceData.py.

References exahype2.postprocessing.PerformanceData.PerformanceData.get_time_per_time_step().

Here is the call graph for this function:

◆ get_time_per_time_step()

exahype2.postprocessing.PerformanceData.PerformanceData.get_time_per_time_step ( self)

Returns a whole array of times per time step, so you can plot the evoluation of the cost per step over time.

Definition at line 253 of file PerformanceData.py.

References exahype2.postprocessing.PerformanceData.PerformanceData._time_step_time_stamp.

Referenced by exahype2.postprocessing.PerformanceData.PerformanceData.get_average_time_per_time_step().

Here is the caller graph for this function:

◆ get_time_step_real_time_stamps()

exahype2.postprocessing.PerformanceData.PerformanceData.get_time_step_real_time_stamps ( self)

Returns a series of real time stamps (in seconds) snapshotted per time step.

This is not a mere copy, as the last entry in the local set is the end of the simulation. So we remove this one. At the same time, the very first entry is the start of the simulation or first time step where nothing happens yet (if we have to analyse the eigenvalue first).

Definition at line 287 of file PerformanceData.py.

References exahype2.postprocessing.PerformanceData.PerformanceData._time_step_time_stamp.

◆ get_time_step_simulated_time_stamps()

exahype2.postprocessing.PerformanceData.PerformanceData.get_time_step_simulated_time_stamps ( self)

Returns a sequence of time stamps that are the simulated time stamps (where has the simulation been at a certain point) per step.

This is not a mere copy, as the last entry in the local set is the end of the simulation

Definition at line 306 of file PerformanceData.py.

References exahype2.postprocessing.PerformanceData.PerformanceData._simulated_time_stamp_max, exahype2.postprocessing.PerformanceData.PerformanceData._simulated_time_stamp_min, and exahype2.postprocessing.PerformanceData.PerformanceData.uses_local_timestepping().

Here is the call graph for this function:

◆ get_time_step_time_step_size()

exahype2.postprocessing.PerformanceData.PerformanceData.get_time_step_time_step_size ( self)

◆ get_updates()

exahype2.postprocessing.PerformanceData.PerformanceData.get_updates ( self)

◆ parse()

◆ remove_first_n_entries()

exahype2.postprocessing.PerformanceData.PerformanceData.remove_first_n_entries ( self,
count )

◆ time_per_time_step()

exahype2.postprocessing.PerformanceData.PerformanceData.time_per_time_step ( self)

◆ timesteps()

exahype2.postprocessing.PerformanceData.PerformanceData.timesteps ( self)

Should maybe eliminate the time steps that are not really steps.

Definition at line 345 of file PerformanceData.py.

References exahype2.postprocessing.PerformanceData.PerformanceData._time_step_size_max, and exahype2.postprocessing.PerformanceData.PerformanceData._time_step_size_min.

◆ uses_local_timestepping()

Field Documentation

◆ _cores_per_node

exahype2.postprocessing.PerformanceData.PerformanceData._cores_per_node
protected

Definition at line 37 of file PerformanceData.py.

◆ _d

exahype2.postprocessing.PerformanceData.PerformanceData._d
protected

Definition at line 138 of file PerformanceData.py.

◆ _file_name

◆ _number_of_time_steps

exahype2.postprocessing.PerformanceData.PerformanceData._number_of_time_steps
protected

◆ _parse_machine_time_format

exahype2.postprocessing.PerformanceData.PerformanceData._parse_machine_time_format
protected

◆ _ranks

exahype2.postprocessing.PerformanceData.PerformanceData._ranks
protected

◆ _simulated_time_stamp_max

exahype2.postprocessing.PerformanceData.PerformanceData._simulated_time_stamp_max
protected

◆ _simulated_time_stamp_min

exahype2.postprocessing.PerformanceData.PerformanceData._simulated_time_stamp_min
protected

◆ _solver_name

exahype2.postprocessing.PerformanceData.PerformanceData._solver_name
protected

◆ _threads

exahype2.postprocessing.PerformanceData.PerformanceData._threads
protected

◆ _time_step_size_max

◆ _time_step_size_min

◆ _time_step_time_stamp

◆ _updates

exahype2.postprocessing.PerformanceData.PerformanceData._updates
protected

◆ plotting_time_stamp

exahype2.postprocessing.PerformanceData.PerformanceData.plotting_time_stamp

Definition at line 47 of file PerformanceData.py.

◆ total_construction_steps

exahype2.postprocessing.PerformanceData.PerformanceData.total_construction_steps

◆ total_construction_time

exahype2.postprocessing.PerformanceData.PerformanceData.total_construction_time

◆ total_plotting_steps

exahype2.postprocessing.PerformanceData.PerformanceData.total_plotting_steps

◆ total_plotting_time

exahype2.postprocessing.PerformanceData.PerformanceData.total_plotting_time

◆ total_time_stepping_steps

exahype2.postprocessing.PerformanceData.PerformanceData.total_time_stepping_steps

◆ total_time_stepping_time

exahype2.postprocessing.PerformanceData.PerformanceData.total_time_stepping_time

◆ valid


The documentation for this class was generated from the following file: