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

Adapter that speaks the construct_output(output, main_name) protocol peano4.api.Project.generate() expects from its main attribute (see peano4.api.runner.DefaultSequence, whose job this class takes over for an ExaHyPE 2 project), but fills the header/implementation pair with ExaHyPE-flavoured content instead of the mesh-agnostic default. More...

Public Member Functions

 __init__ (self, project, exahype_project, function_calls, additional_includes)
 
 construct_output (self, output, main_name)
 

Data Fields

 project
 
 exahype_project
 
 function_calls
 
 additional_includes
 

Static Public Attributes

str HEADER_TEMPLATE
 
str CPP_TEMPLATE
 

Detailed Description

Adapter that speaks the construct_output(output, main_name) protocol peano4.api.Project.generate() expects from its main attribute (see peano4.api.runner.DefaultSequence, whose job this class takes over for an ExaHyPE 2 project), but fills the header/implementation pair with ExaHyPE-flavoured content instead of the mesh-agnostic default.

project is the peano4-level project (peano4.api.Project) this sequence is attached to as .main - it is where SUBDIRECTORIES/SUBNAMESPACE/ rootnamespace come from, mirroring peano4.api.runner.DefaultSequence.

exahype_project is the exahype2.api.Project this main file is generated for - it is where the runtime settings (TIMEOUT, NUMBER_OF_THREADS, GPUS, MULTICORE_ORCHESTRATION) come from, as those live on the ExaHyPE 2 project rather than on the plain peano4 one.

Definition at line 30 of file KernelMicrobenchmarkMain.py.

Constructor & Destructor Documentation

◆ __init__()

exahype2.api.generators.KernelMicrobenchmarkMain._ExaHyPEKernelBenchmarkMainFileSequence.__init__ (   self,
  project,
  exahype_project,
  function_calls,
  additional_includes 
)

Definition at line 517 of file KernelMicrobenchmarkMain.py.

Member Function Documentation

◆ construct_output()

exahype2.api.generators.KernelMicrobenchmarkMain._ExaHyPEKernelBenchmarkMainFileSequence.construct_output (   self,
  output,
  main_name 
)

Definition at line 523 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.DefaultSimulationMain._ExaHyPEMainFileSequence.CPP_TEMPLATE, exahype2.api.generators.KernelMicrobenchmarkMain._ExaHyPEKernelBenchmarkMainFileSequence.CPP_TEMPLATE, exahype2.api.generators.DefaultSimulationMain._ExaHyPEMainFileSequence.exahype_project, exahype2.api.generators.KernelMicrobenchmarkMain._ExaHyPEKernelBenchmarkMainFileSequence.exahype_project, exahype2.api.generators.KernelMicrobenchmarkMain.KernelMicrobenchmarkMain.function_calls, exahype2.api.generators.KernelMicrobenchmarkMain._ExaHyPEKernelBenchmarkMainFileSequence.function_calls, exahype2.api.generators.DefaultSimulationMain._ExaHyPEMainFileSequence.HEADER_TEMPLATE, exahype2.api.generators.KernelMicrobenchmarkMain._ExaHyPEKernelBenchmarkMainFileSequence.HEADER_TEMPLATE, 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._ExaHyPEKernelBenchmarkMainFileSequence.additional_includes

Definition at line 521 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().

◆ CPP_TEMPLATE

str exahype2.api.generators.KernelMicrobenchmarkMain._ExaHyPEKernelBenchmarkMainFileSequence.CPP_TEMPLATE
static

◆ exahype_project

exahype2.api.generators.KernelMicrobenchmarkMain._ExaHyPEKernelBenchmarkMainFileSequence.exahype_project

◆ function_calls

exahype2.api.generators.KernelMicrobenchmarkMain._ExaHyPEKernelBenchmarkMainFileSequence.function_calls

◆ HEADER_TEMPLATE

str exahype2.api.generators.KernelMicrobenchmarkMain._ExaHyPEKernelBenchmarkMainFileSequence.HEADER_TEMPLATE
static
Initial value:
= """
// This file is part of the ExaHyPE2 project. For conditions of distribution and
// use, please see the copyright notice at www.peano-framework.org
#pragma once
int main(int argc, char** argv);
"""

Definition at line 50 of file KernelMicrobenchmarkMain.py.

Referenced by exahype2.api.generators.DefaultSimulationMain._ExaHyPEMainFileSequence.construct_output(), and exahype2.api.generators.KernelMicrobenchmarkMain._ExaHyPEKernelBenchmarkMainFileSequence.construct_output().

◆ project


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