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>
89 if (data.t_id_x < P_1D) { in ReadLVecStrided1d()
100 template <int NUM_COMP, int COMP_STRIDE, int P_1D>
103 if (data.t_id_x < P_1D) { in WriteLVecStandard1d()
105 const CeedInt ind = indices[node + elem * P_1D]; in WriteLVecStandard1d()
111 template <int NUM_COMP, int COMP_STRIDE, int P_1D>
115 const CeedInt target_comp = n / P_1D; in WriteLVecStandard1d_Single()
116 const CeedInt target_node = n % P_1D; in WriteLVecStandard1d_Single()
119 const CeedInt ind = indices[target_node + elem * P_1D]; in WriteLVecStandard1d_Single()
128 template <int NUM_COMP, int COMP_STRIDE, int P_1D>
131 const CeedInt in_comp = in / P_1D; in WriteLVecStandard1d_Assembly()
132 const CeedInt in_node = in % P_1D; in WriteLVecStandard1d_Assembly()
133 const CeedInt e_vec_size = P_1D * NUM_COMP; in WriteLVecStandard1d_Assembly()
135 if (data.t_id_x < P_1D) { in WriteLVecStandard1d_Assembly()
139 …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()
162 template <int NUM_COMP, int P_1D, int STRIDES_NODE, int STRIDES_COMP, int STRIDES_ELEM>
165 if (data.t_id_x < P_1D) { in WriteLVecStrided1d()
180 template <int NUM_COMP, int P_1D>
182 const CeedInt target_comp = n / (P_1D * P_1D); in SetEVecStandard2d_Single()
183 const CeedInt target_node_x = n % P_1D; in SetEVecStandard2d_Single()
184 const CeedInt target_node_y = (n % (P_1D * P_1D)) / P_1D; in SetEVecStandard2d_Single()
194 template <int NUM_COMP, int COMP_STRIDE, int P_1D>
197 if (data.t_id_x < P_1D && data.t_id_y < P_1D) { in ReadLVecStandard2d()
198 const CeedInt node = data.t_id_x + data.t_id_y * P_1D; in ReadLVecStandard2d()
199 const CeedInt ind = indices[node + elem * P_1D * P_1D]; in ReadLVecStandard2d()
208 template <int NUM_COMP, int P_1D, int STRIDES_NODE, int STRIDES_COMP, int STRIDES_ELEM>
211 if (data.t_id_x < P_1D && data.t_id_y < P_1D) { in ReadLVecStrided2d()
212 const CeedInt node = data.t_id_x + data.t_id_y * P_1D; in ReadLVecStrided2d()
222 template <int NUM_COMP, int COMP_STRIDE, int P_1D>
225 if (data.t_id_x < P_1D && data.t_id_y < P_1D) { in WriteLVecStandard2d()
226 const CeedInt node = data.t_id_x + data.t_id_y * P_1D; in WriteLVecStandard2d()
227 const CeedInt ind = indices[node + elem * P_1D * P_1D]; in WriteLVecStandard2d()
233 template <int NUM_COMP, int COMP_STRIDE, int P_1D>
237 const CeedInt target_comp = n / (P_1D * P_1D); in WriteLVecStandard2d_Single()
238 const CeedInt target_node_x = n % P_1D; in WriteLVecStandard2d_Single()
239 const CeedInt target_node_y = (n % (P_1D * P_1D)) / P_1D; in WriteLVecStandard2d_Single()
242 const CeedInt node = data.t_id_x + data.t_id_y * P_1D; in WriteLVecStandard2d_Single()
243 const CeedInt ind = indices[node + elem * P_1D * P_1D]; in WriteLVecStandard2d_Single()
252 template <int NUM_COMP, int COMP_STRIDE, int P_1D>
255 const CeedInt elem_size = P_1D * P_1D; in WriteLVecStandard2d_Assembly()
257 const CeedInt in_node_x = in % P_1D; in WriteLVecStandard2d_Assembly()
258 const CeedInt in_node_y = (in % elem_size) / P_1D; in WriteLVecStandard2d_Assembly()
261 if (data.t_id_x < P_1D && data.t_id_y < P_1D) { in WriteLVecStandard2d_Assembly()
262 const CeedInt in_node = in_node_x + in_node_y * P_1D; in WriteLVecStandard2d_Assembly()
263 const CeedInt out_node = data.t_id_x + data.t_id_y * P_1D; in WriteLVecStandard2d_Assembly()
291 template <int NUM_COMP, int P_1D, int STRIDES_NODE, int STRIDES_COMP, int STRIDES_ELEM>
294 if (data.t_id_x < P_1D && data.t_id_y < P_1D) { in WriteLVecStrided2d()
295 const CeedInt node = data.t_id_x + data.t_id_y * P_1D; in WriteLVecStrided2d()
309 template <int NUM_COMP, int P_1D>
311 const CeedInt target_comp = n / (P_1D * P_1D * P_1D); in SetEVecStandard3d_Single()
312 const CeedInt target_node_x = n % P_1D; in SetEVecStandard3d_Single()
313 const CeedInt target_node_y = (n % (P_1D * P_1D)) / P_1D; in SetEVecStandard3d_Single()
314 const CeedInt target_node_z = (n % (P_1D * P_1D * P_1D)) / (P_1D * P_1D); in SetEVecStandard3d_Single()
317 r_v[target_node_z + target_comp * P_1D] = value; in SetEVecStandard3d_Single()
324 template <int NUM_COMP, int COMP_STRIDE, int P_1D>
327 if (data.t_id_x < P_1D && data.t_id_y < P_1D) { in ReadLVecStandard3d()
328 for (CeedInt z = 0; z < P_1D; z++) { in ReadLVecStandard3d()
329 const CeedInt node = data.t_id_x + data.t_id_y * P_1D + z * P_1D * P_1D; in ReadLVecStandard3d()
330 const CeedInt ind = indices[node + elem * P_1D * P_1D * P_1D]; in ReadLVecStandard3d()
332 …for (CeedInt comp = 0; comp < NUM_COMP; comp++) r_u[z + comp * P_1D] = d_u[ind + COMP_STRIDE * com… in ReadLVecStandard3d()
340 template <int NUM_COMP, int P_1D, int STRIDES_NODE, int STRIDES_COMP, int STRIDES_ELEM>
343 if (data.t_id_x < P_1D && data.t_id_y < P_1D) { in ReadLVecStrided3d()
344 for (CeedInt z = 0; z < P_1D; z++) { in ReadLVecStrided3d()
345 const CeedInt node = data.t_id_x + data.t_id_y * P_1D + z * P_1D * P_1D; in ReadLVecStrided3d()
348 …for (CeedInt comp = 0; comp < NUM_COMP; comp++) r_u[z + comp * P_1D] = d_u[ind + comp * STRIDES_CO… in ReadLVecStrided3d()
385 template <int NUM_COMP, int COMP_STRIDE, int P_1D>
388 if (data.t_id_x < P_1D && data.t_id_y < P_1D) { in WriteLVecStandard3d()
389 for (CeedInt z = 0; z < P_1D; z++) { in WriteLVecStandard3d()
390 const CeedInt node = data.t_id_x + data.t_id_y * P_1D + z * P_1D * P_1D; in WriteLVecStandard3d()
391 const CeedInt ind = indices[node + elem * P_1D * P_1D * P_1D]; in WriteLVecStandard3d()
393 …comp = 0; comp < NUM_COMP; comp++) atomicAdd(&d_v[ind + COMP_STRIDE * comp], r_v[z + comp * P_1D]); in WriteLVecStandard3d()
398 template <int NUM_COMP, int COMP_STRIDE, int P_1D>
402 const CeedInt target_comp = n / (P_1D * P_1D * P_1D); in WriteLVecStandard3d_Single()
403 const CeedInt target_node_x = n % P_1D; in WriteLVecStandard3d_Single()
404 const CeedInt target_node_y = (n % (P_1D * P_1D)) / P_1D; in WriteLVecStandard3d_Single()
405 const CeedInt target_node_z = (n % (P_1D * P_1D * P_1D)) / (P_1D * P_1D); in WriteLVecStandard3d_Single()
408 const CeedInt node = data.t_id_x + data.t_id_y * P_1D + target_node_z * P_1D * P_1D; in WriteLVecStandard3d_Single()
409 const CeedInt ind = indices[node + elem * P_1D * P_1D * P_1D]; in WriteLVecStandard3d_Single()
411 atomicAdd(&d_v[ind + COMP_STRIDE * target_comp], r_v[target_node_z + target_comp * P_1D]); in WriteLVecStandard3d_Single()
418 template <int NUM_COMP, int COMP_STRIDE, int P_1D>
421 const CeedInt elem_size = P_1D * P_1D * P_1D; in WriteLVecStandard3d_Assembly()
423 const CeedInt in_node_x = in % P_1D; in WriteLVecStandard3d_Assembly()
424 const CeedInt in_node_y = (in % (P_1D * P_1D)) / P_1D; in WriteLVecStandard3d_Assembly()
425 const CeedInt in_node_z = (in % elem_size) / (P_1D * P_1D); in WriteLVecStandard3d_Assembly()
428 if (data.t_id_x < P_1D && data.t_id_y < P_1D) { in WriteLVecStandard3d_Assembly()
429 const CeedInt in_node = in_node_x + in_node_y * P_1D + in_node_z * P_1D * P_1D; in WriteLVecStandard3d_Assembly()
430 for (CeedInt z = 0; z < P_1D; z++) { in WriteLVecStandard3d_Assembly()
431 const CeedInt out_node = data.t_id_x + data.t_id_y * P_1D + z * P_1D * P_1D; in WriteLVecStandard3d_Assembly()
436 d_v[elem * e_vec_size * e_vec_size + index] += r_v[z + comp * P_1D]; in WriteLVecStandard3d_Assembly()
462 template <int NUM_COMP, int P_1D, int STRIDES_NODE, int STRIDES_COMP, int STRIDES_ELEM>
465 if (data.t_id_x < P_1D && data.t_id_y < P_1D) { in WriteLVecStrided3d()
466 for (CeedInt z = 0; z < P_1D; z++) { in WriteLVecStrided3d()
467 const CeedInt node = data.t_id_x + data.t_id_y * P_1D + z * P_1D * P_1D; in WriteLVecStrided3d()
470 …(CeedInt comp = 0; comp < NUM_COMP; comp++) d_v[ind + comp * STRIDES_COMP] += r_v[z + comp * P_1D]; in WriteLVecStrided3d()