Lines Matching refs:P_1D
19 template <int NUM_COMP, int P_1D, int Q_1D>
26 for (CeedInt i = 0; i < P_1D; i++) { in ContractX1d()
27 *V += B[i + data.t_id_x * P_1D] * data.slice[i]; // Contract x direction in ContractX1d()
35 template <int NUM_COMP, int P_1D, int Q_1D>
41 if (data.t_id_x < P_1D) { in ContractTransposeX1d()
43 *V += B[data.t_id_x + i * P_1D] * data.slice[i]; // Contract x direction in ContractTransposeX1d()
51 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
54 ContractX1d<NUM_COMP, P_1D, Q_1D>(data, &r_U[comp], c_B, &r_V[comp]); in Interp1d()
61 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
65 ContractTransposeX1d<NUM_COMP, P_1D, Q_1D>(data, &r_U[comp], c_B, &r_V[comp]); in InterpTranspose1d()
72 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
83 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
94 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
98 ContractX1d<NUM_COMP, P_1D, Q_1D>(data, &r_U[comp], c_G, &r_V[comp]); in Grad1d()
105 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
109 ContractTransposeX1d<NUM_COMP, P_1D, Q_1D>(data, &r_U[comp], c_G, &r_V[comp]); in GradTranspose1d()
116 template <int P_1D, int Q_1D>
128 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
134 if (data.t_id_x < Q_1D && data.t_id_y < P_1D) { in ContractX2d()
135 for (CeedInt i = 0; i < P_1D; i++) { in ContractX2d()
136 *V += B[i + data.t_id_x * P_1D] * data.slice[i + data.t_id_y * T_1D]; // Contract x direction in ContractX2d()
144 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
151 for (CeedInt i = 0; i < P_1D; i++) { in ContractY2d()
152 *V += B[i + data.t_id_y * P_1D] * data.slice[data.t_id_x + i * T_1D]; // Contract y direction in ContractY2d()
160 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
166 if (data.t_id_x < Q_1D && data.t_id_y < P_1D) { in ContractTransposeY2d()
168 *V += B[data.t_id_y + i * P_1D] * data.slice[data.t_id_x + i * T_1D]; // Contract y direction in ContractTransposeY2d()
176 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
182 if (data.t_id_x < P_1D && data.t_id_y < P_1D) { in ContractTransposeX2d()
184 *V += B[data.t_id_x + i * P_1D] * data.slice[i + data.t_id_y * T_1D]; // Contract x direction in ContractTransposeX2d()
192 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
197 if (data.t_id_x < P_1D && data.t_id_y < P_1D) { in ContractTransposeAddX2d()
199 *V += B[data.t_id_x + i * P_1D] * data.slice[i + data.t_id_y * T_1D]; // Contract x direction in ContractTransposeAddX2d()
207 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
211 ContractX2d<NUM_COMP, P_1D, Q_1D, T_1D>(data, &r_U[comp], c_B, r_t); in InterpTensor2d()
212 ContractY2d<NUM_COMP, P_1D, Q_1D, T_1D>(data, r_t, c_B, &r_V[comp]); in InterpTensor2d()
219 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
224 ContractTransposeY2d<NUM_COMP, P_1D, Q_1D, T_1D>(data, &r_U[comp], c_B, r_t); in InterpTransposeTensor2d()
225 ContractTransposeX2d<NUM_COMP, P_1D, Q_1D, T_1D>(data, r_t, c_B, &r_V[comp]); in InterpTransposeTensor2d()
232 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
243 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
254 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
259 ContractX2d<NUM_COMP, P_1D, Q_1D, T_1D>(data, &r_U[comp], c_G, r_t); in GradTensor2d()
260 ContractY2d<NUM_COMP, P_1D, Q_1D, T_1D>(data, r_t, c_B, &r_V[comp + 0 * NUM_COMP]); in GradTensor2d()
261 ContractX2d<NUM_COMP, P_1D, Q_1D, T_1D>(data, &r_U[comp], c_B, r_t); in GradTensor2d()
262 ContractY2d<NUM_COMP, P_1D, Q_1D, T_1D>(data, r_t, c_G, &r_V[comp + 1 * NUM_COMP]); in GradTensor2d()
269 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
274 ContractTransposeY2d<NUM_COMP, P_1D, Q_1D, T_1D>(data, &r_U[comp + 0 * NUM_COMP], c_B, r_t); in GradTransposeTensor2d()
275 ContractTransposeX2d<NUM_COMP, P_1D, Q_1D, T_1D>(data, r_t, c_G, &r_V[comp]); in GradTransposeTensor2d()
276 ContractTransposeY2d<NUM_COMP, P_1D, Q_1D, T_1D>(data, &r_U[comp + 1 * NUM_COMP], c_G, r_t); in GradTransposeTensor2d()
277 ContractTransposeAddX2d<NUM_COMP, P_1D, Q_1D, T_1D>(data, r_t, c_B, &r_V[comp]); in GradTransposeTensor2d()
284 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
288 ContractX2d<NUM_COMP, P_1D, Q_1D, T_1D>(data, &r_U[comp], c_G, &r_V[comp + 0 * NUM_COMP]); in GradTensorCollocatedNodes2d()
289 ContractY2d<NUM_COMP, P_1D, Q_1D, T_1D>(data, &r_U[comp], c_G, &r_V[comp + 1 * NUM_COMP]); in GradTensorCollocatedNodes2d()
296 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
300 …ContractTransposeY2d<NUM_COMP, P_1D, Q_1D, T_1D>(data, &r_U[comp + 1 * NUM_COMP], c_G, &r_V[comp]); in GradTransposeTensorCollocatedNodes2d()
301 …ContractTransposeAddX2d<NUM_COMP, P_1D, Q_1D, T_1D>(data, &r_U[comp + 0 * NUM_COMP], c_G, &r_V[com… in GradTransposeTensorCollocatedNodes2d()
308 template <int P_1D, int Q_1D>
320 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
322 CeedScalar r_B[P_1D]; in ContractX3d()
323 for (CeedInt i = 0; i < P_1D; i++) { in ContractX3d()
324 r_B[i] = B[i + data.t_id_x * P_1D]; in ContractX3d()
327 for (CeedInt k = 0; k < P_1D; k++) { in ContractX3d()
332 if (data.t_id_x < Q_1D && data.t_id_y < P_1D) { in ContractX3d()
333 for (CeedInt i = 0; i < P_1D; i++) { in ContractX3d()
343 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
345 CeedScalar r_B[P_1D]; in ContractY3d()
346 for (CeedInt i = 0; i < P_1D; i++) { in ContractY3d()
347 r_B[i] = B[i + data.t_id_y * P_1D]; in ContractY3d()
350 for (CeedInt k = 0; k < P_1D; k++) { in ContractY3d()
356 for (CeedInt i = 0; i < P_1D; i++) { in ContractY3d()
366 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
371 for (CeedInt i = 0; i < P_1D; i++) { in ContractZ3d()
372 V[k] += B[i + k * P_1D] * U[i]; // Contract z direction in ContractZ3d()
381 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
383 for (CeedInt k = 0; k < P_1D; k++) { in ContractTransposeZ3d()
387 V[k] += B[k + i * P_1D] * U[i]; // Contract z direction in ContractTransposeZ3d()
396 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
400 r_B[i] = B[data.t_id_y + i * P_1D]; in ContractTransposeY3d()
403 for (CeedInt k = 0; k < P_1D; k++) { in ContractTransposeY3d()
408 if (data.t_id_x < Q_1D && data.t_id_y < P_1D) { in ContractTransposeY3d()
419 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
423 r_B[i] = B[data.t_id_y + i * P_1D]; in ContractTransposeAddY3d()
426 for (CeedInt k = 0; k < P_1D; k++) { in ContractTransposeAddY3d()
430 if (data.t_id_x < Q_1D && data.t_id_y < P_1D) { in ContractTransposeAddY3d()
441 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
445 r_B[i] = B[data.t_id_x + i * P_1D]; in ContractTransposeX3d()
448 for (CeedInt k = 0; k < P_1D; k++) { in ContractTransposeX3d()
453 if (data.t_id_x < P_1D && data.t_id_y < P_1D) { in ContractTransposeX3d()
464 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
468 r_B[i] = B[data.t_id_x + i * P_1D]; in ContractTransposeAddX3d()
471 for (CeedInt k = 0; k < P_1D; k++) { in ContractTransposeAddX3d()
475 if (data.t_id_x < P_1D && data.t_id_y < P_1D) { in ContractTransposeAddX3d()
486 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
491 ContractX3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, &r_U[comp * P_1D], c_B, r_t1); in InterpTensor3d()
492 ContractY3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, r_t1, c_B, r_t2); in InterpTensor3d()
493 ContractZ3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, r_t2, c_B, &r_V[comp * Q_1D]); in InterpTensor3d()
500 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
506 ContractTransposeZ3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, &r_U[comp * Q_1D], c_B, r_t1); in InterpTransposeTensor3d()
507 ContractTransposeY3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, r_t1, c_B, r_t2); in InterpTransposeTensor3d()
508 ContractTransposeX3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, r_t2, c_B, &r_V[comp * P_1D]); in InterpTransposeTensor3d()
515 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
520 r_V[i + comp * Q_1D] = r_U[i + comp * P_1D]; in InterpTensorCollocatedNodes3d()
528 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
533 r_V[i + comp * P_1D] = r_U[i + comp * Q_1D]; in InterpTransposeTensorCollocatedNodes3d()
541 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
547 ContractX3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, &r_U[comp * P_1D], c_G, r_t1); in GradTensor3d()
548 ContractY3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, r_t1, c_B, r_t2); in GradTensor3d()
549 … ContractZ3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, r_t2, c_B, &r_V[comp * Q_1D + 0 * NUM_COMP * Q_1D]); in GradTensor3d()
550 ContractX3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, &r_U[comp * P_1D], c_B, r_t1); in GradTensor3d()
551 ContractY3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, r_t1, c_G, r_t2); in GradTensor3d()
552 … ContractZ3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, r_t2, c_B, &r_V[comp * Q_1D + 1 * NUM_COMP * Q_1D]); in GradTensor3d()
553 ContractX3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, &r_U[comp * P_1D], c_B, r_t1); in GradTensor3d()
554 ContractY3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, r_t1, c_B, r_t2); in GradTensor3d()
555 … ContractZ3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, r_t2, c_G, &r_V[comp * Q_1D + 2 * NUM_COMP * Q_1D]); in GradTensor3d()
562 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
568 …ContractTransposeZ3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, &r_U[comp * Q_1D + 0 * NUM_COMP * Q_1D], c_… in GradTransposeTensor3d()
569 ContractTransposeY3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, r_t1, c_B, r_t2); in GradTransposeTensor3d()
570 ContractTransposeX3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, r_t2, c_G, &r_V[comp * P_1D]); in GradTransposeTensor3d()
571 …ContractTransposeZ3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, &r_U[comp * Q_1D + 1 * NUM_COMP * Q_1D], c_… in GradTransposeTensor3d()
572 ContractTransposeY3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, r_t1, c_G, r_t2); in GradTransposeTensor3d()
573 ContractTransposeAddX3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, r_t2, c_B, &r_V[comp * P_1D]); in GradTransposeTensor3d()
574 …ContractTransposeZ3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, &r_U[comp * Q_1D + 2 * NUM_COMP * Q_1D], c_… in GradTransposeTensor3d()
575 ContractTransposeY3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, r_t1, c_B, r_t2); in GradTransposeTensor3d()
576 ContractTransposeAddX3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, r_t2, c_B, &r_V[comp * P_1D]); in GradTransposeTensor3d()
583 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
589 ContractX3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, &r_U[comp * P_1D], c_B, r_t1); in GradTensorCollocated3d()
590 ContractY3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, r_t1, c_B, r_t2); in GradTensorCollocated3d()
591 ContractZ3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, r_t2, c_B, r_t1); in GradTensorCollocated3d()
601 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
610 ContractTransposeZ3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, r_t2, c_B, r_t1); in GradTransposeTensorCollocated3d()
611 ContractTransposeY3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, r_t1, c_B, r_t2); in GradTransposeTensorCollocated3d()
612 ContractTransposeX3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, r_t2, c_B, &r_V[comp * P_1D]); in GradTransposeTensorCollocated3d()
619 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
623 …ContractX3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, &r_U[comp * P_1D], c_G, &r_V[comp * Q_1D + 0 * NUM_C… in GradTensorCollocatedNodes3d()
624 …ContractY3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, &r_U[comp * P_1D], c_G, &r_V[comp * Q_1D + 1 * NUM_C… in GradTensorCollocatedNodes3d()
625 …ContractZ3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, &r_U[comp * P_1D], c_G, &r_V[comp * Q_1D + 2 * NUM_C… in GradTensorCollocatedNodes3d()
632 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
636 …ContractTransposeZ3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, &r_U[comp * Q_1D + 2 * NUM_COMP * Q_1D], c_… in GradTransposeTensorCollocatedNodes3d()
637 …ontractTransposeAddY3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, &r_U[comp * Q_1D + 1 * NUM_COMP * Q_1D], … in GradTransposeTensorCollocatedNodes3d()
638 …ontractTransposeAddX3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, &r_U[comp * Q_1D + 0 * NUM_COMP * Q_1D], … in GradTransposeTensorCollocatedNodes3d()
645 template <int P_1D, int Q_1D>