Let's say that we have an HSAIL kernel either written by us or obtained with CLOC from an OpenCL kernel file.
How can this kernel be launched?
According to the "HSA Programmer's Reference Manual 1.0 Provisional" (page 1) HSAIL code can be natively supported by the hardware or it may require a finalizer to translate it to the hardware specific native ISA.
How can one tell if a device supports HSAIL natively?
How can the finalizer be invoked for HSAIL code?
If I'm not wrong, the "HSAIL Finalization", "HSAIL Linking" chapters from the "HSA-System-Runtime-Specification-Provisional-1.0" refer only to BRIG. But what if the input code is in HSAIL format?
The same "HSA Programmer's Reference Manual 1.0 Provisional" says that an HSA implementation should include a finalizer for "translating HSAIL code into the appropriate native ISA [...]" (page 1). Shouldn't then the API for the finalizer be part of the core API and not an HSA exension?