Peano
Loading...
Searching...
No Matches
exahype2.api.generators.KernelMicrobenchmarkMain.KernelMicrobenchmarkMain Class Reference

Optional realisation of exahype2.api.Project.mainfile_generator. More...

Inheritance diagram for exahype2.api.generators.KernelMicrobenchmarkMain.KernelMicrobenchmarkMain:
Collaboration diagram for exahype2.api.generators.KernelMicrobenchmarkMain.KernelMicrobenchmarkMain:

Public Member Functions

 __init__ (self, Project project, str function_calls, str additional_includes)
 
 construct_output (self, peano_project)
 Add this generator's output to peano_project (a peano4.api.Project-compatible object, or anything else that add()'s cleanly into peano_project.output).
 

Data Fields

 function_calls
 
 additional_includes
 
- Data Fields inherited from exahype2.api.Project.Project.Generator
 project
 

Detailed Description

Optional realisation of exahype2.api.Project.mainfile_generator.

It constructs a main function that times the performance of different functions and assesses their accuracy.

Definition at line 8 of file KernelMicrobenchmarkMain.py.

Constructor & Destructor Documentation

◆ __init__()

exahype2.api.generators.KernelMicrobenchmarkMain.KernelMicrobenchmarkMain.__init__ (   self,
Project  project,
str  function_calls,
str  additional_includes 
)

Reimplemented from exahype2.api.Project.Project.Generator.

Definition at line 18 of file KernelMicrobenchmarkMain.py.

References exahype2.api.generators.KernelMicrobenchmarkMain.KernelMicrobenchmarkMain.__init__().

Referenced by exahype2.api.generators.KernelMicrobenchmarkMain.KernelMicrobenchmarkMain.__init__().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Function Documentation

◆ construct_output()

exahype2.api.generators.KernelMicrobenchmarkMain.KernelMicrobenchmarkMain.construct_output (   self,
  peano_project 
)

Add this generator's output to peano_project (a peano4.api.Project-compatible object, or anything else that add()'s cleanly into peano_project.output).

This is the one thing every Generator has to implement.

peano_project: peano4.api.Project The Peano 4 project that self.project.generate_Peano4_project() is currently assembling. It is a local variable there, not an attribute - merely passed through here, so this generator can add its own artefacts to it.

Reimplemented from exahype2.api.Project.Project.Generator.

Definition at line 23 of file KernelMicrobenchmarkMain.py.

References dastgen2.DataModel.DataModel.additional_includes, exahype2.api.fv.actionsets.RollOverUpdatedFace.RollOverUpdatedFace.additional_includes, exahype2.api.generators.KernelMicrobenchmarkMain.KernelMicrobenchmarkMain.additional_includes, exahype2.api.generators.KernelMicrobenchmarkMain._ExaHyPEKernelBenchmarkMainFileSequence.additional_includes, exahype2.api.Project.Project.additional_includes(), exahype2.api.rkfd4.actionsets.RollOverUpdatedFace.RollOverUpdatedFace.additional_includes, peano4.api.toolbox.multigrid.cellbased.ScalarJacobiWithRediscretisation.ScalarJacobiWithRediscretisation.additional_includes, peano4.api.toolbox.multigrid.MatrixFreeJacobi.MatrixFreeJacobi.additional_includes, peano4.api.toolbox.multigrid.vertexbased.ScalarJacobiWithRediscretisation.ScalarJacobiWithRediscretisation.additional_includes, peano4.api.toolbox.particles.InsertParticlesAlongCartesianLayoutIntoUnrefinedCells.InsertParticlesAlongCartesianLayoutIntoUnrefinedCells.additional_includes, peano4.api.toolbox.particles.InsertParticlesByCoordinates.InsertParticlesByCoordinates.additional_includes, peano4.api.toolbox.particles.InsertRandomParticlesIntoUnrefinedCells.InsertRandomParticlesIntoUnrefinedCells.additional_includes, peano4.api.toolbox.particles.PlotParticlesInVTKFormat.PlotParticlesInVTKFormat.additional_includes, peano4.api.toolbox.PlotCellDataInPeanoBlockFormat.PlotCellDataInPeanoBlockFormat.additional_includes, peano4.api.toolbox.PlotGridInPeanoBlockFormat.PlotGridInPeanoBlockFormat.additional_includes, peano4.api.toolbox.PlotVertexDataInPeanoBlockFormat.PlotVertexDataInPeanoBlockFormat.additional_includes, api.ApplyPointWiselyToPatch.ApplyPointWiselyToPatch.additional_includes, api.DynamicAMR.DynamicAMR.additional_includes, api.InterpolateAndRestrictCells.InterpolateAndRestrictCells.additional_includes, api.InterpolateHangingFaces.InterpolateHangingFaces.additional_includes, api.PlotPatchesInPeanoBlockFormat.PlotPatchesInPeanoBlockFormat.additional_includes, api.PlotPatchesOverFacesInPeanoBlockFormat.PlotPatchesOverFacesInPeanoBlockFormat.additional_includes, api.ProjectPatchOntoFaces.ProjectPatchOntoFaces.additional_includes, api.ProjectPatchWithHaloOntoFaces.ProjectPatchWithHaloOntoFaces.additional_includes, api.ReconstructPatchWithHalo.ReconstructPatchWithHalo.additional_includes, api.RestrictHangingFaces.RestrictHangingFaces.additional_includes, exahype2.api.generators.KernelMicrobenchmarkMain.KernelMicrobenchmarkMain.function_calls, exahype2.api.generators.KernelMicrobenchmarkMain._ExaHyPEKernelBenchmarkMainFileSequence.function_calls, exahype2.api.generators.DefaultSimulationMain._ExaHyPEMainFileSequence.project, exahype2.api.generators.KernelMicrobenchmarkMain._ExaHyPEKernelBenchmarkMainFileSequence.project, exahype2.api.Project.Project.Generator.project, peano4.api.runner.DefaultSequence.DefaultSequence.project, and peano4.api.solversteps.Step.Step.project.

Here is the call graph for this function:

Field Documentation

◆ additional_includes

exahype2.api.generators.KernelMicrobenchmarkMain.KernelMicrobenchmarkMain.additional_includes

Definition at line 21 of file KernelMicrobenchmarkMain.py.

Referenced by exahype2.api.generators.KernelMicrobenchmarkMain._ExaHyPEKernelBenchmarkMainFileSequence.construct_output(), exahype2.api.generators.KernelMicrobenchmarkMain.KernelMicrobenchmarkMain.construct_output(), exahype2.api.fv.actionsets.RollOverUpdatedFace.RollOverUpdatedFace.get_includes(), exahype2.api.rkfd4.actionsets.RollOverUpdatedFace.RollOverUpdatedFace.get_includes(), peano4.api.toolbox.multigrid.cellbased.ScalarJacobiWithRediscretisation.ScalarJacobiWithRediscretisation.get_includes(), peano4.api.toolbox.multigrid.MatrixFreeJacobi.MatrixFreeJacobi.get_includes(), peano4.api.toolbox.multigrid.vertexbased.ScalarJacobiWithRediscretisation.ScalarJacobiWithRediscretisation.get_includes(), peano4.api.toolbox.particles.InsertParticlesAlongCartesianLayoutIntoUnrefinedCells.InsertParticlesAlongCartesianLayoutIntoUnrefinedCells.get_includes(), peano4.api.toolbox.particles.InsertParticlesByCoordinates.InsertParticlesByCoordinates.get_includes(), peano4.api.toolbox.particles.InsertRandomParticlesIntoUnrefinedCells.InsertRandomParticlesIntoUnrefinedCells.get_includes(), peano4.api.toolbox.particles.PlotParticlesInVTKFormat.PlotParticlesInVTKFormat.get_includes(), peano4.api.toolbox.PlotCellDataInPeanoBlockFormat.PlotCellDataInPeanoBlockFormat.get_includes(), peano4.api.toolbox.PlotGridInPeanoBlockFormat.PlotGridInPeanoBlockFormat.get_includes(), peano4.api.toolbox.PlotVertexDataInPeanoBlockFormat.PlotVertexDataInPeanoBlockFormat.get_includes(), api.ApplyPointWiselyToPatch.ApplyPointWiselyToPatch.get_includes(), api.DynamicAMR.DynamicAMR.get_includes(), api.InterpolateAndRestrictCells.InterpolateAndRestrictCells.get_includes(), api.InterpolateHangingFaces.InterpolateHangingFaces.get_includes(), api.PlotPatchesInPeanoBlockFormat.PlotPatchesInPeanoBlockFormat.get_includes(), api.PlotPatchesOverFacesInPeanoBlockFormat.PlotPatchesOverFacesInPeanoBlockFormat.get_includes(), api.ProjectPatchOntoFaces.ProjectPatchOntoFaces.get_includes(), api.ProjectPatchWithHaloOntoFaces.ProjectPatchWithHaloOntoFaces.get_includes(), api.ReconstructPatchWithHalo.ReconstructPatchWithHalo.get_includes(), api.RestrictHangingFaces.RestrictHangingFaces.get_includes(), and dastgen2.DataModel.DataModel.write_header_file().

◆ function_calls


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