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.
-
/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 to instead check for has_supported_bases and check for all shared bases and only eval modes INTERP and GRAD.
-
/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
We should extend HDiv and HCurl to the
/gpu/*/sharedand/gpu/*/genbackends. 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./gpu/*/sharedonly 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 to instead check forhas_supported_basesand check for all shared bases and only eval modes INTERP and GRAD./gpu/*/genneeds both the changes tobackends/*-gen/ceed-*-gen/operator-build.cppto use the basis templates from/gpu/*/sharedand also we need to add the relevant new restriction templates ininclude/ceed/jit-source/*/*-gen-templates.h