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

Testing new OCCA language transpiler with libCEED #1552

Open
ypanke opened this issue Apr 3, 2024 · 2 comments
Open

Testing new OCCA language transpiler with libCEED #1552

ypanke opened this issue Apr 3, 2024 · 2 comments
Labels

Comments

@ypanke
Copy link

ypanke commented Apr 3, 2024

Hello

I am testing libCEED with a new OKL transpiler (https://github.com/libocca/occa-transpiler) and found a couple of possible bugs that were tolerated by the original OCCA transpilation:

  • backends/occa/kernels/simplex-basis/cpu-simplex-basis.cpp line 34
inline void SIMPLEX_FUNCTION(gradElement)(const CeedScalar *Bx @dim(P, Q, DIM), const CeedScalar *Ue, CeedScalar *Ve, )

Redundant comma at the end of list of the arguments

  • Function names in OCCA kernels
    Original OCCA was performing the macro expansion differently than the standard states, please refer to the issue: OKL incorrect macro expansion  libocca/occa#750
    That makes the code like TENSOR_FUNCTION(interpElement) or SIMPLEX_FUNCTION(interpElement) behave differently than expected, generating something like: simplex_DIMd_interpElementTranspose_QQ_PP
@jeremylt jeremylt added the OCCA label Apr 3, 2024
@jeremylt
Copy link
Member

jeremylt commented Apr 3, 2024

Unfortunately, the OCCA backend is highly experimental. I do recommend you use device native backends, such as the HIP and CUDA backends.

I do not know how long these issues would take to fix, as we do not have any OCCA users on the core libCEED development team.

@jedbrown
Copy link
Member

jedbrown commented Apr 3, 2024

@ypanke If you want to try fixing these issues, we'll be happy to review PRs. To my knowledge, nobody is using the OCCA backend, and despite being more lines of code in the implementation than the CUDA or HIP backends, it's substantially slower.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants