|
Peano
|
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 |
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.
| exahype2.api.generators.KernelMicrobenchmarkMain._ExaHyPEKernelBenchmarkMainFileSequence.__init__ | ( | self, | |
| project, | |||
| exahype_project, | |||
| function_calls, | |||
| additional_includes | |||
| ) |
Definition at line 517 of file KernelMicrobenchmarkMain.py.
| 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.

| 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().
|
static |
| exahype2.api.generators.KernelMicrobenchmarkMain._ExaHyPEKernelBenchmarkMainFileSequence.exahype_project |
| exahype2.api.generators.KernelMicrobenchmarkMain._ExaHyPEKernelBenchmarkMainFileSequence.function_calls |
|
static |
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().
| exahype2.api.generators.KernelMicrobenchmarkMain._ExaHyPEKernelBenchmarkMainFileSequence.project |
Definition at line 518 of file KernelMicrobenchmarkMain.py.
Referenced by exahype2.api.generators.DefaultSimulationMain._ExaHyPEMainFileSequence.construct_output(), exahype2.api.generators.KernelMicrobenchmarkMain._ExaHyPEKernelBenchmarkMainFileSequence.construct_output(), peano4.api.runner.DefaultSequence.DefaultSequence.construct_output(), exahype2.api.generators.DefaultSimulationMain.DefaultSimulationMain.construct_output(), exahype2.api.generators.KernelMicrobenchmarkMain.KernelMicrobenchmarkMain.construct_output(), and exahype2.api.generators.SolverRepositoryGenerator.SolverRepositoryGenerator.construct_output().