CEED / CEED/libCEED

Hip/Cuda Shared/Gen Curl/Div Support

Open
#1,884 4 comments 0 reactions 0 assignees View on GitHub
GPU performance
Dominant language
C
Stars
265
Forks
78
Avg merge
2d 8h
Merged PRs (30d)
11

Description

We should extend HDiv and HCurl to the `/gpu/*/shared` and `/gpu/*/gen` backends. This should be relatively straightforward in concept but will take a fair amount of time/work to make sure it's all correct. This should be split across two PRs.

1) `/gpu/*/shared` only needs the new basis operations. We currently only support this for non-tensor, but we have all the relevant non-tensor contractions already (I think). Once we do this, we need to change the logic [here](https://github.com/CEED/libCEED/blob/9b9f6113f51e15913d7f93f3cfe1286cbb8f166e/backends/cuda-gen/ceed-cuda-gen-operator-build.cpp#L1145) to instead check for `has_supported_bases` and check for all shared bases and only eval modes INTERP and GRAD.

2) `/gpu/*/gen` needs both the changes to `backends/*-gen/ceed-*-gen/operator-build.cpp` to use the basis templates from `/gpu/*/shared` and also we need to add the relevant new restriction templates in `include/ceed/jit-source/*/*-gen-templates.h`

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.