Lines Matching refs:impl

209   CeedOperator_Blocked *impl;  in CeedOperatorSetup_Blocked()  local
214 CeedCallBackend(CeedOperatorGetData(op, &impl)); in CeedOperatorSetup_Blocked()
217 CeedCallBackend(CeedQFunctionIsIdentity(qf, &impl->is_identity_qf)); in CeedOperatorSetup_Blocked()
222 CeedCallBackend(CeedCalloc(num_input_fields + num_output_fields, &impl->block_rstr)); in CeedOperatorSetup_Blocked()
223 CeedCallBackend(CeedCalloc(num_input_fields + num_output_fields, &impl->e_vecs_full)); in CeedOperatorSetup_Blocked()
225 CeedCallBackend(CeedCalloc(CEED_FIELD_MAX, &impl->skip_rstr_in)); in CeedOperatorSetup_Blocked()
226 CeedCallBackend(CeedCalloc(CEED_FIELD_MAX, &impl->skip_rstr_out)); in CeedOperatorSetup_Blocked()
227 CeedCallBackend(CeedCalloc(CEED_FIELD_MAX, &impl->e_data_out_indices)); in CeedOperatorSetup_Blocked()
228 CeedCallBackend(CeedCalloc(CEED_FIELD_MAX, &impl->apply_add_basis_out)); in CeedOperatorSetup_Blocked()
229 CeedCallBackend(CeedCalloc(CEED_FIELD_MAX, &impl->input_states)); in CeedOperatorSetup_Blocked()
230 CeedCallBackend(CeedCalloc(CEED_FIELD_MAX, &impl->e_vecs_in)); in CeedOperatorSetup_Blocked()
231 CeedCallBackend(CeedCalloc(CEED_FIELD_MAX, &impl->e_vecs_out)); in CeedOperatorSetup_Blocked()
232 CeedCallBackend(CeedCalloc(CEED_FIELD_MAX, &impl->q_vecs_in)); in CeedOperatorSetup_Blocked()
233 CeedCallBackend(CeedCalloc(CEED_FIELD_MAX, &impl->q_vecs_out)); in CeedOperatorSetup_Blocked()
235 impl->num_inputs = num_input_fields; in CeedOperatorSetup_Blocked()
236 impl->num_outputs = num_output_fields; in CeedOperatorSetup_Blocked()
240 …dOperatorSetupFields_Blocked(qf, op, true, impl->skip_rstr_in, NULL, NULL, block_size, impl->block… in CeedOperatorSetup_Blocked()
241impl->e_vecs_in, impl->q_vecs_in, 0, num_input_fields, Q)); in CeedOperatorSetup_Blocked()
243 …end(CeedOperatorSetupFields_Blocked(qf, op, false, impl->skip_rstr_out, impl->e_data_out_indices, in CeedOperatorSetup_Blocked()
244impl->block_rstr, impl->e_vecs_full, impl->e_vecs_out, impl->q_vecs_out, num_input_fields, in CeedOperatorSetup_Blocked()
248 if (impl->is_identity_qf) { in CeedOperatorSetup_Blocked()
257 impl->is_identity_rstr_op = true; in CeedOperatorSetup_Blocked()
259 CeedCallBackend(CeedVectorReferenceCopy(impl->q_vecs_in[0], &impl->q_vecs_out[0])); in CeedOperatorSetup_Blocked()
273 … CeedOperator_Blocked *impl, CeedRequest *request) { in CeedOperatorSetupInputs_Blocked() argument
293 if ((state != impl->input_states[i] || vec == in_vec) && !impl->skip_rstr_in[i]) { in CeedOperatorSetupInputs_Blocked()
294 …CeedCallBackend(CeedElemRestrictionApply(impl->block_rstr[i], CEED_NOTRANSPOSE, vec, impl->e_vecs_… in CeedOperatorSetupInputs_Blocked()
296 impl->input_states[i] = state; in CeedOperatorSetupInputs_Blocked()
298 …CeedCallBackend(CeedVectorGetArrayRead(impl->e_vecs_full[i], CEED_MEM_HOST, (const CeedScalar **)&… in CeedOperatorSetupInputs_Blocked()
310 … CeedScalar *e_data_full[2 * CEED_FIELD_MAX], CeedOperator_Blocked *impl) { in CeedOperatorInputBasis_Blocked() argument
337 …CeedCallBackend(CeedVectorSetArray(impl->q_vecs_in[i], CEED_MEM_HOST, CEED_USE_POINTER, &e_data_fu… in CeedOperatorInputBasis_Blocked()
345 …CeedCallBackend(CeedVectorSetArray(impl->e_vecs_in[i], CEED_MEM_HOST, CEED_USE_POINTER, &e_data_fu… in CeedOperatorInputBasis_Blocked()
346 …(CeedBasisApply(basis, block_size, CEED_NOTRANSPOSE, eval_mode, impl->e_vecs_in[i], impl->q_vecs_i… in CeedOperatorInputBasis_Blocked()
361 … CeedOperator op, CeedScalar *e_data_full[2 * CEED_FIELD_MAX], CeedOperator_Blocked *impl) { in CeedOperatorOutputBasis_Blocked() argument
383 CeedCallBackend(CeedVectorSetArray(impl->e_vecs_out[i], CEED_MEM_HOST, CEED_USE_POINTER, in CeedOperatorOutputBasis_Blocked()
386 …CeedBasisApplyAdd(basis, block_size, CEED_TRANSPOSE, eval_mode, impl->q_vecs_out[i], impl->e_vecs_… in CeedOperatorOutputBasis_Blocked()
388 …nd(CeedBasisApply(basis, block_size, CEED_TRANSPOSE, eval_mode, impl->q_vecs_out[i], impl->e_vecs_… in CeedOperatorOutputBasis_Blocked()
406 … bool skip_active, CeedScalar *e_data_full[2 * CEED_FIELD_MAX], CeedOperator_Blocked *impl) { in CeedOperatorRestoreInputs_Blocked() argument
423 …CeedCallBackend(CeedVectorRestoreArrayRead(impl->e_vecs_full[i], (const CeedScalar **)&e_data_full… in CeedOperatorRestoreInputs_Blocked()
440 CeedOperator_Blocked *impl; in CeedOperatorApplyAdd_Blocked() local
445 CeedCallBackend(CeedOperatorGetData(op, &impl)); in CeedOperatorApplyAdd_Blocked()
448 if (impl->is_identity_rstr_op) { in CeedOperatorApplyAdd_Blocked()
449 …CeedCallBackend(CeedElemRestrictionApply(impl->block_rstr[0], CEED_NOTRANSPOSE, in_vec, impl->e_ve… in CeedOperatorApplyAdd_Blocked()
450 …CeedCallBackend(CeedElemRestrictionApply(impl->block_rstr[1], CEED_TRANSPOSE, impl->e_vecs_full[0]… in CeedOperatorApplyAdd_Blocked()
461 …ed(num_input_fields, qf_input_fields, op_input_fields, in_vec, false, e_data_full, impl, request)); in CeedOperatorApplyAdd_Blocked()
465 if (impl->skip_rstr_out[i]) { in CeedOperatorApplyAdd_Blocked()
466 … e_data_full[i + num_input_fields] = e_data_full[impl->e_data_out_indices[i] + num_input_fields]; in CeedOperatorApplyAdd_Blocked()
468 …CeedCallBackend(CeedVectorGetArrayWrite(impl->e_vecs_full[i + impl->num_inputs], CEED_MEM_HOST, &e… in CeedOperatorApplyAdd_Blocked()
479 CeedCallBackend(CeedVectorSetArray(impl->q_vecs_out[i], CEED_MEM_HOST, CEED_USE_POINTER, in CeedOperatorApplyAdd_Blocked()
485 …d(e, Q, qf_input_fields, op_input_fields, num_input_fields, block_size, false, e_data_full, impl)); in CeedOperatorApplyAdd_Blocked()
488 if (!impl->is_identity_qf) { in CeedOperatorApplyAdd_Blocked()
489 CeedCallBackend(CeedQFunctionApply(qf, Q * block_size, impl->q_vecs_in, impl->q_vecs_out)); in CeedOperatorApplyAdd_Blocked()
494impl->apply_add_basis_out, op, e_data_full, impl)); in CeedOperatorApplyAdd_Blocked()
502 if (impl->skip_rstr_out[i]) continue; in CeedOperatorApplyAdd_Blocked()
504 …CeedCallBackend(CeedVectorRestoreArray(impl->e_vecs_full[i + impl->num_inputs], &e_data_full[i + n… in CeedOperatorApplyAdd_Blocked()
511 …llBackend(CeedElemRestrictionApply(impl->block_rstr[i + impl->num_inputs], CEED_TRANSPOSE, impl->e… in CeedOperatorApplyAdd_Blocked()
517 …storeInputs_Blocked(num_input_fields, qf_input_fields, op_input_fields, false, e_data_full, impl)); in CeedOperatorApplyAdd_Blocked()
535 CeedOperator_Blocked *impl; in CeedOperatorLinearAssembleQFunctionCore_Blocked() local
537 CeedCallBackend(CeedOperatorGetData(op, &impl)); in CeedOperatorLinearAssembleQFunctionCore_Blocked()
538 qf_size_in = impl->qf_size_in; in CeedOperatorLinearAssembleQFunctionCore_Blocked()
539 qf_size_out = impl->qf_size_out; in CeedOperatorLinearAssembleQFunctionCore_Blocked()
540 CeedVector l_vec = impl->qf_l_vec; in CeedOperatorLinearAssembleQFunctionCore_Blocked()
541 CeedElemRestriction block_rstr = impl->qf_block_rstr; in CeedOperatorLinearAssembleQFunctionCore_Blocked()
555 …CeedCheck(!impl->is_identity_rstr_op, ceed, CEED_ERROR_BACKEND, "Assembling restriction only opera… in CeedOperatorLinearAssembleQFunctionCore_Blocked()
558 …ocked(num_input_fields, qf_input_fields, op_input_fields, NULL, true, e_data_full, impl, request)); in CeedOperatorLinearAssembleQFunctionCore_Blocked()
570 CeedCallBackend(CeedVectorSetValue(impl->q_vecs_in[i], 0.0)); in CeedOperatorLinearAssembleQFunctionCore_Blocked()
576 impl->qf_size_in = qf_size_in; in CeedOperatorLinearAssembleQFunctionCore_Blocked()
594 impl->qf_size_out = qf_size_out; in CeedOperatorLinearAssembleQFunctionCore_Blocked()
602 impl->qf_l_vec = l_vec; in CeedOperatorLinearAssembleQFunctionCore_Blocked()
612 impl->qf_block_rstr = block_rstr; in CeedOperatorLinearAssembleQFunctionCore_Blocked()
630 …ed(e, Q, qf_input_fields, op_input_fields, num_input_fields, block_size, true, e_data_full, impl)); in CeedOperatorLinearAssembleQFunctionCore_Blocked()
649 CeedCallBackend(CeedVectorGetArray(impl->q_vecs_in[i], CEED_MEM_HOST, &array)); in CeedOperatorLinearAssembleQFunctionCore_Blocked()
651 CeedCallBackend(CeedVectorRestoreArray(impl->q_vecs_in[i], &array)); in CeedOperatorLinearAssembleQFunctionCore_Blocked()
654 if (!impl->is_identity_qf) { in CeedOperatorLinearAssembleQFunctionCore_Blocked()
664 …CeedCallBackend(CeedVectorSetArray(impl->q_vecs_out[out], CEED_MEM_HOST, CEED_USE_POINTER, l_vec_a… in CeedOperatorLinearAssembleQFunctionCore_Blocked()
671 … CeedCallBackend(CeedQFunctionApply(qf, Q * block_size, impl->q_vecs_in, impl->q_vecs_out)); in CeedOperatorLinearAssembleQFunctionCore_Blocked()
678 CeedCallBackend(CeedVectorGetArrayRead(impl->q_vecs_out[0], CEED_MEM_HOST, &array)); in CeedOperatorLinearAssembleQFunctionCore_Blocked()
680 CeedCallBackend(CeedVectorRestoreArrayRead(impl->q_vecs_out[0], &array)); in CeedOperatorLinearAssembleQFunctionCore_Blocked()
687 CeedCallBackend(CeedVectorGetArray(impl->q_vecs_in[i], CEED_MEM_HOST, &array)); in CeedOperatorLinearAssembleQFunctionCore_Blocked()
689 CeedCallBackend(CeedVectorRestoreArray(impl->q_vecs_in[i], &array)); in CeedOperatorLinearAssembleQFunctionCore_Blocked()
696 if (!impl->is_identity_qf) { in CeedOperatorLinearAssembleQFunctionCore_Blocked()
703 CeedCallBackend(CeedVectorTakeArray(impl->q_vecs_out[out], CEED_MEM_HOST, NULL)); in CeedOperatorLinearAssembleQFunctionCore_Blocked()
710 …estoreInputs_Blocked(num_input_fields, qf_input_fields, op_input_fields, true, e_data_full, impl)); in CeedOperatorLinearAssembleQFunctionCore_Blocked()
739 CeedOperator_Blocked *impl; in CeedOperatorDestroy_Blocked() local
741 CeedCallBackend(CeedOperatorGetData(op, &impl)); in CeedOperatorDestroy_Blocked()
743 CeedCallBackend(CeedFree(&impl->skip_rstr_in)); in CeedOperatorDestroy_Blocked()
744 CeedCallBackend(CeedFree(&impl->skip_rstr_out)); in CeedOperatorDestroy_Blocked()
745 CeedCallBackend(CeedFree(&impl->e_data_out_indices)); in CeedOperatorDestroy_Blocked()
746 CeedCallBackend(CeedFree(&impl->apply_add_basis_out)); in CeedOperatorDestroy_Blocked()
747 for (CeedInt i = 0; i < impl->num_inputs + impl->num_outputs; i++) { in CeedOperatorDestroy_Blocked()
748 CeedCallBackend(CeedElemRestrictionDestroy(&impl->block_rstr[i])); in CeedOperatorDestroy_Blocked()
749 CeedCallBackend(CeedVectorDestroy(&impl->e_vecs_full[i])); in CeedOperatorDestroy_Blocked()
751 CeedCallBackend(CeedFree(&impl->block_rstr)); in CeedOperatorDestroy_Blocked()
752 CeedCallBackend(CeedFree(&impl->e_vecs_full)); in CeedOperatorDestroy_Blocked()
753 CeedCallBackend(CeedFree(&impl->input_states)); in CeedOperatorDestroy_Blocked()
755 for (CeedInt i = 0; i < impl->num_inputs; i++) { in CeedOperatorDestroy_Blocked()
756 CeedCallBackend(CeedVectorDestroy(&impl->e_vecs_in[i])); in CeedOperatorDestroy_Blocked()
757 CeedCallBackend(CeedVectorDestroy(&impl->q_vecs_in[i])); in CeedOperatorDestroy_Blocked()
759 CeedCallBackend(CeedFree(&impl->e_vecs_in)); in CeedOperatorDestroy_Blocked()
760 CeedCallBackend(CeedFree(&impl->q_vecs_in)); in CeedOperatorDestroy_Blocked()
762 for (CeedInt i = 0; i < impl->num_outputs; i++) { in CeedOperatorDestroy_Blocked()
763 CeedCallBackend(CeedVectorDestroy(&impl->e_vecs_out[i])); in CeedOperatorDestroy_Blocked()
764 CeedCallBackend(CeedVectorDestroy(&impl->q_vecs_out[i])); in CeedOperatorDestroy_Blocked()
766 CeedCallBackend(CeedFree(&impl->e_vecs_out)); in CeedOperatorDestroy_Blocked()
767 CeedCallBackend(CeedFree(&impl->q_vecs_out)); in CeedOperatorDestroy_Blocked()
770 CeedCallBackend(CeedVectorDestroy(&impl->qf_l_vec)); in CeedOperatorDestroy_Blocked()
771 CeedCallBackend(CeedElemRestrictionDestroy(&impl->qf_block_rstr)); in CeedOperatorDestroy_Blocked()
773 CeedCallBackend(CeedFree(&impl)); in CeedOperatorDestroy_Blocked()
782 CeedOperator_Blocked *impl; in CeedOperatorCreate_Blocked() local
785 CeedCallBackend(CeedCalloc(1, &impl)); in CeedOperatorCreate_Blocked()
786 CeedCallBackend(CeedOperatorSetData(op, impl)); in CeedOperatorCreate_Blocked()