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>
212 ContractX2d<NUM_COMP, P_1D, Q_1D, T_1D>(data, &r_U[comp], c_B, r_t); in InterpTensor2d()
213 ContractY2d<NUM_COMP, P_1D, Q_1D, T_1D>(data, r_t, c_B, &r_V[comp]); in InterpTensor2d()
220 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
225 ContractTransposeY2d<NUM_COMP, P_1D, Q_1D, T_1D>(data, &r_U[comp], c_B, r_t); in InterpTransposeTensor2d()
226 ContractTransposeX2d<NUM_COMP, P_1D, Q_1D, T_1D>(data, r_t, c_B, &r_V[comp]); in InterpTransposeTensor2d()
233 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
244 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
255 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
260 ContractX2d<NUM_COMP, P_1D, Q_1D, T_1D>(data, &r_U[comp], c_G, r_t); in GradTensor2d()
261 ContractY2d<NUM_COMP, P_1D, Q_1D, T_1D>(data, r_t, c_B, &r_V[comp + 0 * NUM_COMP]); in GradTensor2d()
262 ContractX2d<NUM_COMP, P_1D, Q_1D, T_1D>(data, &r_U[comp], c_B, r_t); in GradTensor2d()
263 ContractY2d<NUM_COMP, P_1D, Q_1D, T_1D>(data, r_t, c_G, &r_V[comp + 1 * NUM_COMP]); in GradTensor2d()
270 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
275 ContractTransposeY2d<NUM_COMP, P_1D, Q_1D, T_1D>(data, &r_U[comp + 0 * NUM_COMP], c_B, r_t); in GradTransposeTensor2d()
276 ContractTransposeX2d<NUM_COMP, P_1D, Q_1D, T_1D>(data, r_t, c_G, &r_V[comp]); in GradTransposeTensor2d()
277 ContractTransposeY2d<NUM_COMP, P_1D, Q_1D, T_1D>(data, &r_U[comp + 1 * NUM_COMP], c_G, r_t); in GradTransposeTensor2d()
278 ContractTransposeAddX2d<NUM_COMP, P_1D, Q_1D, T_1D>(data, r_t, c_B, &r_V[comp]); in GradTransposeTensor2d()
285 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
289 ContractX2d<NUM_COMP, P_1D, Q_1D, T_1D>(data, &r_U[comp], c_G, &r_V[comp + 0 * NUM_COMP]); in GradTensorCollocatedNodes2d()
290 ContractY2d<NUM_COMP, P_1D, Q_1D, T_1D>(data, &r_U[comp], c_G, &r_V[comp + 1 * NUM_COMP]); in GradTensorCollocatedNodes2d()
297 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
301 …ContractTransposeY2d<NUM_COMP, P_1D, Q_1D, T_1D>(data, &r_U[comp + 1 * NUM_COMP], c_G, &r_V[comp]); in GradTransposeTensorCollocatedNodes2d()
302 …ContractTransposeAddX2d<NUM_COMP, P_1D, Q_1D, T_1D>(data, &r_U[comp + 0 * NUM_COMP], c_G, &r_V[com… in GradTransposeTensorCollocatedNodes2d()
309 template <int P_1D, int Q_1D>
321 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
323 CeedScalar r_B[P_1D]; in ContractX3d()
324 for (CeedInt i = 0; i < P_1D; i++) { in ContractX3d()
325 r_B[i] = B[i + data.t_id_x * P_1D]; in ContractX3d()
328 for (CeedInt k = 0; k < P_1D; k++) { in ContractX3d()
333 if (data.t_id_x < Q_1D && data.t_id_y < P_1D) { in ContractX3d()
334 for (CeedInt i = 0; i < P_1D; i++) { in ContractX3d()
344 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
346 CeedScalar r_B[P_1D]; in ContractY3d()
347 for (CeedInt i = 0; i < P_1D; i++) { in ContractY3d()
348 r_B[i] = B[i + data.t_id_y * P_1D]; in ContractY3d()
351 for (CeedInt k = 0; k < P_1D; k++) { in ContractY3d()
357 for (CeedInt i = 0; i < P_1D; i++) { in ContractY3d()
367 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
372 for (CeedInt i = 0; i < P_1D; i++) { in ContractZ3d()
373 V[k] += B[i + k * P_1D] * U[i]; // Contract z direction in ContractZ3d()
382 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
384 for (CeedInt k = 0; k < P_1D; k++) { in ContractTransposeZ3d()
388 V[k] += B[k + i * P_1D] * U[i]; // Contract z direction in ContractTransposeZ3d()
397 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
401 r_B[i] = B[data.t_id_y + i * P_1D]; in ContractTransposeY3d()
404 for (CeedInt k = 0; k < P_1D; k++) { in ContractTransposeY3d()
409 if (data.t_id_x < Q_1D && data.t_id_y < P_1D) { in ContractTransposeY3d()
420 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
424 r_B[i] = B[data.t_id_y + i * P_1D]; in ContractTransposeAddY3d()
427 for (CeedInt k = 0; k < P_1D; k++) { in ContractTransposeAddY3d()
431 if (data.t_id_x < Q_1D && data.t_id_y < P_1D) { in ContractTransposeAddY3d()
442 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
446 r_B[i] = B[data.t_id_x + i * P_1D]; in ContractTransposeX3d()
449 for (CeedInt k = 0; k < P_1D; k++) { in ContractTransposeX3d()
454 if (data.t_id_x < P_1D && data.t_id_y < P_1D) { in ContractTransposeX3d()
465 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
469 r_B[i] = B[data.t_id_x + i * P_1D]; in ContractTransposeAddX3d()
472 for (CeedInt k = 0; k < P_1D; k++) { in ContractTransposeAddX3d()
476 if (data.t_id_x < P_1D && data.t_id_y < P_1D) { in ContractTransposeAddX3d()
487 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
493 ContractX3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, &r_U[comp * P_1D], c_B, r_t1); in InterpTensor3d()
494 ContractY3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, r_t1, c_B, r_t2); in InterpTensor3d()
495 ContractZ3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, r_t2, c_B, &r_V[comp * Q_1D]); in InterpTensor3d()
502 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
508 ContractTransposeZ3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, &r_U[comp * Q_1D], c_B, r_t1); in InterpTransposeTensor3d()
509 ContractTransposeY3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, r_t1, c_B, r_t2); in InterpTransposeTensor3d()
510 ContractTransposeX3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, r_t2, c_B, &r_V[comp * P_1D]); in InterpTransposeTensor3d()
517 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
522 r_V[i + comp * Q_1D] = r_U[i + comp * P_1D]; in InterpTensorCollocatedNodes3d()
530 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
535 r_V[i + comp * P_1D] = r_U[i + comp * Q_1D]; in InterpTransposeTensorCollocatedNodes3d()
543 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
549 ContractX3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, &r_U[comp * P_1D], c_G, r_t1); in GradTensor3d()
550 ContractY3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, r_t1, c_B, r_t2); in GradTensor3d()
551 … 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()
552 ContractX3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, &r_U[comp * P_1D], c_B, r_t1); in GradTensor3d()
553 ContractY3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, r_t1, c_G, r_t2); in GradTensor3d()
554 … 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()
555 ContractX3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, &r_U[comp * P_1D], c_B, r_t1); in GradTensor3d()
556 ContractY3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, r_t1, c_B, r_t2); in GradTensor3d()
557 … 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()
564 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
570 …ContractTransposeZ3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, &r_U[comp * Q_1D + 0 * NUM_COMP * Q_1D], c_… in GradTransposeTensor3d()
571 ContractTransposeY3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, r_t1, c_B, r_t2); in GradTransposeTensor3d()
572 ContractTransposeX3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, r_t2, c_G, &r_V[comp * P_1D]); in GradTransposeTensor3d()
573 …ContractTransposeZ3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, &r_U[comp * Q_1D + 1 * NUM_COMP * Q_1D], c_… in GradTransposeTensor3d()
574 ContractTransposeY3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, r_t1, c_G, r_t2); in GradTransposeTensor3d()
575 ContractTransposeAddX3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, r_t2, c_B, &r_V[comp * P_1D]); in GradTransposeTensor3d()
576 …ContractTransposeZ3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, &r_U[comp * Q_1D + 2 * NUM_COMP * Q_1D], c_… in GradTransposeTensor3d()
577 ContractTransposeY3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, r_t1, c_B, r_t2); in GradTransposeTensor3d()
578 ContractTransposeAddX3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, r_t2, c_B, &r_V[comp * P_1D]); in GradTransposeTensor3d()
585 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
591 ContractX3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, &r_U[comp * P_1D], c_B, r_t1); in GradTensorCollocated3d()
592 ContractY3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, r_t1, c_B, r_t2); in GradTensorCollocated3d()
593 ContractZ3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, r_t2, c_B, r_t1); in GradTensorCollocated3d()
603 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
612 ContractTransposeZ3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, r_t2, c_B, r_t1); in GradTransposeTensorCollocated3d()
613 ContractTransposeY3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, r_t1, c_B, r_t2); in GradTransposeTensorCollocated3d()
614 ContractTransposeX3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, r_t2, c_B, &r_V[comp * P_1D]); in GradTransposeTensorCollocated3d()
621 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
625 …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()
626 …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()
627 …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()
634 template <int NUM_COMP, int P_1D, int Q_1D, int T_1D>
638 …ContractTransposeZ3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, &r_U[comp * Q_1D + 2 * NUM_COMP * Q_1D], c_… in GradTransposeTensorCollocatedNodes3d()
639 …ontractTransposeAddY3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, &r_U[comp * Q_1D + 1 * NUM_COMP * Q_1D], … in GradTransposeTensorCollocatedNodes3d()
640 …ontractTransposeAddX3d<NUM_COMP, P_1D, Q_1D, T_1D>(data, &r_U[comp * Q_1D + 0 * NUM_COMP * Q_1D], … in GradTransposeTensorCollocatedNodes3d()
647 template <int P_1D, int Q_1D>