Lines Matching refs:impl

36   CeedBasis_Magma  *impl;  in CeedBasisApplyCore_Magma()  local
40 CeedCallBackend(CeedBasisGetData(basis, &impl)); in CeedBasisApplyCore_Magma()
117 …void *args[] = {&impl->d_interp_1d, &d_u, &u_elem_stride, &u_comp_stride, &d_v, &v_elem_stride, … in CeedBasisApplyCore_Magma()
120 …eedCallBackend(CeedRunKernelDimSharedMagma(ceed, apply_add ? impl->InterpTransposeAdd : impl->Inte… in CeedBasisApplyCore_Magma()
123 …CeedCallBackend(CeedRunKernelDimSharedMagma(ceed, impl->Interp, NULL, grid, num_threads, num_t_col… in CeedBasisApplyCore_Magma()
194 …void *args[] = {&impl->d_interp_1d, &impl->d_grad_1d, &d_u, &u_elem_stride, &u_comp_str… in CeedBasisApplyCore_Magma()
198 …CeedCallBackend(CeedRunKernelDimSharedMagma(ceed, apply_add ? impl->GradTransposeAdd : impl->GradT… in CeedBasisApplyCore_Magma()
201 …CeedCallBackend(CeedRunKernelDimSharedMagma(ceed, impl->Grad, NULL, grid, num_threads, num_t_col, … in CeedBasisApplyCore_Magma()
206 …CeedCheck(impl->d_q_weight_1d, ceed, CEED_ERROR_BACKEND, "%s not supported; q_weight_1d not set", … in CeedBasisApplyCore_Magma()
231 void *args[] = {&impl->d_q_weight_1d, &d_v, &elem_dofs_size, &num_elem}; in CeedBasisApplyCore_Magma()
233 …CeedCallBackend(CeedRunKernelDimSharedMagma(ceed, impl->Weight, NULL, grid, num_threads, num_t_col… in CeedBasisApplyCore_Magma()
284 CeedBasisNonTensor_Magma *impl; in CeedBasisApplyNonTensorCore_Magma() local
288 CeedCallBackend(CeedBasisGetData(basis, &impl)); in CeedBasisApplyNonTensorCore_Magma()
304 …X_P && Q <= MAGMA_NONTENSOR_CUSTOM_KERNEL_MAX_Q && (e_mode != CEED_EVAL_WEIGHT || !impl->Weight)) { in CeedBasisApplyNonTensorCore_Magma()
316 if (!impl->NB_interp[iN]) { in CeedBasisApplyNonTensorCore_Magma()
340 impl->NB_interp[iN] = nontensor_rtc_get_nb(arch, 'n', q_comp_interp, P, Q, n_array[iN]); in CeedBasisApplyNonTensorCore_Magma()
341 impl->NB_interp_t[iN] = nontensor_rtc_get_nb(arch, 't', q_comp_interp, P, Q, n_array[iN]); in CeedBasisApplyNonTensorCore_Magma()
342 impl->NB_deriv[iN] = nontensor_rtc_get_nb(arch, 'n', q_comp_deriv, P, Q, n_array[iN]); in CeedBasisApplyNonTensorCore_Magma()
343 impl->NB_deriv_t[iN] = nontensor_rtc_get_nb(arch, 't', q_comp_deriv, P, Q, n_array[iN]); in CeedBasisApplyNonTensorCore_Magma()
352 if (!impl->Weight) { in CeedBasisApplyNonTensorCore_Magma()
357 …CeedCallBackend(CeedCompileMagma(ceed_delegate, basis_kernel_source, &impl->module[iN], 8, "BASIS_… in CeedBasisApplyNonTensorCore_Magma()
358 …_Q_COMP_DERIV", q_comp_deriv, "BASIS_P", P, "BASIS_Q", Q, "BASIS_NB_INTERP_N", impl->NB_interp[iN], in CeedBasisApplyNonTensorCore_Magma()
359 …"BASIS_NB_INTERP_T", impl->NB_interp_t[iN], "BASIS_NB_DERIV_N", impl->NB_deriv[iN], "BASIS_NB_DERI… in CeedBasisApplyNonTensorCore_Magma()
360 impl->NB_deriv_t[iN])); in CeedBasisApplyNonTensorCore_Magma()
361 …CeedCallBackend(CeedGetKernelMagma(ceed, impl->module[iN], "magma_interp_nontensor_n", &impl->Inte… in CeedBasisApplyNonTensorCore_Magma()
362 …CeedCallBackend(CeedGetKernelMagma(ceed, impl->module[iN], "magma_interp_nontensor_t", &impl->Inte… in CeedBasisApplyNonTensorCore_Magma()
363 …CeedCallBackend(CeedGetKernelMagma(ceed, impl->module[iN], "magma_interp_nontensor_ta", &impl->Int… in CeedBasisApplyNonTensorCore_Magma()
364 …CeedCallBackend(CeedGetKernelMagma(ceed, impl->module[iN], "magma_deriv_nontensor_n", &impl->Deriv… in CeedBasisApplyNonTensorCore_Magma()
365 …CeedCallBackend(CeedGetKernelMagma(ceed, impl->module[iN], "magma_deriv_nontensor_t", &impl->Deriv… in CeedBasisApplyNonTensorCore_Magma()
366 …CeedCallBackend(CeedGetKernelMagma(ceed, impl->module[iN], "magma_deriv_nontensor_ta", &impl->Deri… in CeedBasisApplyNonTensorCore_Magma()
367 if (!impl->Weight) { in CeedBasisApplyNonTensorCore_Magma()
368 …CeedCallBackend(CeedGetKernelMagma(ceed, impl->module[iN], "magma_weight_nontensor", &impl->Weight… in CeedBasisApplyNonTensorCore_Magma()
387 d_b = impl->d_interp; in CeedBasisApplyNonTensorCore_Magma()
390 d_b = impl->d_grad; in CeedBasisApplyNonTensorCore_Magma()
393 d_b = impl->d_div; in CeedBasisApplyNonTensorCore_Magma()
396 d_b = impl->d_curl; in CeedBasisApplyNonTensorCore_Magma()
410 Kernel = apply_add ? impl->InterpTransposeAdd[iN] : impl->InterpTranspose[iN]; in CeedBasisApplyNonTensorCore_Magma()
411 NB = impl->NB_interp_t[iN]; in CeedBasisApplyNonTensorCore_Magma()
413 Kernel = impl->Interp[iN]; in CeedBasisApplyNonTensorCore_Magma()
414 NB = impl->NB_interp[iN]; in CeedBasisApplyNonTensorCore_Magma()
418 Kernel = apply_add ? impl->DerivTransposeAdd[iN] : impl->DerivTranspose[iN]; in CeedBasisApplyNonTensorCore_Magma()
419 NB = impl->NB_deriv_t[iN]; in CeedBasisApplyNonTensorCore_Magma()
421 Kernel = impl->Deriv[iN]; in CeedBasisApplyNonTensorCore_Magma()
422 NB = impl->NB_deriv[iN]; in CeedBasisApplyNonTensorCore_Magma()
445 …CeedCheck(impl->d_q_weight, ceed, CEED_ERROR_BACKEND, "%s not supported; q_weight not set", CeedEv… in CeedBasisApplyNonTensorCore_Magma()
449 void *args[] = {&num_elem, &impl->d_q_weight, &d_v}; in CeedBasisApplyNonTensorCore_Magma()
451 …CeedCallBackend(CeedRunKernelDimSharedMagma(ceed, impl->Weight, NULL, grid, Q, num_t_col, 1, share… in CeedBasisApplyNonTensorCore_Magma()
483 CeedBasis_Magma *impl; in CeedBasisDestroy_Magma() local
486 CeedCallBackend(CeedBasisGetData(basis, &impl)); in CeedBasisDestroy_Magma()
488 CeedCallHip(ceed, hipModuleUnload(impl->module)); in CeedBasisDestroy_Magma()
490 CeedCallCuda(ceed, cuModuleUnload(impl->module)); in CeedBasisDestroy_Magma()
492 CeedCallBackend(magma_free(impl->d_interp_1d)); in CeedBasisDestroy_Magma()
493 CeedCallBackend(magma_free(impl->d_grad_1d)); in CeedBasisDestroy_Magma()
494 if (impl->d_q_weight_1d) CeedCallBackend(magma_free(impl->d_q_weight_1d)); in CeedBasisDestroy_Magma()
495 CeedCallBackend(CeedFree(&impl)); in CeedBasisDestroy_Magma()
505 CeedBasisNonTensor_Magma *impl; in CeedBasisDestroyNonTensor_Magma() local
508 CeedCallBackend(CeedBasisGetData(basis, &impl)); in CeedBasisDestroyNonTensor_Magma()
510 if (impl->module[in]) { in CeedBasisDestroyNonTensor_Magma()
512 CeedCallHip(ceed, hipModuleUnload(impl->module[in])); in CeedBasisDestroyNonTensor_Magma()
514 CeedCallCuda(ceed, cuModuleUnload(impl->module[in])); in CeedBasisDestroyNonTensor_Magma()
518 CeedCallBackend(magma_free(impl->d_interp)); in CeedBasisDestroyNonTensor_Magma()
519 CeedCallBackend(magma_free(impl->d_grad)); in CeedBasisDestroyNonTensor_Magma()
520 CeedCallBackend(magma_free(impl->d_div)); in CeedBasisDestroyNonTensor_Magma()
521 CeedCallBackend(magma_free(impl->d_curl)); in CeedBasisDestroyNonTensor_Magma()
522 if (impl->d_q_weight) CeedCallBackend(magma_free(impl->d_q_weight)); in CeedBasisDestroyNonTensor_Magma()
523 CeedCallBackend(CeedFree(&impl)); in CeedBasisDestroyNonTensor_Magma()
540 CeedBasis_Magma *impl; in CeedBasisCreateTensorH1_Magma() local
544 CeedCallBackend(CeedCalloc(1, &impl)); in CeedBasisCreateTensorH1_Magma()
548 CeedCallBackend(magma_malloc((void **)&impl->d_q_weight_1d, Q_1d * sizeof(q_weight_1d[0]))); in CeedBasisCreateTensorH1_Magma()
549 …magma_setvector(Q_1d, sizeof(q_weight_1d[0]), q_weight_1d, 1, impl->d_q_weight_1d, 1, data->queue); in CeedBasisCreateTensorH1_Magma()
551 CeedCallBackend(magma_malloc((void **)&impl->d_interp_1d, Q_1d * P_1d * sizeof(interp_1d[0]))); in CeedBasisCreateTensorH1_Magma()
552 …magma_setvector(Q_1d * P_1d, sizeof(interp_1d[0]), interp_1d, 1, impl->d_interp_1d, 1, data->queue… in CeedBasisCreateTensorH1_Magma()
553 CeedCallBackend(magma_malloc((void **)&impl->d_grad_1d, Q_1d * P_1d * sizeof(grad_1d[0]))); in CeedBasisCreateTensorH1_Magma()
554 magma_setvector(Q_1d * P_1d, sizeof(grad_1d[0]), grad_1d, 1, impl->d_grad_1d, 1, data->queue); in CeedBasisCreateTensorH1_Magma()
590 …CeedCallBackend(CeedCompileMagma(ceed_delegate, basis_kernel_source, &impl->module, 5, "BASIS_DIM"… in CeedBasisCreateTensorH1_Magma()
594 … CeedCallBackend(CeedGetKernelMagma(ceed, impl->module, "magma_interpn_1d_kernel", &impl->Interp)); in CeedBasisCreateTensorH1_Magma()
595 …CeedCallBackend(CeedGetKernelMagma(ceed, impl->module, "magma_interpt_1d_kernel", &impl->InterpTra… in CeedBasisCreateTensorH1_Magma()
596 …CeedCallBackend(CeedGetKernelMagma(ceed, impl->module, "magma_interpta_1d_kernel", &impl->InterpTr… in CeedBasisCreateTensorH1_Magma()
597 CeedCallBackend(CeedGetKernelMagma(ceed, impl->module, "magma_gradn_1d_kernel", &impl->Grad)); in CeedBasisCreateTensorH1_Magma()
598 …CeedCallBackend(CeedGetKernelMagma(ceed, impl->module, "magma_gradt_1d_kernel", &impl->GradTranspo… in CeedBasisCreateTensorH1_Magma()
599 …CeedCallBackend(CeedGetKernelMagma(ceed, impl->module, "magma_gradta_1d_kernel", &impl->GradTransp… in CeedBasisCreateTensorH1_Magma()
600 … CeedCallBackend(CeedGetKernelMagma(ceed, impl->module, "magma_weight_1d_kernel", &impl->Weight)); in CeedBasisCreateTensorH1_Magma()
603 … CeedCallBackend(CeedGetKernelMagma(ceed, impl->module, "magma_interpn_2d_kernel", &impl->Interp)); in CeedBasisCreateTensorH1_Magma()
604 …CeedCallBackend(CeedGetKernelMagma(ceed, impl->module, "magma_interpt_2d_kernel", &impl->InterpTra… in CeedBasisCreateTensorH1_Magma()
605 …CeedCallBackend(CeedGetKernelMagma(ceed, impl->module, "magma_interpta_2d_kernel", &impl->InterpTr… in CeedBasisCreateTensorH1_Magma()
606 CeedCallBackend(CeedGetKernelMagma(ceed, impl->module, "magma_gradn_2d_kernel", &impl->Grad)); in CeedBasisCreateTensorH1_Magma()
607 …CeedCallBackend(CeedGetKernelMagma(ceed, impl->module, "magma_gradt_2d_kernel", &impl->GradTranspo… in CeedBasisCreateTensorH1_Magma()
608 …CeedCallBackend(CeedGetKernelMagma(ceed, impl->module, "magma_gradta_2d_kernel", &impl->GradTransp… in CeedBasisCreateTensorH1_Magma()
609 … CeedCallBackend(CeedGetKernelMagma(ceed, impl->module, "magma_weight_2d_kernel", &impl->Weight)); in CeedBasisCreateTensorH1_Magma()
612 … CeedCallBackend(CeedGetKernelMagma(ceed, impl->module, "magma_interpn_3d_kernel", &impl->Interp)); in CeedBasisCreateTensorH1_Magma()
613 …CeedCallBackend(CeedGetKernelMagma(ceed, impl->module, "magma_interpt_3d_kernel", &impl->InterpTra… in CeedBasisCreateTensorH1_Magma()
614 …CeedCallBackend(CeedGetKernelMagma(ceed, impl->module, "magma_interpta_3d_kernel", &impl->InterpTr… in CeedBasisCreateTensorH1_Magma()
615 CeedCallBackend(CeedGetKernelMagma(ceed, impl->module, "magma_gradn_3d_kernel", &impl->Grad)); in CeedBasisCreateTensorH1_Magma()
616 …CeedCallBackend(CeedGetKernelMagma(ceed, impl->module, "magma_gradt_3d_kernel", &impl->GradTranspo… in CeedBasisCreateTensorH1_Magma()
617 …CeedCallBackend(CeedGetKernelMagma(ceed, impl->module, "magma_gradta_3d_kernel", &impl->GradTransp… in CeedBasisCreateTensorH1_Magma()
618 … CeedCallBackend(CeedGetKernelMagma(ceed, impl->module, "magma_weight_3d_kernel", &impl->Weight)); in CeedBasisCreateTensorH1_Magma()
628 CeedCallBackend(CeedBasisSetData(basis, impl)); in CeedBasisCreateTensorH1_Magma()
646 CeedBasisNonTensor_Magma *impl; in CeedBasisCreateH1_Magma() local
650 CeedCallBackend(CeedCalloc(1, &impl)); in CeedBasisCreateH1_Magma()
654 CeedCallBackend(magma_malloc((void **)&impl->d_q_weight, num_qpts * sizeof(q_weight[0]))); in CeedBasisCreateH1_Magma()
655 magma_setvector(num_qpts, sizeof(q_weight[0]), q_weight, 1, impl->d_q_weight, 1, data->queue); in CeedBasisCreateH1_Magma()
661 …CeedCallBackend(magma_malloc((void **)&impl->d_interp, num_qpts * num_nodes * q_comp_interp * size… in CeedBasisCreateH1_Magma()
662 …magma_setvector(num_qpts * num_nodes * q_comp_interp, sizeof(interp[0]), interp, 1, impl->d_interp… in CeedBasisCreateH1_Magma()
668 …CeedCallBackend(magma_malloc((void **)&impl->d_grad, num_qpts * num_nodes * q_comp_grad * sizeof(g… in CeedBasisCreateH1_Magma()
669 …magma_setvector(num_qpts * num_nodes * q_comp_grad, sizeof(grad[0]), grad, 1, impl->d_grad, 1, dat… in CeedBasisCreateH1_Magma()
686 …CeedCallBackend(CeedCompileMagma(ceed_delegate, basis_kernel_source, &impl->module[0], 1, "BASIS_Q… in CeedBasisCreateH1_Magma()
687 …CeedCallBackend(CeedGetKernelMagma(ceed, impl->module[0], "magma_weight_nontensor", &impl->Weight)… in CeedBasisCreateH1_Magma()
693 CeedCallBackend(CeedBasisSetData(basis, impl)); in CeedBasisCreateH1_Magma()
710 CeedBasisNonTensor_Magma *impl; in CeedBasisCreateHdiv_Magma() local
714 CeedCallBackend(CeedCalloc(1, &impl)); in CeedBasisCreateHdiv_Magma()
718 CeedCallBackend(magma_malloc((void **)&impl->d_q_weight, num_qpts * sizeof(q_weight[0]))); in CeedBasisCreateHdiv_Magma()
719 magma_setvector(num_qpts, sizeof(q_weight[0]), q_weight, 1, impl->d_q_weight, 1, data->queue); in CeedBasisCreateHdiv_Magma()
725 …CeedCallBackend(magma_malloc((void **)&impl->d_interp, num_qpts * num_nodes * q_comp_interp * size… in CeedBasisCreateHdiv_Magma()
726 …magma_setvector(num_qpts * num_nodes * q_comp_interp, sizeof(interp[0]), interp, 1, impl->d_interp… in CeedBasisCreateHdiv_Magma()
732 …CeedCallBackend(magma_malloc((void **)&impl->d_div, num_qpts * num_nodes * q_comp_div * sizeof(div… in CeedBasisCreateHdiv_Magma()
733 …magma_setvector(num_qpts * num_nodes * q_comp_div, sizeof(div[0]), div, 1, impl->d_div, 1, data->q… in CeedBasisCreateHdiv_Magma()
750 …CeedCallBackend(CeedCompileMagma(ceed_delegate, basis_kernel_source, &impl->module[0], 1, "BASIS_Q… in CeedBasisCreateHdiv_Magma()
751 …CeedCallBackend(CeedGetKernelMagma(ceed, impl->module[0], "magma_weight_nontensor", &impl->Weight)… in CeedBasisCreateHdiv_Magma()
757 CeedCallBackend(CeedBasisSetData(basis, impl)); in CeedBasisCreateHdiv_Magma()
774 CeedBasisNonTensor_Magma *impl; in CeedBasisCreateHcurl_Magma() local
778 CeedCallBackend(CeedCalloc(1, &impl)); in CeedBasisCreateHcurl_Magma()
782 CeedCallBackend(magma_malloc((void **)&impl->d_q_weight, num_qpts * sizeof(q_weight[0]))); in CeedBasisCreateHcurl_Magma()
783 magma_setvector(num_qpts, sizeof(q_weight[0]), q_weight, 1, impl->d_q_weight, 1, data->queue); in CeedBasisCreateHcurl_Magma()
789 …CeedCallBackend(magma_malloc((void **)&impl->d_interp, num_qpts * num_nodes * q_comp_interp * size… in CeedBasisCreateHcurl_Magma()
790 …magma_setvector(num_qpts * num_nodes * q_comp_interp, sizeof(interp[0]), interp, 1, impl->d_interp… in CeedBasisCreateHcurl_Magma()
796 …CeedCallBackend(magma_malloc((void **)&impl->d_curl, num_qpts * num_nodes * q_comp_curl * sizeof(c… in CeedBasisCreateHcurl_Magma()
797 …magma_setvector(num_qpts * num_nodes * q_comp_curl, sizeof(curl[0]), curl, 1, impl->d_curl, 1, dat… in CeedBasisCreateHcurl_Magma()
814 …CeedCallBackend(CeedCompileMagma(ceed_delegate, basis_kernel_source, &impl->module[0], 1, "BASIS_Q… in CeedBasisCreateHcurl_Magma()
815 …CeedCallBackend(CeedGetKernelMagma(ceed, impl->module[0], "magma_weight_nontensor", &impl->Weight)… in CeedBasisCreateHcurl_Magma()
821 CeedCallBackend(CeedBasisSetData(basis, impl)); in CeedBasisCreateHcurl_Magma()