Lines Matching refs:P_1D
59 template <int NUM_COMP, int P_1D>
61 const CeedInt target_comp = n / P_1D; in SetEVecStandard1d_Single()
62 const CeedInt target_node = n % P_1D; in SetEVecStandard1d_Single()
72 template <int NUM_COMP, int COMP_STRIDE, int P_1D>
75 if (data.t_id_x < P_1D) { in ReadLVecStandard1d()
77 const CeedInt ind = indices[node + elem * P_1D]; in ReadLVecStandard1d()
86 template <int NUM_COMP, int P_1D, int STRIDES_NODE, int STRIDES_COMP, int STRIDES_ELEM>
88 if (data.t_id_x < P_1D) { in ReadLVecStrided1d()
99 template <int NUM_COMP, int COMP_STRIDE, int P_1D>
102 if (data.t_id_x < P_1D) { in WriteLVecStandard1d()
104 const CeedInt ind = indices[node + elem * P_1D]; in WriteLVecStandard1d()
110 template <int NUM_COMP, int COMP_STRIDE, int P_1D>
114 const CeedInt target_comp = n / P_1D; in WriteLVecStandard1d_Single()
115 const CeedInt target_node = n % P_1D; in WriteLVecStandard1d_Single()
118 const CeedInt ind = indices[target_node + elem * P_1D]; in WriteLVecStandard1d_Single()
127 template <int NUM_COMP, int COMP_STRIDE, int P_1D>
130 const CeedInt in_comp = in / P_1D; in WriteLVecStandard1d_Assembly()
131 const CeedInt in_node = in % P_1D; in WriteLVecStandard1d_Assembly()
132 const CeedInt e_vec_size = P_1D * NUM_COMP; in WriteLVecStandard1d_Assembly()
134 if (data.t_id_x < P_1D) { in WriteLVecStandard1d_Assembly()
138 …lem * e_vec_size * e_vec_size + (in_comp * NUM_COMP + comp) * P_1D * P_1D + out_node * P_1D + in_n… in WriteLVecStandard1d_Assembly()
161 template <int NUM_COMP, int P_1D, int STRIDES_NODE, int STRIDES_COMP, int STRIDES_ELEM>
164 if (data.t_id_x < P_1D) { in WriteLVecStrided1d()
179 template <int NUM_COMP, int P_1D>
181 const CeedInt target_comp = n / (P_1D * P_1D); in SetEVecStandard2d_Single()
182 const CeedInt target_node_x = n % P_1D; in SetEVecStandard2d_Single()
183 const CeedInt target_node_y = (n % (P_1D * P_1D)) / P_1D; in SetEVecStandard2d_Single()
193 template <int NUM_COMP, int COMP_STRIDE, int P_1D>
196 if (data.t_id_x < P_1D && data.t_id_y < P_1D) { in ReadLVecStandard2d()
197 const CeedInt node = data.t_id_x + data.t_id_y * P_1D; in ReadLVecStandard2d()
198 const CeedInt ind = indices[node + elem * P_1D * P_1D]; in ReadLVecStandard2d()
207 template <int NUM_COMP, int P_1D, int STRIDES_NODE, int STRIDES_COMP, int STRIDES_ELEM>
209 if (data.t_id_x < P_1D && data.t_id_y < P_1D) { in ReadLVecStrided2d()
210 const CeedInt node = data.t_id_x + data.t_id_y * P_1D; in ReadLVecStrided2d()
220 template <int NUM_COMP, int COMP_STRIDE, int P_1D>
223 if (data.t_id_x < P_1D && data.t_id_y < P_1D) { in WriteLVecStandard2d()
224 const CeedInt node = data.t_id_x + data.t_id_y * P_1D; in WriteLVecStandard2d()
225 const CeedInt ind = indices[node + elem * P_1D * P_1D]; in WriteLVecStandard2d()
231 template <int NUM_COMP, int COMP_STRIDE, int P_1D>
235 const CeedInt target_comp = n / (P_1D * P_1D); in WriteLVecStandard2d_Single()
236 const CeedInt target_node_x = n % P_1D; in WriteLVecStandard2d_Single()
237 const CeedInt target_node_y = (n % (P_1D * P_1D)) / P_1D; in WriteLVecStandard2d_Single()
240 const CeedInt node = data.t_id_x + data.t_id_y * P_1D; in WriteLVecStandard2d_Single()
241 const CeedInt ind = indices[node + elem * P_1D * P_1D]; in WriteLVecStandard2d_Single()
250 template <int NUM_COMP, int COMP_STRIDE, int P_1D>
253 const CeedInt elem_size = P_1D * P_1D; in WriteLVecStandard2d_Assembly()
255 const CeedInt in_node_x = in % P_1D; in WriteLVecStandard2d_Assembly()
256 const CeedInt in_node_y = (in % elem_size) / P_1D; in WriteLVecStandard2d_Assembly()
259 if (data.t_id_x < P_1D && data.t_id_y < P_1D) { in WriteLVecStandard2d_Assembly()
260 const CeedInt in_node = in_node_x + in_node_y * P_1D; in WriteLVecStandard2d_Assembly()
261 const CeedInt out_node = data.t_id_x + data.t_id_y * P_1D; in WriteLVecStandard2d_Assembly()
289 template <int NUM_COMP, int P_1D, int STRIDES_NODE, int STRIDES_COMP, int STRIDES_ELEM>
292 if (data.t_id_x < P_1D && data.t_id_y < P_1D) { in WriteLVecStrided2d()
293 const CeedInt node = data.t_id_x + data.t_id_y * P_1D; in WriteLVecStrided2d()
307 template <int NUM_COMP, int P_1D>
309 const CeedInt target_comp = n / (P_1D * P_1D * P_1D); in SetEVecStandard3d_Single()
310 const CeedInt target_node_x = n % P_1D; in SetEVecStandard3d_Single()
311 const CeedInt target_node_y = ((n % (P_1D * P_1D * P_1D)) / P_1D) % P_1D; in SetEVecStandard3d_Single()
312 const CeedInt target_node_z = (n % (P_1D * P_1D * P_1D)) / (P_1D * P_1D); in SetEVecStandard3d_Single()
315 r_v[target_node_z + target_comp * P_1D] = value; in SetEVecStandard3d_Single()
322 template <int NUM_COMP, int COMP_STRIDE, int P_1D>
325 if (data.t_id_x < P_1D && data.t_id_y < P_1D) { in ReadLVecStandard3d()
326 for (CeedInt z = 0; z < P_1D; z++) { in ReadLVecStandard3d()
327 const CeedInt node = data.t_id_x + data.t_id_y * P_1D + z * P_1D * P_1D; in ReadLVecStandard3d()
328 const CeedInt ind = indices[node + elem * P_1D * P_1D * P_1D]; in ReadLVecStandard3d()
330 …for (CeedInt comp = 0; comp < NUM_COMP; comp++) r_u[z + comp * P_1D] = d_u[ind + COMP_STRIDE * com… in ReadLVecStandard3d()
338 template <int NUM_COMP, int P_1D, int STRIDES_NODE, int STRIDES_COMP, int STRIDES_ELEM>
340 if (data.t_id_x < P_1D && data.t_id_y < P_1D) { in ReadLVecStrided3d()
341 for (CeedInt z = 0; z < P_1D; z++) { in ReadLVecStrided3d()
342 const CeedInt node = data.t_id_x + data.t_id_y * P_1D + z * P_1D * P_1D; in ReadLVecStrided3d()
345 …for (CeedInt comp = 0; comp < NUM_COMP; comp++) r_u[z + comp * P_1D] = d_u[ind + comp * STRIDES_CO… in ReadLVecStrided3d()
382 template <int NUM_COMP, int COMP_STRIDE, int P_1D>
385 if (data.t_id_x < P_1D && data.t_id_y < P_1D) { in WriteLVecStandard3d()
386 for (CeedInt z = 0; z < P_1D; z++) { in WriteLVecStandard3d()
387 const CeedInt node = data.t_id_x + data.t_id_y * P_1D + z * P_1D * P_1D; in WriteLVecStandard3d()
388 const CeedInt ind = indices[node + elem * P_1D * P_1D * P_1D]; in WriteLVecStandard3d()
390 …comp = 0; comp < NUM_COMP; comp++) atomicAdd(&d_v[ind + COMP_STRIDE * comp], r_v[z + comp * P_1D]); in WriteLVecStandard3d()
395 template <int NUM_COMP, int COMP_STRIDE, int P_1D>
399 const CeedInt target_comp = n / (P_1D * P_1D * P_1D); in WriteLVecStandard3d_Single()
400 const CeedInt target_node_x = n % P_1D; in WriteLVecStandard3d_Single()
401 const CeedInt target_node_y = ((n % (P_1D * P_1D * P_1D)) / P_1D) % P_1D; in WriteLVecStandard3d_Single()
402 const CeedInt target_node_z = (n % (P_1D * P_1D * P_1D)) / (P_1D * P_1D); in WriteLVecStandard3d_Single()
405 const CeedInt node = data.t_id_x + data.t_id_y * P_1D + target_node_z * P_1D * P_1D; in WriteLVecStandard3d_Single()
406 const CeedInt ind = indices[node + elem * P_1D * P_1D * P_1D]; in WriteLVecStandard3d_Single()
408 atomicAdd(&d_v[ind + COMP_STRIDE * target_comp], r_v[target_node_z + target_comp * P_1D]); in WriteLVecStandard3d_Single()
415 template <int NUM_COMP, int COMP_STRIDE, int P_1D>
418 const CeedInt elem_size = P_1D * P_1D * P_1D; in WriteLVecStandard3d_Assembly()
420 const CeedInt in_node_x = in % P_1D; in WriteLVecStandard3d_Assembly()
421 const CeedInt in_node_y = (in % (P_1D * P_1D)) / P_1D; in WriteLVecStandard3d_Assembly()
422 const CeedInt in_node_z = (in % elem_size) / (P_1D * P_1D); in WriteLVecStandard3d_Assembly()
425 if (data.t_id_x < P_1D && data.t_id_y < P_1D) { in WriteLVecStandard3d_Assembly()
426 const CeedInt in_node = in_node_x + in_node_y * P_1D + in_node_z * P_1D * P_1D; in WriteLVecStandard3d_Assembly()
427 for (CeedInt z = 0; z < P_1D; z++) { in WriteLVecStandard3d_Assembly()
428 const CeedInt out_node = data.t_id_x + data.t_id_y * P_1D + z * P_1D * P_1D; in WriteLVecStandard3d_Assembly()
433 d_v[elem * e_vec_size * e_vec_size + index] += r_v[z + comp * P_1D]; in WriteLVecStandard3d_Assembly()
459 template <int NUM_COMP, int P_1D, int STRIDES_NODE, int STRIDES_COMP, int STRIDES_ELEM>
462 if (data.t_id_x < P_1D && data.t_id_y < P_1D) { in WriteLVecStrided3d()
463 for (CeedInt z = 0; z < P_1D; z++) { in WriteLVecStrided3d()
464 const CeedInt node = data.t_id_x + data.t_id_y * P_1D + z * P_1D * P_1D; in WriteLVecStrided3d()
467 …(CeedInt comp = 0; comp < NUM_COMP; comp++) d_v[ind + comp * STRIDES_COMP] += r_v[z + comp * P_1D]; in WriteLVecStrided3d()