Skip to content

Built-in kernel registry #131

@pjaaskel

Description

@pjaaskel

This is to store any comments/progress/feedback related to the idea of a "built-in kernel registry" which would be an index of semantically well-defined built-in kernels. HW vendors can freely choose a subset of built-in kernels (BiKs) to implement and accelerate as fixed function "black box" functions. The clients can then pick up vendor-advertised BiKs that match their application's acceleration needs. The idea has been presented in OpenCL work-group meetings and received at least some lukewarm interest/curiosity.

The extension specification could be named cl_khr_defined_biks or similar and would simply add a sentence to the clGetDeviceInfo()'s CL_DEVICE_BUILT_IN_KERNELS which declares along the lines of

"The built-in kernels returned by the device of which names start with 'khr.' adhere to the defined semantics and behavior stored in the Khronos Built-in Kernel Registry located in http://.../KhronosGroup/BiK-Registry."

For the concept to make sense as a Khronos-entity and a cross-vendor portability feature, the built-in kernel abstraction should be used more extensively (hundreds of entries in the registry, not just a couple) and their semantics should be a bit more generic than very specific exact matches to the underlying single-vendor hardware. This is to create better chances of matching with the application level task graphs instead of becoming a collection of vendor-specific BiKs.

The "living" slide deck that tries to explain the concept and collects the open questions can be seen here.

All kind of feedback / comments appreciated!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions