Peano
Loading...
Searching...
No Matches
solvers.aderdg.kernels.Gemms.Gemms Class Reference

Specification of a dense matrix-matrix multiplication. More...

Public Member Functions

 __init__ (self, M, N, K, LDA, LDB, LDC, alpha, beta, alignment_A, alignment_C, name, prefetchStrategy, operationType="gemm", precision=["DP"])
 
 __repr__ (self)
 

Data Fields

 M
 
 N
 
 K
 
 LDA
 
 LDB
 
 LDC
 
 alpha
 
 beta
 
 alignment_A
 
 alignment_C
 
 name
 
 prefetchStrategy
 
 baseroutinename
 
 precision
 

Static Public Attributes

dict PrecisionTranslate
 
str operationType = ""
 
str baseroutinename = ""
 
str name = ""
 
int M = -1
 
int N = -1
 
int K = -1
 
int LDA = -1
 
int LDB = -1
 
int LDC = -1
 
int alpha = 1
 
int beta = 1
 
int alignment_A = 0
 
int alignment_C = 0
 
str prefetchStrategy = ""
 
str precision = "DP"
 

Detailed Description

Specification of a dense matrix-matrix multiplication.

C       = alpha  *   A   *    B   + beta  *  C

(M x N) (M x K) (K x N)

for (int it_1 = 0; it_1 < K; it_1++) { for (int it_2 = 0; it_2 < N; it_2++) { for (int it_3 = 0; it_3 < M; it_3++) { C[it_1*LDC+it_3] = alpha * A[it_2*LDA+it_3] * B[it_1*LDB+it_2] + beta * C[it_1*LDC+it_3]; } } }

Definition at line 6 of file Gemms.py.

Constructor & Destructor Documentation

◆ __init__()

solvers.aderdg.kernels.Gemms.Gemms.__init__ (   self,
  M,
  N,
  K,
  LDA,
  LDB,
  LDC,
  alpha,
  beta,
  alignment_A,
  alignment_C,
  name,
  prefetchStrategy,
  operationType = "gemm",
  precision = ["DP"] 
)

Definition at line 68 of file Gemms.py.

References solvers.aderdg.kernels.Gemms.Gemms.PrecisionTranslate.

Member Function Documentation

◆ __repr__()

solvers.aderdg.kernels.Gemms.Gemms.__repr__ (   self)

Definition at line 114 of file Gemms.py.

References solvers.aderdg.kernels.Gemms.Gemms.alignment_A, solvers.aderdg.kernels.Gemms.Gemms.alignment_C, solvers.aderdg.kernels.Gemms.Gemms.alpha, solvers.aderdg.kernels.Gemms.Gemms.baseroutinename, solvers.aderdg.kernels.Gemms.Gemms.beta, solvers.aderdg.kernels.Gemms.Gemms.LDA, solvers.aderdg.kernels.Gemms.Gemms.LDB, solvers.aderdg.kernels.Gemms.Gemms.LDC, solvers.aderdg.kernels.Gemms.Gemms.name, solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells.name(), solvers.fv.FV.FV.name(), convert::data::Variable.name, dastgen2.attributes.Attribute.Attribute.name(), dastgen2.DataModel.DataModel.name(), exagrype.api.CCZ4Solver.CCZ4Solver.name, exahype2.api.PDETerm.PDETerm.name, exahype2.api.Solver.Solver.Plotter.name, exahype2.api.Solver.Solver.name(), exaparty.api.particle.AlgorithmStep.AlgorithmStep.name, exaparty.api.particle.Particle.Particle.name, exaparty.api.particle.tests.DisappearingParticleTest.DisappearingParticleTest.name, exaparty.api.particle.tests.testLeapfrogFixedTimeStepSize.testLeapfrogFixedTimeStepSize.name, solvers.api.Solver.Solver.name(), api.solvers.Solver.Solver.name(), peano4.api.datamodel.DoF.DoF.name, peano4.api.solversteps.Step.Step.name, peano4.api.solversteps.UserActionSet.UserActionSet.name, peano4.api.taskgraph.compiler.fuse-steps-illustrations._IllustrationActionSet.name, peano4.api.taskgraph.compiler.fuse-steps-illustrations._IllustrationSubmodel.name, peano4.api.taskgraph.Task.Task.name, peano4.api.toolbox.particles.Particle.Particle.name, test_derive_load_store_compute_flag._FakeSubmodel.name, test_fuse_steps._FakeActionSet.name, test_fuse_steps._FakeSubmodel.name, test_propagate_use_statements._FakeSubmodel.name, and test_task_groups._FakeActionSet.name.

Here is the call graph for this function:

Field Documentation

◆ alignment_A [1/2]

int solvers.aderdg.kernels.Gemms.Gemms.alignment_A = 0
static

Definition at line 58 of file Gemms.py.

Referenced by solvers.aderdg.kernels.Gemms.Gemms.__repr__().

◆ alignment_A [2/2]

solvers.aderdg.kernels.Gemms.Gemms.alignment_A

Definition at line 105 of file Gemms.py.

Referenced by solvers.aderdg.kernels.Gemms.Gemms.__repr__().

◆ alignment_C [1/2]

int solvers.aderdg.kernels.Gemms.Gemms.alignment_C = 0
static

Definition at line 59 of file Gemms.py.

Referenced by solvers.aderdg.kernels.Gemms.Gemms.__repr__().

◆ alignment_C [2/2]

solvers.aderdg.kernels.Gemms.Gemms.alignment_C

Definition at line 106 of file Gemms.py.

Referenced by solvers.aderdg.kernels.Gemms.Gemms.__repr__().

◆ alpha [1/2]

int solvers.aderdg.kernels.Gemms.Gemms.alpha = 1
static

Definition at line 52 of file Gemms.py.

Referenced by solvers.aderdg.kernels.Gemms.Gemms.__repr__().

◆ alpha [2/2]

solvers.aderdg.kernels.Gemms.Gemms.alpha

Definition at line 103 of file Gemms.py.

Referenced by solvers.aderdg.kernels.Gemms.Gemms.__repr__().

◆ baseroutinename [1/2]

str solvers.aderdg.kernels.Gemms.Gemms.baseroutinename = ""
static

Definition at line 37 of file Gemms.py.

Referenced by solvers.aderdg.kernels.Gemms.Gemms.__repr__().

◆ baseroutinename [2/2]

solvers.aderdg.kernels.Gemms.Gemms.baseroutinename

Definition at line 109 of file Gemms.py.

Referenced by solvers.aderdg.kernels.Gemms.Gemms.__repr__().

◆ beta [1/2]

int solvers.aderdg.kernels.Gemms.Gemms.beta = 1
static

Definition at line 54 of file Gemms.py.

Referenced by solvers.aderdg.kernels.Gemms.Gemms.__repr__().

◆ beta [2/2]

solvers.aderdg.kernels.Gemms.Gemms.beta

Definition at line 104 of file Gemms.py.

Referenced by solvers.aderdg.kernels.Gemms.Gemms.__repr__().

◆ K [1/2]

int solvers.aderdg.kernels.Gemms.Gemms.K = -1
static

Definition at line 44 of file Gemms.py.

◆ K [2/2]

solvers.aderdg.kernels.Gemms.Gemms.K

Definition at line 99 of file Gemms.py.

◆ LDA [1/2]

int solvers.aderdg.kernels.Gemms.Gemms.LDA = -1
static

Definition at line 47 of file Gemms.py.

Referenced by solvers.aderdg.kernels.Gemms.Gemms.__repr__().

◆ LDA [2/2]

solvers.aderdg.kernels.Gemms.Gemms.LDA

Definition at line 100 of file Gemms.py.

Referenced by solvers.aderdg.kernels.Gemms.Gemms.__repr__().

◆ LDB [1/2]

int solvers.aderdg.kernels.Gemms.Gemms.LDB = -1
static

Definition at line 48 of file Gemms.py.

Referenced by solvers.aderdg.kernels.Gemms.Gemms.__repr__().

◆ LDB [2/2]

solvers.aderdg.kernels.Gemms.Gemms.LDB

Definition at line 101 of file Gemms.py.

Referenced by solvers.aderdg.kernels.Gemms.Gemms.__repr__().

◆ LDC [1/2]

int solvers.aderdg.kernels.Gemms.Gemms.LDC = -1
static

Definition at line 49 of file Gemms.py.

Referenced by solvers.aderdg.kernels.Gemms.Gemms.__repr__().

◆ LDC [2/2]

solvers.aderdg.kernels.Gemms.Gemms.LDC

Definition at line 102 of file Gemms.py.

Referenced by solvers.aderdg.kernels.Gemms.Gemms.__repr__().

◆ M [1/2]

int solvers.aderdg.kernels.Gemms.Gemms.M = -1
static

Definition at line 42 of file Gemms.py.

◆ M [2/2]

solvers.aderdg.kernels.Gemms.Gemms.M

Definition at line 97 of file Gemms.py.

◆ N [1/2]

int solvers.aderdg.kernels.Gemms.Gemms.N = -1
static

Definition at line 43 of file Gemms.py.

◆ N [2/2]

solvers.aderdg.kernels.Gemms.Gemms.N

Definition at line 98 of file Gemms.py.

◆ name [1/2]

str solvers.aderdg.kernels.Gemms.Gemms.name = ""
static

Definition at line 39 of file Gemms.py.

Referenced by solvers.aderdg.kernels.Gemms.Gemms.__repr__(), test_derive_load_store_compute_flag._FakeSubmodel.__repr__(), test_propagate_use_statements._FakeSubmodel.__repr__(), exaparty.api.particle.ExplicitEulerFixedSearchRadius.ExplicitEulerFixedSearchRadius.__setup_algorithm_steps(), exaparty.api.particle.AlgorithmStep.AlgorithmStep.__str__(), exahype2.api.Solver.Solver.Plotter._add_time_interval_bookkeeping_to_solver(), exaparty.api.particle.LeapfrogFixedSearchRadius.LeapfrogFixedSearchRadius._setup_algorithm_steps_dict(), exagrype.api.CCZ4Solver.CCZ4Solver._tasks_of_this_solver(), peano4.api.datamodel.DoF.DoF.additional_load_and_store_arguments_for_other_dof(), exaparty.api.particle.ExplicitEulerDynamicSearchRadius.ExplicitEulerDynamicSearchRadius.algorithm_steps(), exaparty.api.particle.tests.DastgenTestDummyParticle.DastgenTestDummyParticle.algorithm_steps(), exahype2.api.Solver.Solver.Plotter.create_finish_call(), exahype2.api.Solver.Solver.Plotter.create_is_active_predicate(), peano4.api.solversteps.UserActionSet.UserActionSet.get_action_set_name(), peano4.api.taskgraph.compiler.fuse-steps-illustrations._IllustrationActionSet.get_action_set_name(), test_fuse_steps._FakeActionSet.get_action_set_name(), peano4.api.datamodel.DoF.DoF.get_full_qualified_type(), peano4.api.datamodel.DoF.DoF.get_logical_type_name(), peano4.api.solversteps.Step.Step.get_observer_class_name(), dastgen2.attributes.Enumeration.Enumeration.get_to_string(), and exaparty.api.particle.Particle.Particle.readme_descriptor().

◆ name [2/2]

solvers.aderdg.kernels.Gemms.Gemms.name

Definition at line 107 of file Gemms.py.

Referenced by solvers.aderdg.kernels.Gemms.Gemms.__repr__(), test_derive_load_store_compute_flag._FakeSubmodel.__repr__(), test_propagate_use_statements._FakeSubmodel.__repr__(), exaparty.api.particle.ExplicitEulerFixedSearchRadius.ExplicitEulerFixedSearchRadius.__setup_algorithm_steps(), exaparty.api.particle.AlgorithmStep.AlgorithmStep.__str__(), exahype2.api.Solver.Solver.Plotter._add_time_interval_bookkeeping_to_solver(), exaparty.api.particle.LeapfrogFixedSearchRadius.LeapfrogFixedSearchRadius._setup_algorithm_steps_dict(), exagrype.api.CCZ4Solver.CCZ4Solver._tasks_of_this_solver(), peano4.api.datamodel.DoF.DoF.additional_load_and_store_arguments_for_other_dof(), exaparty.api.particle.ExplicitEulerDynamicSearchRadius.ExplicitEulerDynamicSearchRadius.algorithm_steps(), exaparty.api.particle.tests.DastgenTestDummyParticle.DastgenTestDummyParticle.algorithm_steps(), exahype2.api.Solver.Solver.Plotter.create_finish_call(), exahype2.api.Solver.Solver.Plotter.create_is_active_predicate(), peano4.api.solversteps.UserActionSet.UserActionSet.get_action_set_name(), peano4.api.taskgraph.compiler.fuse-steps-illustrations._IllustrationActionSet.get_action_set_name(), test_fuse_steps._FakeActionSet.get_action_set_name(), peano4.api.datamodel.DoF.DoF.get_full_qualified_type(), peano4.api.datamodel.DoF.DoF.get_logical_type_name(), peano4.api.solversteps.Step.Step.get_observer_class_name(), dastgen2.attributes.Enumeration.Enumeration.get_to_string(), and exaparty.api.particle.Particle.Particle.readme_descriptor().

◆ operationType

str solvers.aderdg.kernels.Gemms.Gemms.operationType = ""
static

Definition at line 35 of file Gemms.py.

◆ precision [1/2]

str solvers.aderdg.kernels.Gemms.Gemms.precision = "DP"
static

Definition at line 65 of file Gemms.py.

◆ precision [2/2]

solvers.aderdg.kernels.Gemms.Gemms.precision

Definition at line 112 of file Gemms.py.

◆ PrecisionTranslate

dict solvers.aderdg.kernels.Gemms.Gemms.PrecisionTranslate
static
Initial value:
= {
"DP": "DP",
"double": "DP",
"SP": "SP",
"float": "SP",
"single": "SP",
"_Float16": "HP",
"std::float16_t": "HP",
"__bf16": "HP",
"std::bfloat16_t": "HP",
"half_float::half": "HP",
}

Definition at line 21 of file Gemms.py.

Referenced by solvers.aderdg.kernels.Gemms.Gemms.__init__().

◆ prefetchStrategy [1/2]

str solvers.aderdg.kernels.Gemms.Gemms.prefetchStrategy = ""
static

Definition at line 62 of file Gemms.py.

◆ prefetchStrategy [2/2]

solvers.aderdg.kernels.Gemms.Gemms.prefetchStrategy

Definition at line 108 of file Gemms.py.


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