libCEED
libCEED copied to clipboard
User-defined thread configurations for GPU backends
This issue is to continue the discussion raised in #642, regarding a framework that would allow users to explicitly set parameters related to GPU kernel launch configurations at runtime.
@jedbrown suggested a possible setup with:
It could be per Ceed, as in
-ceed /gpu/hip/ref:block_size=256:other_option=value
or per CeedOperator, in which case it would be set using
int CeedOperatorSetOption(CeedOperator, const char *key, const char *value);
Another consideration is that different GPU backends will have different numbers of available parameters. The non-fused backends could have different choices for restrictions, basis actions, and QFunctions.
To start, I assigned everyone who had participated thus far in the discussion of #642. Feel free to assign/tag anyone else.