Page MenuHomePhabricator

Current Status of OpenCL Through SPIR-V
Updated 1,030 Days AgoPublic

Current Status

IMPORTANT: Checked features might end up only working for the specific cases that were tested during their development. If you notice that they do not work in some different configurations, please inform me about it; do not forget to attach the OpenCL sample triggering the issue, as well as the chipset of your GPU.
NOTE: Current status, as of 2 December 2017, 12:20 GMT+1

Supported cards

  • Tesla
  • Fermi
  • Kepler
  • Maxwell
  • Pascal

Supported program creation methods

  • clCreateProgramWithSource()
  • clCreateProgramWithBinary()
  • clCreateProgramWithIL()

Supported features

  • Types:
    • bool (to some extent)
    • int
    • float
    • vector
    • array (partly supported)
    • structure
    • event
    • pointer
    • function
  • Casts (maybe not all of them)
  • Images, textures
  • Decorations on operations and functions (aligned, etc.)
  • Operators:
    • binary arithmetic
    • unary arithmetic
    • logical
    • bitwise
  • Control flow:
    • Branches, and conditional branches (bug with loops)
    • Phi nodes (except if swapping values)
    • Function calling
  • Builtins:
    • get_local_id(), get_local_size(), get_global_id(), get_global_size()
    • get_work_dim(), get_num_groups(), get_group_id()
    • math functions
    • atomics (except OpAtomicFlagClear, OpAtomicFlagTestAndSet, OpAtomicCompareExchangeWeak, OpAtomicLoad and OpAtomicStore)
    • barriers & co.
Last Author
pmoreau
Last Edited
Dec 2 2017, 12:21 PM

Event Timeline

pmoreau edited the content of this document. (Show Details)
pmoreau edited the content of this document. (Show Details)
pmoreau edited the content of this document. (Show Details)
pmoreau edited the content of this document. (Show Details)
pmoreau added a project: Compute (SPIR-V 1.0).