Peano
Loading...
Searching...
No Matches
postprocessing.PerformanceData.PerformanceData Class Reference
Inheritance diagram for postprocessing.PerformanceData.PerformanceData:
Collaboration diagram for 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__()

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()

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 postprocessing.PerformanceData.PerformanceData.__extract_time_stamp_from_run_call().

Here is the caller graph for this function:

◆ __convert_machine_readable_timestamp_to_seconds()

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 postprocessing.PerformanceData.PerformanceData.__extract_time_stamp_from_run_call().

Here is the caller graph for this function:

◆ __extract_time_stamp_from_run_call()

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

◆ __str__()

◆ get_average_time_per_time_step()

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 postprocessing.PerformanceData.PerformanceData.get_time_per_time_step().

Here is the call graph for this function:

◆ get_time_per_time_step()

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 postprocessing.PerformanceData.PerformanceData._time_step_time_stamp.

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

Here is the caller graph for this function:

◆ get_time_step_real_time_stamps()

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 postprocessing.PerformanceData.PerformanceData._time_step_time_stamp.

◆ get_time_step_simulated_time_stamps()

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 postprocessing.PerformanceData.PerformanceData._simulated_time_stamp_max, postprocessing.PerformanceData.PerformanceData._simulated_time_stamp_min, and postprocessing.PerformanceData.PerformanceData.uses_local_timestepping().

Here is the call graph for this function:

◆ get_time_step_time_step_size()

postprocessing.PerformanceData.PerformanceData.get_time_step_time_step_size (   self)

◆ get_updates()

postprocessing.PerformanceData.PerformanceData.get_updates (   self)

◆ parse()

◆ remove_first_n_entries()

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

◆ time_per_time_step()

postprocessing.PerformanceData.PerformanceData.time_per_time_step (   self)

◆ timesteps()

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 postprocessing.PerformanceData.PerformanceData._time_step_size_max, and postprocessing.PerformanceData.PerformanceData._time_step_size_min.

◆ uses_local_timestepping()

Field Documentation

◆ _cores_per_node

postprocessing.PerformanceData.PerformanceData._cores_per_node
protected

Definition at line 37 of file PerformanceData.py.

◆ _d

postprocessing.PerformanceData.PerformanceData._d
protected

Definition at line 138 of file PerformanceData.py.

◆ _file_name

◆ _number_of_time_steps

postprocessing.PerformanceData.PerformanceData._number_of_time_steps
protected

◆ _parse_machine_time_format

postprocessing.PerformanceData.PerformanceData._parse_machine_time_format
protected

◆ _ranks

◆ _simulated_time_stamp_max

postprocessing.PerformanceData.PerformanceData._simulated_time_stamp_max
protected

◆ _simulated_time_stamp_min

postprocessing.PerformanceData.PerformanceData._simulated_time_stamp_min
protected

◆ _solver_name

postprocessing.PerformanceData.PerformanceData._solver_name
protected

◆ _threads

postprocessing.PerformanceData.PerformanceData._threads
protected

◆ _time_step_size_max

◆ _time_step_size_min

◆ _time_step_time_stamp

◆ _updates

postprocessing.PerformanceData.PerformanceData._updates
protected

◆ plotting_time_stamp

postprocessing.PerformanceData.PerformanceData.plotting_time_stamp

Definition at line 47 of file PerformanceData.py.

◆ total_construction_steps

postprocessing.PerformanceData.PerformanceData.total_construction_steps

◆ total_construction_time

postprocessing.PerformanceData.PerformanceData.total_construction_time

◆ total_plotting_steps

postprocessing.PerformanceData.PerformanceData.total_plotting_steps

◆ total_plotting_time

postprocessing.PerformanceData.PerformanceData.total_plotting_time

◆ total_time_stepping_steps

postprocessing.PerformanceData.PerformanceData.total_time_stepping_steps

◆ total_time_stepping_time

postprocessing.PerformanceData.PerformanceData.total_time_stepping_time

◆ valid


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