Open athas opened 4 months ago
In order to not complicate the code generator for this relatively niche use case, the best way to implement this would be to have a separate facility (which can be part of futhark
) for generating packed wrapper code from a manifest file.
Some of the functions exposed by the C API have a variable number of parameters, depending on the underlying Futhark program:
This is inconvenient for some users, particularly those making use of run-time linking (
dlopen()
), as it is difficult to invoke a function with a dynamically known number of arguments. It is also slightly inconvenient for other FFIs in some cases.As a solution, we could expose "packed" variants of these functions (does a better name exist?) where each sequence of variable-length parameters is replaced with a single array that contains pointers to those values.