Peano
Loading...
Searching...
No Matches
rusanov.h File Reference
Include dependency graph for rusanov.h:

Go to the source code of this file.

Namespaces

namespace  exahype2
 For the generic kernels that I use here most of the time.
 
namespace  exahype2::fv
 
namespace  exahype2::fv::rusanov
 
namespace  exahype2::fv::rusanov::sycl
 
namespace  exahype2::fv::rusanov::sycl::internal
 

Functions

template<class SolverType , std::size_t NumberOfVolumesPerAxisInPatch, std::size_t HaloSize, std::size_t NumberOfUnknowns, std::size_t NumberOfAuxiliaryVariables, bool EvaluateFlux, bool EvaluateNonconservativeProduct, bool EvaluateSource, bool EvaluateMaximumEigenvalueAfterTimeStep, class TempDataEnumeratorType >
KeywordToAvoidDuplicateSymbolsForInlinedFunctions void exahype2::fv::rusanov::sycl::timeStepWithRusanovTaskgraphCopyStateless (int targetDevice, CellData< double, double > &patchData) InlineMethod
 All the memory management is discussed in the documentation of GPUCellData.
 
template<class SolverType , std::size_t NumberOfVolumesPerAxisInPatch, std::size_t HaloSize, std::size_t NumberOfUnknowns, std::size_t NumberOfAuxiliaryVariables, bool EvaluateFlux, bool EvaluateNonconservativeProduct, bool EvaluateSource, bool EvaluateMaximumEigenvalueAfterTimeStep, class TempDataEnumeratorType >
KeywordToAvoidDuplicateSymbolsForInlinedFunctions void exahype2::fv::rusanov::sycl::timeStepWithRusanovBatchedHeapStateless (int targetDevice, CellData< double, double > &patchData) InlineMethod
 
template<class SolverType , std::size_t NumberOfVolumesPerAxisInPatch, std::size_t HaloSize, std::size_t NumberOfUnknowns, std::size_t NumberOfAuxiliaryVariables, bool EvaluateFlux, bool EvaluateNonconservativeProduct, bool EvaluateSource, bool EvaluateMaximumEigenvalueAfterTimeStep, class TempDataEnumeratorType >
KeywordToAvoidDuplicateSymbolsForInlinedFunctions void exahype2::fv::rusanov::sycl::timeStepWithRusanovPatchwiseHeapStateless (int targetDevice, CellData< double, double > &patchData) InlineMethod
 
template<class SolverType , std::size_t NumberOfVolumesPerAxisInPatch, std::size_t HaloSize, std::size_t NumberOfUnknowns, std::size_t NumberOfAuxiliaryVariables, bool EvaluateFlux, bool EvaluateNonconservativeProduct, bool EvaluateSource, bool EvaluateMaximumEigenvalueAfterTimeStep, class TempDataEnumeratorType >
KeywordToAvoidDuplicateSymbolsForInlinedFunctions void exahype2::fv::rusanov::sycl::timeStepWithRusanovTaskgraphUSMStateless (int targetDevice, CellData< double, double > &patchData) InlineMethod
 
template<class SolverType , std::size_t NumberOfVolumesPerAxisInPatch, std::size_t HaloSize, std::size_t NumberOfUnknowns, std::size_t NumberOfAuxiliaryVariables, bool EvaluateFlux, bool EvaluateNonconservativeProduct, bool EvaluateSource, bool EvaluateMaximumEigenvalueAfterTimeStep, class TempDataEnumeratorType >
KeywordToAvoidDuplicateSymbolsForInlinedFunctions void exahype2::fv::rusanov::sycl::timeStepWithRusanovBatchedUSMStateless (int targetDevice, CellData< double, double > &patchData) InlineMethod
 This version allocates the temporary data on the GPU via a device malloc, handing in the standard memory, and finally frees the memory again.
 
template<class SolverType , std::size_t NumberOfVolumesPerAxisInPatch, std::size_t HaloSize, std::size_t NumberOfUnknowns, std::size_t NumberOfAuxiliaryVariables, bool EvaluateFlux, bool EvaluateNonconservativeProduct, bool EvaluateSource, bool EvaluateMaximumEigenvalueAfterTimeStep, class TempDataEnumeratorType >
KeywordToAvoidDuplicateSymbolsForInlinedFunctions void exahype2::fv::rusanov::sycl::timeStepWithRusanovPatchwiseUSMStateless (int targetDevice, CellData< double, double > &patchData) InlineMethod
 1:1 translation of the numerical scheme.
 
template<class SolverType , std::size_t NumberOfVolumesPerAxisInPatch, std::size_t HaloSize, std::size_t NumberOfUnknowns, std::size_t NumberOfAuxiliaryVariables, bool EvaluateFlux, bool EvaluateNonconservativeProduct, bool EvaluateSource, bool EvaluateMaximumEigenvalueAfterTimeStep, class TempDataEnumeratorType >
KeywordToAvoidDuplicateSymbolsForInlinedFunctions void exahype2::fv::rusanov::sycl::timeStepWithRusanovTaskgraphManagedStateless (int targetDevice, CellData< double, double > &patchData) InlineMethod
 
template<class SolverType , std::size_t NumberOfVolumesPerAxisInPatch, std::size_t HaloSize, std::size_t NumberOfUnknowns, std::size_t NumberOfAuxiliaryVariables, bool EvaluateFlux, bool EvaluateNonconservativeProduct, bool EvaluateSource, bool EvaluateMaximumEigenvalueAfterTimeStep, class TempDataEnumeratorType >
KeywordToAvoidDuplicateSymbolsForInlinedFunctions void exahype2::fv::rusanov::sycl::timeStepWithRusanovBatchedManagedStateless (int targetDevice, CellData< double, double > &patchData) InlineMethod
 
template<class SolverType , std::size_t NumberOfVolumesPerAxisInPatch, std::size_t HaloSize, std::size_t NumberOfUnknowns, std::size_t NumberOfAuxiliaryVariables, bool EvaluateFlux, bool EvaluateNonconservativeProduct, bool EvaluateSource, bool EvaluateMaximumEigenvalueAfterTimeStep, class TempDataEnumeratorType >
KeywordToAvoidDuplicateSymbolsForInlinedFunctions void exahype2::fv::rusanov::sycl::timeStepWithRusanovPatchwiseManagedStateless (int targetDevice, CellData< double, double > &patchData) InlineMethod
 
template<class SolverType , std::size_t NumberOfVolumesPerAxisInPatch, std::size_t HaloSize, std::size_t NumberOfUnknowns, std::size_t NumberOfAuxiliaryVariables, bool EvaluateFlux, bool EvaluateNonconservativeProduct, bool EvaluateSource, bool EvaluateMaximumEigenvalueAfterTimeStep, class TempDataEnumeratorType >
KeywordToAvoidDuplicateSymbolsForInlinedFunctions void exahype2::fv::rusanov::sycl::timeStepWithRusanovTaskgraphCopyStateless (int targetDevice, CellData< double, double > &patchData, ::tarch::timing::Measurement &measurement) InlineMethod
 Variant of kernel invocation which times core compute time.
 
template<class SolverType , std::size_t NumberOfVolumesPerAxisInPatch, std::size_t HaloSize, std::size_t NumberOfUnknowns, std::size_t NumberOfAuxiliaryVariables, bool EvaluateFlux, bool EvaluateNonconservativeProduct, bool EvaluateSource, bool EvaluateMaximumEigenvalueAfterTimeStep, class TempDataEnumeratorType >
KeywordToAvoidDuplicateSymbolsForInlinedFunctions void exahype2::fv::rusanov::sycl::timeStepWithRusanovBatchedHeapStateless (int targetDevice, CellData< double, double > &patchData, ::tarch::timing::Measurement &measurement) InlineMethod
 
template<class SolverType , std::size_t NumberOfVolumesPerAxisInPatch, std::size_t HaloSize, std::size_t NumberOfUnknowns, std::size_t NumberOfAuxiliaryVariables, bool EvaluateFlux, bool EvaluateNonconservativeProduct, bool EvaluateSource, bool EvaluateMaximumEigenvalueAfterTimeStep, class TempDataEnumeratorType >
KeywordToAvoidDuplicateSymbolsForInlinedFunctions void exahype2::fv::rusanov::sycl::timeStepWithRusanovPatchwiseHeapStateless (int targetDevice, CellData< double, double > &patchData, ::tarch::timing::Measurement &measurement) InlineMethod
 
template<class SolverType , std::size_t NumberOfVolumesPerAxisInPatch, std::size_t HaloSize, std::size_t NumberOfUnknowns, std::size_t NumberOfAuxiliaryVariables, bool EvaluateFlux, bool EvaluateNonconservativeProduct, bool EvaluateSource, bool EvaluateMaximumEigenvalueAfterTimeStep, class TempDataEnumeratorType >
KeywordToAvoidDuplicateSymbolsForInlinedFunctions void exahype2::fv::rusanov::sycl::timeStepWithRusanovTaskgraphUSMStateless (int targetDevice, CellData< double, double > &patchData, ::tarch::timing::Measurement &measurement) InlineMethod
 
template<class SolverType , std::size_t NumberOfVolumesPerAxisInPatch, std::size_t HaloSize, std::size_t NumberOfUnknowns, std::size_t NumberOfAuxiliaryVariables, bool EvaluateFlux, bool EvaluateNonconservativeProduct, bool EvaluateSource, bool EvaluateMaximumEigenvalueAfterTimeStep, class TempDataEnumeratorType >
KeywordToAvoidDuplicateSymbolsForInlinedFunctions void exahype2::fv::rusanov::sycl::timeStepWithRusanovBatchedUSMStateless (int targetDevice, CellData< double, double > &patchData, ::tarch::timing::Measurement &measurement) InlineMethod
 
template<class SolverType , std::size_t NumberOfVolumesPerAxisInPatch, std::size_t HaloSize, std::size_t NumberOfUnknowns, std::size_t NumberOfAuxiliaryVariables, bool EvaluateFlux, bool EvaluateNonconservativeProduct, bool EvaluateSource, bool EvaluateMaximumEigenvalueAfterTimeStep, class TempDataEnumeratorType >
KeywordToAvoidDuplicateSymbolsForInlinedFunctions void exahype2::fv::rusanov::sycl::timeStepWithRusanovPatchwiseUSMStateless (int targetDevice, CellData< double, double > &patchData, ::tarch::timing::Measurement &measurement) InlineMethod
 
template<class SolverType , std::size_t NumberOfVolumesPerAxisInPatch, std::size_t HaloSize, std::size_t NumberOfUnknowns, std::size_t NumberOfAuxiliaryVariables, bool EvaluateFlux, bool EvaluateNonconservativeProduct, bool EvaluateSource, bool EvaluateMaximumEigenvalueAfterTimeStep, class TempDataEnumeratorType >
KeywordToAvoidDuplicateSymbolsForInlinedFunctions void exahype2::fv::rusanov::sycl::timeStepWithRusanovTaskgraphManagedStateless (int targetDevice, CellData< double, double > &patchData, ::tarch::timing::Measurement &measurement) InlineMethod
 
template<class SolverType , std::size_t NumberOfVolumesPerAxisInPatch, std::size_t HaloSize, std::size_t NumberOfUnknowns, std::size_t NumberOfAuxiliaryVariables, bool EvaluateFlux, bool EvaluateNonconservativeProduct, bool EvaluateSource, bool EvaluateMaximumEigenvalueAfterTimeStep, class TempDataEnumeratorType >
KeywordToAvoidDuplicateSymbolsForInlinedFunctions void exahype2::fv::rusanov::sycl::timeStepWithRusanovBatchedManagedStateless (int targetDevice, CellData< double, double > &patchData, ::tarch::timing::Measurement &measurement) InlineMethod
 
template<class SolverType , std::size_t NumberOfVolumesPerAxisInPatch, std::size_t HaloSize, std::size_t NumberOfUnknowns, std::size_t NumberOfAuxiliaryVariables, bool EvaluateFlux, bool EvaluateNonconservativeProduct, bool EvaluateSource, bool EvaluateMaximumEigenvalueAfterTimeStep, class TempDataEnumeratorType >
KeywordToAvoidDuplicateSymbolsForInlinedFunctions void exahype2::fv::rusanov::sycl::timeStepWithRusanovPatchwiseManagedStateless (int targetDevice, CellData< double, double > &patchData, ::tarch::timing::Measurement &measurement) InlineMethod
 
template<class SolverType , std::size_t NumberOfVolumesPerAxisInPatch, std::size_t HaloSize, std::size_t NumberOfUnknowns, std::size_t NumberOfAuxiliaryVariables, bool EvaluateFlux, bool EvaluateNonconservativeProduct, bool EvaluateSource, bool EvaluateMaximumEigenvalueAfterTimeStep, class TempDataEnumeratorType >
KeywordToAvoidDuplicateSymbolsForInlinedFunctions void exahype2::fv::rusanov::sycl::internal::timeStepWithRusanovTaskgraphStateless (int targetDevice, auto &patchData) InlineMethod
 Read the docu page "ExaHyPE's finite volumes Rusanov kernel implementation" (from rusanov.h) before you continue.
 
template<class SolverType , std::size_t NumberOfVolumesPerAxisInPatch, std::size_t HaloSize, std::size_t NumberOfUnknowns, std::size_t NumberOfAuxiliaryVariables, bool EvaluateFlux, bool EvaluateNonconservativeProduct, bool EvaluateSource, bool EvaluateMaximumEigenvalueAfterTimeStep, class TempDataEnumeratorType >
KeywordToAvoidDuplicateSymbolsForInlinedFunctions void exahype2::fv::rusanov::sycl::internal::timeStepWithRusanovBatchedStateless (int targetDevice, auto &patchData) InlineMethod
 Implementation of the Rusanov kernel which builds up a task graph which consists of the logical steps of a Rusanov solver.
 
template<class SolverType , std::size_t NumberOfVolumesPerAxisInPatch, std::size_t HaloSize, std::size_t NumberOfUnknowns, std::size_t NumberOfAuxiliaryVariables, bool EvaluateFlux, bool EvaluateNonconservativeProduct, bool EvaluateSource, bool EvaluateMaximumEigenvalueAfterTimeStep, class TempDataEnumeratorType >
KeywordToAvoidDuplicateSymbolsForInlinedFunctions void exahype2::fv::rusanov::sycl::internal::timeStepWithRusanovPatchwiseStateless (int targetDevice, auto &patchData) InlineMethod
 1:1 translation of the numerical scheme.