You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When attempting to accelerator.Allocate<ReceiverFacet>(int), I receive the error message 'Type type 'SimpleTrace.ReceiverFacet' is not blittable' with the ReceiverFacet definition below:
@BenjaminPelletier Yes, you are right. Since Enums themselves are not blittable, the current API and compiler do not provide 'native' support for Enum types. This makes perfect sense to add in an upcoming version.
To start kernels, ILGPU creates specially tuned KernelLauncher methods, which are created for each kernel method when compiling the kernel. ArgumentMapper instances generate the actual marshaling source code to pass parameter values to the underlying driver API. This avoids the boxing of value types and ensures the highest possible performance when launching a kernel. The new ILGPU version supports Enum values in the scope of all IR nodes and ArgumentMapper instances. However, the runtime has to be adjusted to support these as well.
When attempting to
accelerator.Allocate<ReceiverFacet>(int)
, I receive the error message 'Type type 'SimpleTrace.ReceiverFacet' is not blittable' with the ReceiverFacet definition below:However, if I change the definition to that shown below, things work fine even though the data contents should be identical:
It would be great if ILGPU would recognize that Enum types are really their underlying data types for the purposes of storage and transmission.
The text was updated successfully, but these errors were encountered: