KhronosGroup / KhronosGroup/OpenCL-Docs

SPIR-V: Initializer and Finalizer are not capabilities

Open
#190 9 comments 0 reactions 1 assignee View on GitHub

@bashbaug is already working on this.

Since Aug 11, 2020.

Coming Soon
Dominant language
Python
Stars
421
Forks
132
Avg merge
5d 13h
Merged PRs (30d)
11

Description

The current Unified SPIR-V Environment Specification says that (see https://www.khronos.org/registry/OpenCL/specs/2.2/html/OpenCL_Env.html#required-capabilities-1.1)

In addition, an OpenCL environment consuming SPIR-V 1.1 must support SPIR-V 1.1 modules that declare the following capabilities:

  • SubgroupDispatch (OpenCL 2.2 and Newer)
  • PipeStorage (OpenCL 2.2 and Newer)
  • Initializer (OpenCL 2.2 and Newer)
  • Finalizer (OpenCL 2.2 and Newer)

thereby implying that Initializer and Finalizer are SPIR-V capabilities which is wrong: those two are execution modes (see https://www.khronos.org/registry/spir-v/specs/unified1/SPIRV.html#Execution_Mode, items 33 and 34). The only capability required for those two execution modes, is Kernel which is already required for supporting SPIR-V 1.0.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.