Skip to content

OCCA Backend #816

Closed
@jeremylt

Description

@jeremylt

What is our path forward with the OCCA backend?

At this time, the OCCA backend is falling behind the other backends in terms of feature-completeness for preconditioner support. We have default functionality, but it pulls down to the CPU, so it would be slow for GPU environments. Also, we don't yet have GPU optimized or code-generation features it the OCCA backend. Third, currently an MFEM user can build the latest version of MFEM with OCCA support or with libCEED support but not both, as the libCEED OCCA backend uses a different version of OCCA than MFEM uses.

It totally makes sense that @dmed256 doesn't have time to keep this backend fully up to date, but I feel like we need someone with the time to keep this backend fully up to date. Currently I don't know enough C++ and OCCA to do the job.

I feel like we have a few options:

  1. Retire OCCA backend - not my preferred option, as I feel like the OCCA backend could offer our first support on the new Intel GPUs

  2. I learn OCCA and C++ - my preferred option, even though this will take a fair investment in time, I'm hoping what I learn will help our Rust GPU efforts

  3. Invent more time for @dmed256 - not sure this is possible?

  4. Other collaborators - I'm not sure if there are other collaborators who would be interested in working on this backend

I'm open to other ideas; I just want to make sure we have a plan here.

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions