89 self.
context[
"matmulConfigs"] = {}
92 nVarPad = self.
context[
"nVarPad"]
93 nDataPad = self.
context[
"nDataPad"]
99 nDofPad = self.
context[
"nDofPad"]
106 if self.
context[
"useMaterialParam"]:
107 self.
context[
"matmulConfigs"][
"flux_x_sck_vect"] =
MatmulConfig(nDofPad, nVar, nDof, nDofPad, nDofPad, nDofPad, 1, 0, 1, 1,
"flux_x_sck_vect",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
108 self.
context[
"matmulConfigs"][
"flux_y_or_z_sck_vect"] =
MatmulConfig(nDofPad*nVar, nVar, nDof, nDofPad*nVar, nDofPad, nDofPad*nVar, 1, 0, 1, 1,
"flux_y_or_z_sck_vect",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
111 self.
context[
"matmulConfigs"][
"flux_x_sck_vect"] =
MatmulConfig(nDofPad, nVar, nDof, nDofPad , nDofPad, nDofPad, 1, 1, 1, 1,
"flux_x_sck_vect",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
112 self.
context[
"matmulConfigs"][
"flux_y_sck_vect"] =
MatmulConfig(nDofPad*nVar, nDof, nDof, nDofPad*nVar , nDofPad, nDofPad*nVar, 1, 1, 1, 1,
"flux_y_sck_vect",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
114 self.
context[
"matmulConfigs"][
"flux_z_sck_vect"] =
MatmulConfig(nDofPad*nVar, nDof, nDof, nDofPad*nVar , nDofPad, nDofPad*nVar*nDof, 1, 1, 1, 1,
"flux_z_sck_vect",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
116 self.
context[
"matmulConfigs"][
"gradQ_x_sck_vect"] =
MatmulConfig(nDofPad, nVar*nDof*nDof3D, nDof, nDofPad, nDofPad, nDofPad, 1, 0, 1, 1,
"gradQ_x_sck_vect",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
117 self.
context[
"matmulConfigs"][
"gradQ_y_sck_vect"] =
MatmulConfig(nDofPad*nVar, nDof, nDof, nDofPad*nVar, nDofPad, nDofPad*nVar, 1, 0, 1, 1,
"gradQ_y_sck_vect",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
119 self.
context[
"matmulConfigs"][
"gradQ_z_sck_vect"] =
MatmulConfig(nDofPad*nVar*nDof, nDof, nDof, nDofPad*nVar*nDof, nDofPad, nDofPad*nVar*nDof, 1, 0, 1, 1,
"gradQ_z_sck_vect",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
124 self.
context[
"matmulConfigs"][
"flux_x_sck"] =
MatmulConfig(nVarPad, nDof, nDof, nVarPad , nDofPad, nVarPad , 1, 1, 1, 1,
"flux_x_sck",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
125 self.
context[
"matmulConfigs"][
"flux_y_sck"] =
MatmulConfig(nVarPad, nDof, nDof, nVarPad , nDofPad, nVarPad*nDof , 1, 1, 1, 1,
"flux_y_sck",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
127 self.
context[
"matmulConfigs"][
"flux_z_sck"] =
MatmulConfig(nVarPad, nDof, nDof, nVarPad , nDofPad, nVarPad*nDof2, 1, 1, 1, 1,
"flux_z_sck",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
129 self.
context[
"matmulConfigs"][
"gradQ_x_sck"] =
MatmulConfig(nVarPad, nDof, nDof, nVarPad , nDofPad, nVarPad , 1, 0, 1, 1,
"gradQ_x_sck",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
130 self.
context[
"matmulConfigs"][
"gradQ_y_sck"] =
MatmulConfig(nVarPad, nDof, nDof, nVarPad*nDof , nDofPad, nVarPad*nDof , 1, 0, 1, 1,
"gradQ_y_sck",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
132 self.
context[
"matmulConfigs"][
"gradQ_z_sck"] =
MatmulConfig(nVarPad, nDof, nDof, nVarPad*nDof2, nDofPad, nVarPad*nDof2, 1, 0, 1, 1,
"gradQ_z_sck",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
137 self.
context[
"matmulConfigs"][
"flux_x"] =
MatmulConfig(nVarPad, nDof, nDof, nVarPad , nDofPad, nVarPad, 1, 0, 1, 1,
"flux_x",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
138 self.
context[
"matmulConfigs"][
"flux_y"] =
MatmulConfig(nVarPad, nDof, nDof, nVarPad*nDof , nDofPad, nVarPad, 1, 0, 1, 1,
"flux_y",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
140 self.
context[
"matmulConfigs"][
"flux_z"] =
MatmulConfig(nVarPad, nDof, nDof, nVarPad*nDof2, nDofPad, nVarPad, 1, 0, 1, 1,
"flux_z",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
143 self.
context[
"matmulConfigs"][
"gradQ_x"] =
MatmulConfig(nVar, nDof, nDof, nDataPad , nDofPad, nVarPad , 1, 1, 1, 1,
"gradQ_x",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
144 self.
context[
"matmulConfigs"][
"gradQ_y"] =
MatmulConfig(nVar, nDof, nDof, nDataPad*nDof , nDofPad, nVarPad*nDof , 1, 1, 1, 1,
"gradQ_y",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
146 self.
context[
"matmulConfigs"][
"gradQ_z"] =
MatmulConfig(nVar, nDof, nDof, nDataPad*nDof2, nDofPad, nVarPad*nDof2, 1, 1, 1, 1,
"gradQ_z",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
150 if self.
context[
"predictorRecompute"]:
153 self.
context[
"matmulConfigs"][
"rhs_x"] =
MatmulConfig(nDofPad, nVar, nDof, nDofPad, nDofPad, nDofPad , 1, 1, 1, 1,
"rhs_x",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
154 self.
context[
"matmulConfigs"][
"rhs_y"] =
MatmulConfig(nDofPad*nVar, nDof, nDof, nDofPad*nVar, nDofPad, nDofPad*nVar , 1, 1, 1, 1,
"rhs_y",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
156 self.
context[
"matmulConfigs"][
"rhs_z"] =
MatmulConfig(nDofPad*nVar*nDof, nDof, nDof, nDofPad*nVar*nDof, nDofPad, nDofPad*nVar*nDof, 1, 1, 1, 1,
"rhs_z",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
158 self.
context[
"matmulConfigs"][
"lduh_x"] =
MatmulConfig(nDofPad, nVar, nDof, nDofPad, nDofPad, nDofPad , 1, 1, 1, 1,
"lduh_x",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
159 self.
context[
"matmulConfigs"][
"lduh_y"] =
MatmulConfig(nDofPad*nVar, nDof, nDof, nDofPad*nVar, nDofPad, nDofPad*nVar , 1, 1, 1, 1,
"lduh_y",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
161 self.
context[
"matmulConfigs"][
"lduh_z"] =
MatmulConfig(nDofPad*nVar*nDof, nDof, nDof, nDofPad*nVar*nDof, nDofPad, nDofPad*nVar*nDof, 1, 1, 1, 1,
"lduh_z",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
164 self.
context[
"matmulConfigs"][
"gradQ_x"] =
MatmulConfig(nDofPad, nVar, nDof, nDofPad, nDofPad, nDofPad , 1, 1, 1, 1,
"gradQ_x",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
165 self.
context[
"matmulConfigs"][
"gradQ_y"] =
MatmulConfig(nDofPad*nVar, nDof, nDof, nDofPad*nVar, nDofPad, nDofPad*nVar , 1, 1, 1, 1,
"gradQ_y",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
167 self.
context[
"matmulConfigs"][
"gradQ_z"] =
MatmulConfig(nDofPad*nVar*nDof, nDof, nDof, nDofPad*nVar*nDof, nDofPad, nDofPad*nVar*nDof, 1, 1, 1, 1,
"gradQ_z",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
169 self.
context[
"matmulConfigs"][
"lqi"] =
MatmulConfig(nDofPad*nVar, nDof, nDof, nDofPad*nVar*nDof*nDof3D, nDofPad, nDofPad*nVar, 1, 0, 1, 1,
"lqi",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
174 self.
context[
"matmulConfigs"][
"rhs_x"] =
MatmulConfig(nVarPad, nDof, nDof, nVarPad , nDofPad, nVarPad , 1, 1, 1, 1,
"rhs_x",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
175 self.
context[
"matmulConfigs"][
"rhs_y"] =
MatmulConfig(nVarPad, nDof, nDof, nVarPad*nDof , nDofPad, nVarPad*nDof , 1, 1, 1, 1,
"rhs_y",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
177 self.
context[
"matmulConfigs"][
"rhs_z"] =
MatmulConfig(nVarPad, nDof, nDof, nVarPad*nDof2, nDofPad, nVarPad*nDof2, 1, 1, 1, 1,
"rhs_z",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
179 self.
context[
"matmulConfigs"][
"lduh_x"] =
MatmulConfig(nVarPad, nDof, nDof, nVarPad, nDofPad, nVarPad , 1, 1, 1, 1,
"lduh_x",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
180 self.
context[
"matmulConfigs"][
"lduh_y"] =
MatmulConfig(nVarPad, nDof, nDof, nVarPad*nDof, nDofPad, nVarPad*nDof , 1, 1, 1, 1,
"lduh_y",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
182 self.
context[
"matmulConfigs"][
"lduh_z"] =
MatmulConfig(nVarPad, nDof, nDof, nVarPad*nDof2, nDofPad, nVarPad*nDof2, 1, 1, 1, 1,
"lduh_z",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
185 self.
context[
"matmulConfigs"][
"gradQ_x"] =
MatmulConfig(nVarPad, nDof, nDof, nVarPad , nDofPad, nVarPad , 1, 1, 1, 1,
"gradQ_x",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
186 self.
context[
"matmulConfigs"][
"gradQ_y"] =
MatmulConfig(nVarPad, nDof, nDof, nVarPad*nDof, nDofPad, nVarPad*nDof , 1, 1, 1, 1,
"gradQ_y",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
188 self.
context[
"matmulConfigs"][
"gradQ_z"] =
MatmulConfig(nVarPad, nDof, nDof, nVarPad*nDof2, nDofPad, nVarPad*nDof2, 1, 1, 1, 1,
"gradQ_z",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
190 self.
context[
"matmulConfigs"][
"lqi"] =
MatmulConfig(nVarPad, nDof, nDof, nVarPad*(nDof**nDim), nDofPad, nVarPad, 1, 0, 1, 1,
"lqi",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
195 self.
context[
"matmulConfigs"][
"rhs_x"] =
MatmulConfig(nVarPad, nDof, nDof, nVarPad , nDofPad, nVarPad , 1, 1, 1, 1,
"rhs_x",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
196 self.
context[
"matmulConfigs"][
"rhs_y"] =
MatmulConfig(nVarPad, nDof, nDof, nVarPad*nDof , nDofPad, nVarPad*nDof , 1, 1, 1, 1,
"rhs_y",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
198 self.
context[
"matmulConfigs"][
"rhs_z"] =
MatmulConfig(nVarPad, nDof, nDof, nVarPad*nDof2, nDofPad, nVarPad*nDof2, 1, 1, 1, 1,
"rhs_z",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
200 self.
context[
"matmulConfigs"][
"lduh_x"] =
MatmulConfig(nVarPad, nDof, nDof, nVarPad, nDofPad, nVarPad , 1, 1, 1, 1,
"lduh_x",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
201 self.
context[
"matmulConfigs"][
"lduh_y"] =
MatmulConfig(nVarPad, nDof, nDof, nVarPad, nDofPad, nVarPad*nDof , 1, 1, 1, 1,
"lduh_y",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
203 self.
context[
"matmulConfigs"][
"lduh_z"] =
MatmulConfig(nVarPad, nDof, nDof, nVarPad, nDofPad, nVarPad*nDof2, 1, 1, 1, 1,
"lduh_z",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
205 if self.
context[
"useCERKGuess"]:
206 self.
context[
"matmulConfigs"][
"gradF_x_RKLoop"] =
MatmulConfig(nVar, nDof, nDof, nVarPad , nDofPad, nVarPad , 1, 1, 1, 1,
"gradF_x_RKLoop",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
207 self.
context[
"matmulConfigs"][
"gradF_y_RKLoop"] =
MatmulConfig(nVar, nDof, nDof, nVarPad*nDof , nDofPad, nVarPad*nDof , 1, 1, 1, 1,
"gradF_y_RKLoop",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
209 self.
context[
"matmulConfigs"][
"gradF_z_RKLoop"] =
MatmulConfig(nVar, nDof, nDof, nVarPad*nDof2, nDofPad, nVarPad*nDof2, 1, 1, 1, 1,
"gradF_z_RKLoop",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
212 self.
context[
"matmulConfigs"][
"gradQ_x"] =
MatmulConfig(nVar, nDof, nDof, nDataPad , nDofPad, nVarPad , 1, 1, 1, 1,
"gradQ_x",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
213 self.
context[
"matmulConfigs"][
"gradQ_y"] =
MatmulConfig(nVar, nDof, nDof, nDataPad*nDof, nDofPad, nVarPad*nDof , 1, 1, 1, 1,
"gradQ_y",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
215 self.
context[
"matmulConfigs"][
"gradQ_z"] =
MatmulConfig(nVar, nDof, nDof, nDataPad*nDof2, nDofPad, nVarPad*nDof2, 1, 1, 1, 1,
"gradQ_z",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
217 if self.
context[
"useCERKGuess"]:
218 self.
context[
"matmulConfigs"][
"gradQ_x_RKLoop"] =
MatmulConfig(nVar, nDof, nDof, nData , nDofPad, nVarPad , 1, 1, 0, 1,
"gradQ_x_RKLoop",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
219 self.
context[
"matmulConfigs"][
"gradQ_y_RKLoop"] =
MatmulConfig(nVar, nDof, nDof, nData*nDof , nDofPad, nVarPad*nDof , 1, 1, 0, 1,
"gradQ_y_RKLoop",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
221 self.
context[
"matmulConfigs"][
"gradQ_z_RKLoop"] =
MatmulConfig(nVar, nDof, nDof, nData*nDof2, nDofPad, nVarPad*nDof2, 1, 1, 0, 1,
"gradQ_z_RKLoop",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])
223 self.
context[
"matmulConfigs"][
"lqi"] =
MatmulConfig(nVarPad, nDof, nDof, nVarPad*(nDof**nDim), nDofPad, nVarPad, 1, 0, 1, 1,
"lqi",
"nopf",
"gemm", self.
context[
"predictorComputePrecisions"])