Skip to content

Commit

Permalink
restr - clean up read/write logic for restr
Browse files Browse the repository at this point in the history
  • Loading branch information
jeremylt committed Dec 15, 2021
1 parent 01e02ac commit 6bb2089
Show file tree
Hide file tree
Showing 9 changed files with 28 additions and 26 deletions.
4 changes: 0 additions & 4 deletions backends/blocked/ceed-blocked-operator.c
Original file line number Diff line number Diff line change
Expand Up @@ -88,10 +88,6 @@ static int CeedOperatorSetupFields_Blocked(CeedQFunction qf,
ierr = CeedElemRestrictionCreateVector(blk_restr[i+start_e], NULL,
&e_vecs_full[i+start_e]);
CeedChkBackend(ierr);
if (is_input) {
ierr = CeedVectorSetArray(e_vecs_full[i+start_e], CEED_MEM_HOST,
CEED_COPY_VALUES, NULL); CeedChkBackend(ierr);
}
}

switch(eval_mode) {
Expand Down
5 changes: 0 additions & 5 deletions backends/cuda/ceed-cuda-operator.c
Original file line number Diff line number Diff line change
Expand Up @@ -150,11 +150,6 @@ static int CeedOperatorSetupFields_Cuda(CeedQFunction qf, CeedOperator op,
ierr = CeedElemRestrictionCreateVector(Erestrict, NULL,
&evecs[i + starte]);
CeedChkBackend(ierr);
// Allocate array
if (isinput) {
ierr = CeedVectorSetArray(evecs[i + starte], CEED_MEM_DEVICE,
CEED_COPY_VALUES, NULL); CeedChkBackend(ierr);
}
}
}

Expand Down
8 changes: 7 additions & 1 deletion backends/cuda/ceed-cuda-restriction.c
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,13 @@ static int CeedElemRestrictionApply_Cuda(CeedElemRestriction r,
const CeedScalar *d_u;
CeedScalar *d_v;
ierr = CeedVectorGetArrayRead(u, CEED_MEM_DEVICE, &d_u); CeedChkBackend(ierr);
ierr = CeedVectorGetArray(v, CEED_MEM_DEVICE, &d_v); CeedChkBackend(ierr);
if (tmode == CEED_TRANSPOSE) {
// Sum into for transpose mode, e-vec to l-vec
ierr = CeedVectorGetArray(v, CEED_MEM_DEVICE, &d_v); CeedChkBackend(ierr);
} else {
// Overwrite for notranspose mode, l-vec to e-vec
ierr = CeedVectorGetArrayWrite(v, CEED_MEM_DEVICE, &d_v); CeedChkBackend(ierr);
}

// Restrict
if (tmode == CEED_NOTRANSPOSE) {
Expand Down
5 changes: 0 additions & 5 deletions backends/hip/ceed-hip-operator.c
Original file line number Diff line number Diff line change
Expand Up @@ -150,11 +150,6 @@ static int CeedOperatorSetupFields_Hip(CeedQFunction qf, CeedOperator op,
ierr = CeedElemRestrictionCreateVector(Erestrict, NULL,
&evecs[i + starte]);
CeedChkBackend(ierr);
// Allocate array
if (isinput) {
ierr = CeedVectorSetArray(evecs[i + starte], CEED_MEM_DEVICE,
CEED_COPY_VALUES, NULL); CeedChkBackend(ierr);
}
}
}

Expand Down
8 changes: 7 additions & 1 deletion backends/hip/ceed-hip-restriction.c
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,13 @@ static int CeedElemRestrictionApply_Hip(CeedElemRestriction r,
const CeedScalar *d_u;
CeedScalar *d_v;
ierr = CeedVectorGetArrayRead(u, CEED_MEM_DEVICE, &d_u); CeedChkBackend(ierr);
ierr = CeedVectorGetArray(v, CEED_MEM_DEVICE, &d_v); CeedChkBackend(ierr);
if (tmode == CEED_TRANSPOSE) {
// Sum into for transpose mode, e-vec to l-vec
ierr = CeedVectorGetArray(v, CEED_MEM_DEVICE, &d_v); CeedChkBackend(ierr);
} else {
// Overwrite for notranspose mode, l-vec to e-vec
ierr = CeedVectorGetArrayWrite(v, CEED_MEM_DEVICE, &d_v); CeedChkBackend(ierr);
}

// Restrict
if (tmode == CEED_NOTRANSPOSE) {
Expand Down
8 changes: 7 additions & 1 deletion backends/magma/ceed-magma-restriction.c
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,13 @@ static int CeedElemRestrictionApply_Magma(CeedElemRestriction r,
CeedScalar *dv;

ierr = CeedVectorGetArrayRead(u, CEED_MEM_DEVICE, &du); CeedChkBackend(ierr);
ierr = CeedVectorGetArray(v, CEED_MEM_DEVICE, &dv); CeedChkBackend(ierr);
if (tmode == CEED_TRANSPOSE) {
// Sum into for transpose mode, e-vec to l-vec
ierr = CeedVectorGetArray(v, CEED_MEM_DEVICE, &d_v); CeedChkBackend(ierr);
} else {
// Overwrite for notranspose mode, l-vec to e-vec
ierr = CeedVectorGetArrayWrite(v, CEED_MEM_DEVICE, &d_v); CeedChkBackend(ierr);
}

bool isStrided;
ierr = CeedElemRestrictionIsStrided(r, &isStrided); CeedChkBackend(ierr);
Expand Down
4 changes: 0 additions & 4 deletions backends/opt/ceed-opt-operator.c
Original file line number Diff line number Diff line change
Expand Up @@ -90,10 +90,6 @@ static int CeedOperatorSetupFields_Opt(CeedQFunction qf, CeedOperator op,
ierr = CeedElemRestrictionCreateVector(blk_restr[i+start_e], NULL,
&e_vecs_full[i+start_e]);
CeedChkBackend(ierr);
if (is_input) {
ierr = CeedVectorSetArray(e_vecs_full[i+start_e], CEED_MEM_HOST,
CEED_COPY_VALUES, NULL); CeedChkBackend(ierr);
}
}

switch(eval_mode) {
Expand Down
4 changes: 0 additions & 4 deletions backends/ref/ceed-ref-operator.c
Original file line number Diff line number Diff line change
Expand Up @@ -61,10 +61,6 @@ static int CeedOperatorSetupFields_Ref(CeedQFunction qf, CeedOperator op,
ierr = CeedElemRestrictionCreateVector(elem_restr, NULL,
&e_vecs_full[i+start_e]);
CeedChkBackend(ierr);
if (is_input) {
ierr = CeedVectorSetArray(e_vecs_full[i+start_e], CEED_MEM_HOST,
CEED_COPY_VALUES, NULL); CeedChkBackend(ierr);
}
}

switch(eval_mode) {
Expand Down
8 changes: 7 additions & 1 deletion backends/ref/ceed-ref-restriction.c
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,13 @@ static inline int CeedElemRestrictionApply_Ref_Core(CeedElemRestriction r,
v_offset = start*blk_size*elem_size*num_comp;

ierr = CeedVectorGetArrayRead(u, CEED_MEM_HOST, &uu); CeedChkBackend(ierr);
ierr = CeedVectorGetArray(v, CEED_MEM_HOST, &vv); CeedChkBackend(ierr);
if (t_mode == CEED_TRANSPOSE) {
// Sum into for transpose mode, e-vec to l-vec
ierr = CeedVectorGetArray(v, CEED_MEM_HOST, &vv); CeedChkBackend(ierr);
} else {
// Overwrite for notranspose mode, l-vec to e-vec
ierr = CeedVectorGetArrayWrite(v, CEED_MEM_HOST, &vv); CeedChkBackend(ierr);
}
// Restriction from L-vector to E-vector
// Perform: v = r * u
if (t_mode == CEED_NOTRANSPOSE) {
Expand Down

0 comments on commit 6bb2089

Please sign in to comment.