google / google/clspv

clspv should use LLVM atomic instructions

Open
#395 3 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
LLVM
Stars
729
Forks
110
Avg merge
17h 51m
Merged PRs (30d)
23

Description

clspv currently replaces OpenCL atomic builtins with SPIR-V builtins. Instead we should use llvm atomic instructions throughout the flow and translate them in SPIRVProducerPass. Currently some of the builtins are handled this way. Increment, decrement and compare exchange need updated.

Other issues with atomics in clspv: 1.2 opencl atomics should be relaxed and map to Monotonic ordering in LLVM.

All OpenCL atomic builtins claim the pointer is volatile. So at least through the clspv flow atomic instructions should get marked as volatile.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.