Skip to content

Commit 0b54870

Browse files
authored
Merge pull request #806 from CEED/jeremy/get-fields
Promote Field Getters to Public API
2 parents 8ef3655 + ce4822f commit 0b54870

39 files changed

Lines changed: 2708 additions & 1590 deletions

backends/blocked/ceed-blocked-operator.c

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -36,14 +36,14 @@ static int CeedOperatorSetupFields_Blocked(CeedQFunction qf,
3636
CeedOperatorField *op_fields;
3737
CeedQFunctionField *qf_fields;
3838
if (inOrOut) {
39-
ierr = CeedOperatorGetFields(op, NULL, &op_fields);
39+
ierr = CeedOperatorGetFields(op, NULL, NULL, NULL, &op_fields);
4040
CeedChkBackend(ierr);
41-
ierr = CeedQFunctionGetFields(qf, NULL, &qf_fields);
41+
ierr = CeedQFunctionGetFields(qf, NULL, NULL, NULL, &qf_fields);
4242
CeedChkBackend(ierr);
4343
} else {
44-
ierr = CeedOperatorGetFields(op, &op_fields, NULL);
44+
ierr = CeedOperatorGetFields(op, NULL, &op_fields, NULL, NULL);
4545
CeedChkBackend(ierr);
46-
ierr = CeedQFunctionGetFields(qf, &qf_fields, NULL);
46+
ierr = CeedQFunctionGetFields(qf, NULL, &qf_fields, NULL, NULL);
4747
CeedChkBackend(ierr);
4848
}
4949
const CeedInt blk_size = 8;
@@ -150,13 +150,13 @@ static int CeedOperatorSetup_Blocked(CeedOperator op) {
150150
CeedInt Q, num_input_fields, num_output_fields;
151151
ierr = CeedOperatorGetNumQuadraturePoints(op, &Q); CeedChkBackend(ierr);
152152
ierr = CeedQFunctionIsIdentity(qf, &impl->is_identity_qf); CeedChkBackend(ierr);
153-
ierr= CeedQFunctionGetNumArgs(qf, &num_input_fields, &num_output_fields);
154-
CeedChkBackend(ierr);
155153
CeedOperatorField *op_input_fields, *op_output_fields;
156-
ierr = CeedOperatorGetFields(op, &op_input_fields, &op_output_fields);
154+
ierr = CeedOperatorGetFields(op, &num_input_fields, &op_input_fields,
155+
&num_output_fields, &op_output_fields);
157156
CeedChkBackend(ierr);
158157
CeedQFunctionField *qf_input_fields, *qf_output_fields;
159-
ierr = CeedQFunctionGetFields(qf, &qf_input_fields, &qf_output_fields);
158+
ierr = CeedQFunctionGetFields(qf, NULL, &qf_input_fields, NULL,
159+
&qf_output_fields);
160160
CeedChkBackend(ierr);
161161

162162
// Allocate
@@ -194,7 +194,7 @@ static int CeedOperatorSetup_Blocked(CeedOperator op) {
194194
if (impl->is_identity_qf) {
195195
CeedEvalMode in_mode, out_mode;
196196
CeedQFunctionField *in_fields, *out_fields;
197-
ierr = CeedQFunctionGetFields(qf, &in_fields, &out_fields);
197+
ierr = CeedQFunctionGetFields(qf, NULL, &in_fields, NULL, &out_fields);
198198
CeedChkBackend(ierr);
199199
ierr = CeedQFunctionFieldGetEvalMode(in_fields[0], &in_mode);
200200
CeedChkBackend(ierr);
@@ -451,13 +451,13 @@ static int CeedOperatorApplyAdd_Blocked(CeedOperator op, CeedVector in_vec,
451451
CeedInt num_blks = (num_elem/blk_size) + !!(num_elem%blk_size);
452452
CeedQFunction qf;
453453
ierr = CeedOperatorGetQFunction(op, &qf); CeedChkBackend(ierr);
454-
ierr= CeedQFunctionGetNumArgs(qf, &num_input_fields, &num_output_fields);
455-
CeedChkBackend(ierr);
456454
CeedOperatorField *op_input_fields, *op_output_fields;
457-
ierr = CeedOperatorGetFields(op, &op_input_fields, &op_output_fields);
455+
ierr = CeedOperatorGetFields(op, &num_input_fields, &op_input_fields,
456+
&num_output_fields, &op_output_fields);
458457
CeedChkBackend(ierr);
459458
CeedQFunctionField *qf_input_fields, *qf_output_fields;
460-
ierr = CeedQFunctionGetFields(qf, &qf_input_fields, &qf_output_fields);
459+
ierr = CeedQFunctionGetFields(qf, NULL, &qf_input_fields, NULL,
460+
&qf_output_fields);
461461
CeedChkBackend(ierr);
462462
CeedEvalMode eval_mode;
463463
CeedVector vec;
@@ -558,13 +558,13 @@ static int CeedOperatorLinearAssembleQFunction_Blocked(CeedOperator op,
558558
CeedInt num_blks = (num_elem/blk_size) + !!(num_elem%blk_size);
559559
CeedQFunction qf;
560560
ierr = CeedOperatorGetQFunction(op, &qf); CeedChkBackend(ierr);
561-
ierr= CeedQFunctionGetNumArgs(qf, &num_input_fields, &num_output_fields);
562-
CeedChkBackend(ierr);
563561
CeedOperatorField *op_input_fields, *op_output_fields;
564-
ierr = CeedOperatorGetFields(op, &op_input_fields, &op_output_fields);
562+
ierr = CeedOperatorGetFields(op, &num_input_fields, &op_input_fields,
563+
&num_output_fields, &op_output_fields);
565564
CeedChkBackend(ierr);
566565
CeedQFunctionField *qf_input_fields, *qf_output_fields;
567-
ierr = CeedQFunctionGetFields(qf, &qf_input_fields, &qf_output_fields);
566+
ierr = CeedQFunctionGetFields(qf, NULL, &qf_input_fields, NULL,
567+
&qf_output_fields);
568568
CeedChkBackend(ierr);
569569
CeedVector vec, lvec;
570570
CeedInt num_active_in = 0, num_active_out = 0;

backends/cuda-gen/ceed-cuda-gen-operator-build.cpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -768,13 +768,11 @@ extern "C" int CeedCudaGenOperatorBuild(CeedOperator op) {
768768
numoutputfields, ncomp, dim = 0, lsize;
769769
ierr = CeedOperatorGetNumQuadraturePoints(op, &Q); CeedChkBackend(ierr);
770770
ierr = CeedOperatorGetNumElements(op, &numelements); CeedChkBackend(ierr);
771-
ierr = CeedQFunctionGetNumArgs(qf, &numinputfields, &numoutputfields);
772-
CeedChkBackend(ierr);
773771
CeedOperatorField *opinputfields, *opoutputfields;
774-
ierr = CeedOperatorGetFields(op, &opinputfields, &opoutputfields);
772+
ierr = CeedOperatorGetFields(op, &numinputfields, &opinputfields, &numoutputfields, &opoutputfields);
775773
CeedChkBackend(ierr);
776774
CeedQFunctionField *qfinputfields, *qfoutputfields;
777-
ierr = CeedQFunctionGetFields(qf, &qfinputfields, &qfoutputfields);
775+
ierr = CeedQFunctionGetFields(qf, NULL, &qfinputfields, NULL, &qfoutputfields);
778776
CeedChkBackend(ierr);
779777
CeedEvalMode emode;
780778
CeedBasis basis;

backends/cuda-gen/ceed-cuda-gen-operator.c

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -129,13 +129,12 @@ static int CeedOperatorApplyAdd_Cuda_gen(CeedOperator op, CeedVector invec,
129129
ierr = CeedQFunctionGetData(qf, &qf_data); CeedChkBackend(ierr);
130130
CeedInt nelem, numinputfields, numoutputfields;
131131
ierr = CeedOperatorGetNumElements(op, &nelem); CeedChkBackend(ierr);
132-
ierr = CeedQFunctionGetNumArgs(qf, &numinputfields, &numoutputfields);
133-
CeedChkBackend(ierr);
134132
CeedOperatorField *opinputfields, *opoutputfields;
135-
ierr = CeedOperatorGetFields(op, &opinputfields, &opoutputfields);
133+
ierr = CeedOperatorGetFields(op, &numinputfields, &opinputfields,
134+
&numoutputfields, &opoutputfields);
136135
CeedChkBackend(ierr);
137136
CeedQFunctionField *qfinputfields, *qfoutputfields;
138-
ierr = CeedQFunctionGetFields(qf, &qfinputfields, &qfoutputfields);
137+
ierr = CeedQFunctionGetFields(qf, NULL, &qfinputfields, NULL, &qfoutputfields);
139138
CeedChkBackend(ierr);
140139
CeedEvalMode emode;
141140
CeedVector vec, outvecs[16] = {};

backends/cuda/ceed-cuda-operator.c

Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -91,14 +91,14 @@ static int CeedOperatorSetupFields_Cuda(CeedQFunction qf, CeedOperator op,
9191
bool skiprestrict;
9292

9393
if (inOrOut) {
94-
ierr = CeedOperatorGetFields(op, NULL, &opfields);
94+
ierr = CeedOperatorGetFields(op, NULL, NULL, NULL, &opfields);
9595
CeedChkBackend(ierr);
96-
ierr = CeedQFunctionGetFields(qf, NULL, &qffields);
96+
ierr = CeedQFunctionGetFields(qf, NULL, NULL, NULL, &qffields);
9797
CeedChkBackend(ierr);
9898
} else {
99-
ierr = CeedOperatorGetFields(op, &opfields, NULL);
99+
ierr = CeedOperatorGetFields(op, NULL, &opfields, NULL, NULL);
100100
CeedChkBackend(ierr);
101-
ierr = CeedQFunctionGetFields(qf, &qffields, NULL);
101+
ierr = CeedQFunctionGetFields(qf, NULL, &qffields, NULL, NULL);
102102
CeedChkBackend(ierr);
103103
}
104104

@@ -198,13 +198,13 @@ static int CeedOperatorSetup_Cuda(CeedOperator op) {
198198
CeedInt Q, numelements, numinputfields, numoutputfields;
199199
ierr = CeedOperatorGetNumQuadraturePoints(op, &Q); CeedChkBackend(ierr);
200200
ierr = CeedOperatorGetNumElements(op, &numelements); CeedChkBackend(ierr);
201-
ierr = CeedQFunctionGetNumArgs(qf, &numinputfields, &numoutputfields);
202201
CeedChkBackend(ierr);
203202
CeedOperatorField *opinputfields, *opoutputfields;
204-
ierr = CeedOperatorGetFields(op, &opinputfields, &opoutputfields);
203+
ierr = CeedOperatorGetFields(op, &numinputfields, &opinputfields,
204+
&numoutputfields, &opoutputfields);
205205
CeedChkBackend(ierr);
206206
CeedQFunctionField *qfinputfields, *qfoutputfields;
207-
ierr = CeedQFunctionGetFields(qf, &qfinputfields, &qfoutputfields);
207+
ierr = CeedQFunctionGetFields(qf, NULL, &qfinputfields, NULL, &qfoutputfields);
208208
CeedChkBackend(ierr);
209209

210210
// Allocate
@@ -396,13 +396,13 @@ static int CeedOperatorApplyAdd_Cuda(CeedOperator op, CeedVector invec,
396396
CeedInt Q, numelements, elemsize, numinputfields, numoutputfields, size;
397397
ierr = CeedOperatorGetNumQuadraturePoints(op, &Q); CeedChkBackend(ierr);
398398
ierr = CeedOperatorGetNumElements(op, &numelements); CeedChkBackend(ierr);
399-
ierr = CeedQFunctionGetNumArgs(qf, &numinputfields, &numoutputfields);
400399
CeedChkBackend(ierr);
401400
CeedOperatorField *opinputfields, *opoutputfields;
402-
ierr = CeedOperatorGetFields(op, &opinputfields, &opoutputfields);
401+
ierr = CeedOperatorGetFields(op, &numinputfields, &opinputfields,
402+
&numoutputfields, &opoutputfields);
403403
CeedChkBackend(ierr);
404404
CeedQFunctionField *qfinputfields, *qfoutputfields;
405-
ierr = CeedQFunctionGetFields(qf, &qfinputfields, &qfoutputfields);
405+
ierr = CeedQFunctionGetFields(qf, NULL, &qfinputfields, NULL, &qfoutputfields);
406406
CeedChkBackend(ierr);
407407
CeedEvalMode emode;
408408
CeedVector vec;
@@ -531,13 +531,13 @@ static int CeedOperatorLinearAssembleQFunction_Cuda(CeedOperator op,
531531
CeedInt Q, numelements, numinputfields, numoutputfields, size;
532532
ierr = CeedOperatorGetNumQuadraturePoints(op, &Q); CeedChkBackend(ierr);
533533
ierr = CeedOperatorGetNumElements(op, &numelements); CeedChkBackend(ierr);
534-
ierr= CeedQFunctionGetNumArgs(qf, &numinputfields, &numoutputfields);
535534
CeedChkBackend(ierr);
536535
CeedOperatorField *opinputfields, *opoutputfields;
537-
ierr = CeedOperatorGetFields(op, &opinputfields, &opoutputfields);
536+
ierr = CeedOperatorGetFields(op, &numinputfields, &opinputfields,
537+
&numoutputfields, &opoutputfields);
538538
CeedChkBackend(ierr);
539539
CeedQFunctionField *qfinputfields, *qfoutputfields;
540-
ierr = CeedQFunctionGetFields(qf, &qfinputfields, &qfoutputfields);
540+
ierr = CeedQFunctionGetFields(qf, NULL, &qfinputfields, NULL, &qfoutputfields);
541541
CeedChkBackend(ierr);
542542
CeedVector vec;
543543
CeedInt numactivein = 0, numactiveout = 0;
@@ -885,8 +885,10 @@ static inline int CeedOperatorAssembleDiagonalSetup_Cuda(CeedOperator op,
885885
// Determine active input basis
886886
CeedOperatorField *opfields;
887887
CeedQFunctionField *qffields;
888-
ierr = CeedOperatorGetFields(op, &opfields, NULL); CeedChkBackend(ierr);
889-
ierr = CeedQFunctionGetFields(qf, &qffields, NULL); CeedChkBackend(ierr);
888+
ierr = CeedOperatorGetFields(op, NULL, &opfields, NULL, NULL);
889+
CeedChkBackend(ierr);
890+
ierr = CeedQFunctionGetFields(qf, NULL, &qffields, NULL, NULL);
891+
CeedChkBackend(ierr);
890892
CeedInt numemodein = 0, ncomp = 0, dim = 1;
891893
CeedEvalMode *emodein = NULL;
892894
CeedBasis basisin = NULL;
@@ -932,8 +934,10 @@ static inline int CeedOperatorAssembleDiagonalSetup_Cuda(CeedOperator op,
932934
}
933935

934936
// Determine active output basis
935-
ierr = CeedOperatorGetFields(op, NULL, &opfields); CeedChkBackend(ierr);
936-
ierr = CeedQFunctionGetFields(qf, NULL, &qffields); CeedChkBackend(ierr);
937+
ierr = CeedOperatorGetFields(op, NULL, NULL, NULL, &opfields);
938+
CeedChkBackend(ierr);
939+
ierr = CeedQFunctionGetFields(qf, NULL, NULL, NULL, &qffields);
940+
CeedChkBackend(ierr);
937941
CeedInt numemodeout = 0;
938942
CeedEvalMode *emodeout = NULL;
939943
CeedBasis basisout = NULL;

backends/cuda/ceed-cuda-qfunction-load.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,8 @@ extern "C" int CeedCudaBuildQFunction(CeedQFunction qf) {
6262

6363
// QFunction kernel generation
6464
CeedInt numinputfields, numoutputfields, size;
65-
ierr = CeedQFunctionGetNumArgs(qf, &numinputfields, &numoutputfields);
6665
CeedQFunctionField *qfinputfields, *qfoutputfields;
67-
ierr = CeedQFunctionGetFields(qf, &qfinputfields, &qfoutputfields);
66+
ierr = CeedQFunctionGetFields(qf, &numinputfields, &qfinputfields, &numoutputfields, &qfoutputfields);
6867
CeedChkBackend(ierr);
6968

7069
// Build strings for final kernel

backends/hip-gen/ceed-hip-gen-operator-build.cpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -750,13 +750,11 @@ CEED_INTERN int CeedHipGenOperatorBuild(CeedOperator op) {
750750
numoutputfields, ncomp, dim = 0, lsize;
751751
ierr = CeedOperatorGetNumQuadraturePoints(op, &Q); CeedChkBackend(ierr);
752752
ierr = CeedOperatorGetNumElements(op, &numelements); CeedChkBackend(ierr);
753-
ierr = CeedQFunctionGetNumArgs(qf, &numinputfields, &numoutputfields);
754-
CeedChkBackend(ierr);
755753
CeedOperatorField *opinputfields, *opoutputfields;
756-
ierr = CeedOperatorGetFields(op, &opinputfields, &opoutputfields);
754+
ierr = CeedOperatorGetFields(op, &numinputfields, &opinputfields, &numoutputfields, &opoutputfields);
757755
CeedChkBackend(ierr);
758756
CeedQFunctionField *qfinputfields, *qfoutputfields;
759-
ierr = CeedQFunctionGetFields(qf, &qfinputfields, &qfoutputfields);
757+
ierr = CeedQFunctionGetFields(qf, NULL, &qfinputfields, NULL, &qfoutputfields);
760758
CeedChkBackend(ierr);
761759
CeedEvalMode emode;
762760
CeedBasis basis;

backends/hip-gen/ceed-hip-gen-operator.c

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,13 +48,12 @@ static int CeedOperatorApplyAdd_Hip_gen(CeedOperator op, CeedVector invec,
4848
ierr = CeedQFunctionGetData(qf, &qf_data); CeedChkBackend(ierr);
4949
CeedInt nelem, numinputfields, numoutputfields;
5050
ierr = CeedOperatorGetNumElements(op, &nelem); CeedChkBackend(ierr);
51-
ierr = CeedQFunctionGetNumArgs(qf, &numinputfields, &numoutputfields);
52-
CeedChkBackend(ierr);
5351
CeedOperatorField *opinputfields, *opoutputfields;
54-
ierr = CeedOperatorGetFields(op, &opinputfields, &opoutputfields);
52+
ierr = CeedOperatorGetFields(op, &numinputfields, &opinputfields,
53+
&numoutputfields, &opoutputfields);
5554
CeedChkBackend(ierr);
5655
CeedQFunctionField *qfinputfields, *qfoutputfields;
57-
ierr = CeedQFunctionGetFields(qf, &qfinputfields, &qfoutputfields);
56+
ierr = CeedQFunctionGetFields(qf, NULL, &qfinputfields, NULL, &qfoutputfields);
5857
CeedChkBackend(ierr);
5958
CeedEvalMode emode;
6059
CeedVector vec, outvecs[16] = {};

backends/hip/ceed-hip-operator.c

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -91,14 +91,14 @@ static int CeedOperatorSetupFields_Hip(CeedQFunction qf, CeedOperator op,
9191
bool skiprestrict;
9292

9393
if (inOrOut) {
94-
ierr = CeedOperatorGetFields(op, NULL, &opfields);
94+
ierr = CeedOperatorGetFields(op, NULL, NULL, NULL, &opfields);
9595
CeedChkBackend(ierr);
96-
ierr = CeedQFunctionGetFields(qf, NULL, &qffields);
96+
ierr = CeedQFunctionGetFields(qf, NULL, NULL, NULL, &qffields);
9797
CeedChkBackend(ierr);
9898
} else {
99-
ierr = CeedOperatorGetFields(op, &opfields, NULL);
99+
ierr = CeedOperatorGetFields(op, NULL, &opfields, NULL, NULL);
100100
CeedChkBackend(ierr);
101-
ierr = CeedQFunctionGetFields(qf, &qffields, NULL);
101+
ierr = CeedQFunctionGetFields(qf, NULL, &qffields, NULL, NULL);
102102
CeedChkBackend(ierr);
103103
}
104104

@@ -198,13 +198,12 @@ static int CeedOperatorSetup_Hip(CeedOperator op) {
198198
CeedInt Q, numelements, numinputfields, numoutputfields;
199199
ierr = CeedOperatorGetNumQuadraturePoints(op, &Q); CeedChkBackend(ierr);
200200
ierr = CeedOperatorGetNumElements(op, &numelements); CeedChkBackend(ierr);
201-
ierr = CeedQFunctionGetNumArgs(qf, &numinputfields, &numoutputfields);
202-
CeedChkBackend(ierr);
203201
CeedOperatorField *opinputfields, *opoutputfields;
204-
ierr = CeedOperatorGetFields(op, &opinputfields, &opoutputfields);
202+
ierr = CeedOperatorGetFields(op, &numinputfields, &opinputfields,
203+
&numoutputfields, &opoutputfields);
205204
CeedChkBackend(ierr);
206205
CeedQFunctionField *qfinputfields, *qfoutputfields;
207-
ierr = CeedQFunctionGetFields(qf, &qfinputfields, &qfoutputfields);
206+
ierr = CeedQFunctionGetFields(qf, NULL, &qfinputfields, NULL, &qfoutputfields);
208207
CeedChkBackend(ierr);
209208

210209
// Allocate
@@ -396,13 +395,12 @@ static int CeedOperatorApplyAdd_Hip(CeedOperator op, CeedVector invec,
396395
CeedInt Q, numelements, elemsize, numinputfields, numoutputfields, size;
397396
ierr = CeedOperatorGetNumQuadraturePoints(op, &Q); CeedChkBackend(ierr);
398397
ierr = CeedOperatorGetNumElements(op, &numelements); CeedChkBackend(ierr);
399-
ierr = CeedQFunctionGetNumArgs(qf, &numinputfields, &numoutputfields);
400-
CeedChkBackend(ierr);
401398
CeedOperatorField *opinputfields, *opoutputfields;
402-
ierr = CeedOperatorGetFields(op, &opinputfields, &opoutputfields);
399+
ierr = CeedOperatorGetFields(op, &numinputfields, &opinputfields,
400+
&numoutputfields, &opoutputfields);
403401
CeedChkBackend(ierr);
404402
CeedQFunctionField *qfinputfields, *qfoutputfields;
405-
ierr = CeedQFunctionGetFields(qf, &qfinputfields, &qfoutputfields);
403+
ierr = CeedQFunctionGetFields(qf, NULL, &qfinputfields, NULL, &qfoutputfields);
406404
CeedChkBackend(ierr);
407405
CeedEvalMode emode;
408406
CeedVector vec;
@@ -531,13 +529,12 @@ static int CeedOperatorLinearAssembleQFunction_Hip(CeedOperator op,
531529
CeedInt Q, numelements, numinputfields, numoutputfields, size;
532530
ierr = CeedOperatorGetNumQuadraturePoints(op, &Q); CeedChkBackend(ierr);
533531
ierr = CeedOperatorGetNumElements(op, &numelements); CeedChkBackend(ierr);
534-
ierr= CeedQFunctionGetNumArgs(qf, &numinputfields, &numoutputfields);
535-
CeedChkBackend(ierr);
536532
CeedOperatorField *opinputfields, *opoutputfields;
537-
ierr = CeedOperatorGetFields(op, &opinputfields, &opoutputfields);
533+
ierr = CeedOperatorGetFields(op, &numinputfields, &opinputfields,
534+
&numoutputfields, &opoutputfields);
538535
CeedChkBackend(ierr);
539536
CeedQFunctionField *qfinputfields, *qfoutputfields;
540-
ierr = CeedQFunctionGetFields(qf, &qfinputfields, &qfoutputfields);
537+
ierr = CeedQFunctionGetFields(qf, NULL, &qfinputfields, NULL, &qfoutputfields);
541538
CeedChkBackend(ierr);
542539
CeedVector vec;
543540
CeedInt numactivein = 0, numactiveout = 0;
@@ -885,8 +882,10 @@ static inline int CeedOperatorAssembleDiagonalSetup_Hip(CeedOperator op,
885882
// Determine active input basis
886883
CeedOperatorField *opfields;
887884
CeedQFunctionField *qffields;
888-
ierr = CeedOperatorGetFields(op, &opfields, NULL); CeedChkBackend(ierr);
889-
ierr = CeedQFunctionGetFields(qf, &qffields, NULL); CeedChkBackend(ierr);
885+
ierr = CeedOperatorGetFields(op, NULL, &opfields, NULL, NULL);
886+
CeedChkBackend(ierr);
887+
ierr = CeedQFunctionGetFields(qf, NULL, &qffields, NULL, NULL);
888+
CeedChkBackend(ierr);
890889
CeedInt numemodein = 0, ncomp = 0, dim = 1;
891890
CeedEvalMode *emodein = NULL;
892891
CeedBasis basisin = NULL;
@@ -932,8 +931,10 @@ static inline int CeedOperatorAssembleDiagonalSetup_Hip(CeedOperator op,
932931
}
933932

934933
// Determine active output basis
935-
ierr = CeedOperatorGetFields(op, NULL, &opfields); CeedChkBackend(ierr);
936-
ierr = CeedQFunctionGetFields(qf, NULL, &qffields); CeedChkBackend(ierr);
934+
ierr = CeedOperatorGetFields(op, NULL, NULL, NULL, &opfields);
935+
CeedChkBackend(ierr);
936+
ierr = CeedQFunctionGetFields(qf, NULL, NULL, NULL, &qffields);
937+
CeedChkBackend(ierr);
937938
CeedInt numemodeout = 0;
938939
CeedEvalMode *emodeout = NULL;
939940
CeedBasis basisout = NULL;

backends/hip/ceed-hip-qfunction-load.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,10 +59,8 @@ extern "C" int CeedHipBuildQFunction(CeedQFunction qf) {
5959

6060
// QFunction kernel generation
6161
CeedInt numinputfields, numoutputfields, size;
62-
ierr = CeedQFunctionGetNumArgs(qf, &numinputfields, &numoutputfields);
63-
CeedChkBackend(ierr);
6462
CeedQFunctionField *qfinputfields, *qfoutputfields;
65-
ierr = CeedQFunctionGetFields(qf, &qfinputfields, &qfoutputfields);
63+
ierr = CeedQFunctionGetFields(qf, &numinputfields, &qfinputfields, &numoutputfields, &qfoutputfields);
6664
CeedChkBackend(ierr);
6765

6866
// Build strings for final kernel

backends/occa/ceed-occa-operator-args.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ namespace ceed {
4040
return;
4141
}
4242

43-
ierr = CeedOperatorGetFields(op, &ceedInputFields, &ceedOutputFields);
43+
ierr = CeedOperatorGetFields(op, NULL, &ceedInputFields, NULL, &ceedOutputFields);
4444
CeedOccaValidChk(_isValid, ierr);
4545

4646
for (int i = 0; i < _inputCount; ++i) {

0 commit comments

Comments
 (0)