Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] OCCA Backend Update #1043

Draft
wants to merge 22 commits into
base: main
Choose a base branch
from
Draft
Changes from 1 commit
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
c4ab772
Removes deprecated calls to `occa::linalg`.
kris-rowe Aug 22, 2022
31a7629
Adds a dummy `ceed.h` header in include in OCCA kernels.
kris-rowe Aug 24, 2022
1a3a1f9
Rewrite arrays of structs in format that OCCA can handle.
kris-rowe Aug 24, 2022
3df7633
Includes the cmath header when compiling C++ code.
kris-rowe Aug 24, 2022
f1b142f
Removes math function headers which were causing OCCA JIT failures.
kris-rowe Aug 25, 2022
1a6fffd
Rewrite arrays of structs in format that OCCA can handle.
kris-rowe Aug 25, 2022
0aacae8
Rewrites fluids example qfunctions to be compatible with OCCA.
kris-rowe Aug 26, 2022
a879016
Rewrites advection problem kernels to work with OCCA.
kris-rowe Aug 30, 2022
177848b
Rewrites blasius problem kernels to work with OCCA.
kris-rowe Aug 30, 2022
4b11b94
Rewrites channel problem kernels to work with OCCA.
kris-rowe Aug 30, 2022
46d6695
Rewrites dirichlet bc kernels to work with OCCA.
kris-rowe Aug 30, 2022
aed20a0
Rewrites newtonian kernels to work with OCCA.
kris-rowe Aug 30, 2022
818ef30
Rewrites setupgeo kernels to be compatible with OCCA.
kris-rowe Aug 30, 2022
b97eee4
Rewrites stabilization kernels to be compatible with OCCA.
kris-rowe Aug 30, 2022
9890d73
Rewrites stg kernels to be compatible with OCCA.
kris-rowe Aug 30, 2022
df482e8
Saves WIP before rebasing onto upstream libCEED.
kris-rowe Oct 25, 2022
f75f425
Rewrites pointer-to-array in t507 to be compatible with OCCA.
kris-rowe Oct 25, 2022
1760b84
Removes filters excluding OCCA from certain tests.
kris-rowe Dec 1, 2022
eca1eaf
Removes previous merge conflicts.
kris-rowe Dec 6, 2022
bc3b4f6
Includes correct math header to be compatible with OCCA.
kris-rowe Dec 6, 2022
2d6dba8
Appends `OCCA_DIR/lib` to LD_LIBRARY_PATH instead of overwriting.
kris-rowe Dec 6, 2022
0c5cb32
Save WIP on OCCA backend to push to GitHub.
kris-rowe Dec 9, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Saves WIP before rebasing onto upstream libCEED.
kris-rowe committed Dec 1, 2022

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
commit df482e8395053fdb504d4b35fa4a65205b7e2fbe
13 changes: 11 additions & 2 deletions backends/occa/ceed-occa-operator.cpp
Original file line number Diff line number Diff line change
@@ -100,6 +100,7 @@ int Operator::ceedCreate(CeedOperator op) {
CeedOccaRegisterFunction(op, "LinearAssembleQFunctionUpdate", Operator::ceedLinearAssembleQFunction);
CeedOccaRegisterFunction(op, "LinearAssembleAddDiagonal", Operator::ceedLinearAssembleAddDiagonal);
CeedOccaRegisterFunction(op, "LinearAssembleAddPointBlockDiagonal", Operator::ceedLinearAssembleAddPointBlockDiagonal);
CeedOccaRegisterFunction(op, "LinearAssembleSingle", Operator::ceedLinearAssembleSingle);
CeedOccaRegisterFunction(op, "CreateFDMElementInverse", Operator::ceedCreateFDMElementInverse);
CeedOccaRegisterFunction(op, "ApplyAdd", Operator::ceedApplyAdd);
CeedOccaRegisterFunction(op, "Destroy", Operator::ceedDestroy);
@@ -117,18 +118,26 @@ int Operator::ceedCreateComposite(CeedOperator op) {
return CEED_ERROR_SUCCESS;
}

int Operator::ceedLinearAssembleQFunction(CeedOperator op) { return staticCeedError("(OCCA) Backend does not implement LinearAssembleQFunction"); }
int Operator::ceedLinearAssembleQFunction(CeedOperator op) {
return staticCeedError("(OCCA) Backend does not implement LinearAssembleQFunction");
}

int Operator::ceedLinearAssembleQFunctionUpdate(CeedOperator op) {
return staticCeedError("(OCCA) Backend does not implement LinearAssembleQFunctionUpdate");
}

int Operator::ceedLinearAssembleAddDiagonal(CeedOperator op) { return staticCeedError("(OCCA) Backend does not implement LinearAssembleDiagonal"); }
int Operator::ceedLinearAssembleAddDiagonal(CeedOperator op) {
return staticCeedError("(OCCA) Backend does not implement LinearAssembleDiagonal");
}

int Operator::ceedLinearAssembleAddPointBlockDiagonal(CeedOperator op) {
return staticCeedError("(OCCA) Backend does not implement LinearAssemblePointBlockDiagonal");
}

int Operator::ceedLinearAssembleSingle(CeedOperator op) {
return staticCeedError("(OCCA) Backend does not implement LinearAssembleSingle");
}

int Operator::ceedCreateFDMElementInverse(CeedOperator op) { return staticCeedError("(OCCA) Backend does not implement CreateFDMElementInverse"); }

int Operator::ceedApplyAdd(CeedOperator op, CeedVector invec, CeedVector outvec, CeedRequest *request) {
1 change: 1 addition & 0 deletions backends/occa/ceed-occa-operator.hpp
Original file line number Diff line number Diff line change
@@ -62,6 +62,7 @@ class Operator : public CeedObject {
static int ceedLinearAssembleQFunctionUpdate(CeedOperator op);
static int ceedLinearAssembleAddDiagonal(CeedOperator op);
static int ceedLinearAssembleAddPointBlockDiagonal(CeedOperator op);
static int ceedLinearAssembleSingle(CeedOperator op);
static int ceedCreateFDMElementInverse(CeedOperator op);

static int ceedApplyAdd(CeedOperator op, CeedVector invec, CeedVector outvec, CeedRequest *request);