The implementation of the unpacked interface api for the AoT codegen is very great and has advantages over the traditional packed calling convention.
I realized that the usage of BYOC kernels in combination with the unpacked interface is currently not supported, probably because of the lack of an interface to let the codegen know which entry point shall be generated.
Are there any plane to get rid of that limitation in the future?
I came of with the flollowing “ideas”:
The simplest approach would probably be generating BYOC entry points for both types of interface using different function names and let the AoT codegen decide which function name to use for the call depending on the chosen interface. (e.g use _packed
suffix for packed interface)
Another option would be adding a way to pass the information on the required interface to the BYOC codegen which when can generate the appropriate entry point. This might be more complicated but such interface could eventually be used for other features as well in the future.