-
Notifications
You must be signed in to change notification settings - Fork 794
[SPIR-V][Doc] add draft SPIR-V extension for 16-bit atomics #20009
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: sycl
Are you sure you want to change the base?
Conversation
Spec is available here: intel/llvm#20009 Author: "Ratajewski, Andrzej" <andrzej.ratajewski@intel.com> Signed-off-by: Sidorov, Dmitry <dmitry.sidorov@intel.com>
Spec is available here: intel/llvm#20009 Author: "Ratajewski, Andrzej" <andrzej.ratajewski@intel.com> Signed-off-by: Sidorov, Dmitry <dmitry.sidorov@intel.com>
…3343) Spec is available here: intel/llvm#20009 Author: "Ratajewski, Andrzej" <andrzej.ratajewski@intel.com> Signed-off-by: Sidorov, Dmitry <dmitry.sidorov@intel.com>
…3343) Spec is available here: intel/llvm#20009 Author: "Ratajewski, Andrzej" <andrzej.ratajewski@intel.com> Signed-off-by: Sidorov, Dmitry <dmitry.sidorov@intel.com>
…3343) Spec is available here: intel/llvm#20009 Author: "Ratajewski, Andrzej" <andrzej.ratajewski@intel.com> Signed-off-by: Sidorov, Dmitry <dmitry.sidorov@intel.com>
…3343) Spec is available here: intel/llvm#20009 Author: "Ratajewski, Andrzej" <andrzej.ratajewski@intel.com> Signed-off-by: Sidorov, Dmitry <dmitry.sidorov@intel.com>
…3343) Spec is available here: intel/llvm#20009 Author: "Ratajewski, Andrzej" <andrzej.ratajewski@intel.com> Signed-off-by: Sidorov, Dmitry <dmitry.sidorov@intel.com>
…3343) Spec is available here: intel/llvm#20009 Author: "Ratajewski, Andrzej" <andrzej.ratajewski@intel.com> Signed-off-by: Sidorov, Dmitry <dmitry.sidorov@intel.com>
…3343) Spec is available here: intel/llvm#20009 Author: "Ratajewski, Andrzej" <andrzej.ratajewski@intel.com> Signed-off-by: Sidorov, Dmitry <dmitry.sidorov@intel.com>
…on (#3343) (#3344) Spec is available here: intel/llvm#20009 Author: "Ratajewski, Andrzej" <andrzej.ratajewski@intel.com> --------- Signed-off-by: Sidorov, Dmitry <dmitry.sidorov@intel.com>
…on (#3343) (#3345) Spec is available here: intel/llvm#20009 Author: "Ratajewski, Andrzej" <andrzej.ratajewski@intel.com> --------- Signed-off-by: Sidorov, Dmitry <dmitry.sidorov@intel.com>
…on (#3343) (#3346) Spec is available here: intel/llvm#20009 Author: "Ratajewski, Andrzej" <andrzej.ratajewski@intel.com> --------- Signed-off-by: Sidorov, Dmitry <dmitry.sidorov@intel.com>
…on (#3343) (#3347) Spec is available here: intel/llvm#20009 Author: "Ratajewski, Andrzej" <andrzej.ratajewski@intel.com> --------- Signed-off-by: Sidorov, Dmitry <dmitry.sidorov@intel.com>
…on (#3343) (#3348) Spec is available here: intel/llvm#20009 Author: "Ratajewski, Andrzej" <andrzej.ratajewski@intel.com> Signed-off-by: Sidorov, Dmitry <dmitry.sidorov@intel.com>
…on (#3343) (#3349) Spec is available here: intel/llvm#20009 Author: "Ratajewski, Andrzej" <andrzej.ratajewski@intel.com> Signed-off-by: Sidorov, Dmitry <dmitry.sidorov@intel.com>
|
We may want to consider broadening this extension to support 16-bit atomics more generally vs. just bfloat16 atomics. Here's what this might look like:
Just like in this current draft for bfloat16 atomics, I don't think we would need any new instructions, and would just support 16-bit types for existing atomic instructions. |
…on (KhronosGroup#3343) Spec is available here: intel/llvm#20009 Author: "Ratajewski, Andrzej" <andrzej.ratajewski@intel.com> Signed-off-by: Sidorov, Dmitry <dmitry.sidorov@intel.com>
…on (#3343) Spec is available here: intel/llvm#20009 Author: "Ratajewski, Andrzej" <andrzej.ratajewski@intel.com> Signed-off-by: Sidorov, Dmitry <dmitry.sidorov@intel.com>
…3343) Spec is available here: intel/llvm#20009 Author: "Ratajewski, Andrzej" <andrzej.ratajewski@intel.com> Signed-off-by: Sidorov, Dmitry <dmitry.sidorov@intel.com>
…on (KhronosGroup#3343) Spec is available here: intel/llvm#20009 Author: "Ratajewski, Andrzej" <andrzej.ratajewski@intel.com> Signed-off-by: Sidorov, Dmitry <dmitry.sidorov@intel.com>
Spec is available here: #20009 Author: "Ratajewski, Andrzej" <andrzej.ratajewski@intel.com> Signed-off-by: Sidorov, Dmitry <dmitry.sidorov@intel.com> Original commit: KhronosGroup/SPIRV-LLVM-Translator@8e8c02c4b803062
…on (KhronosGroup#3343) Spec is available here: intel/llvm#20009 Author: "Ratajewski, Andrzej" <andrzej.ratajewski@intel.com> Signed-off-by: Sidorov, Dmitry <dmitry.sidorov@intel.com>
…on (KhronosGroup#3343) Spec is available here: intel/llvm#20009 Author: "Ratajewski, Andrzej" <andrzej.ratajewski@intel.com> note for llvm14 branch: removed atomicrmw_fminfmax.ll test as it seems like llvm14 don't have atomicrmw fmin Signed-off-by: Sidorov, Dmitry <dmitry.sidorov@intel.com>
…on (KhronosGroup#3343) Spec is available here: intel/llvm#20009 Author: "Ratajewski, Andrzej" <andrzej.ratajewski@intel.com> note for llvm14 branch: removed atomicrmw_fminfmax.ll test as it seems like llvm14 don't have atomicrmw fmin Signed-off-by: Sidorov, Dmitry <dmitry.sidorov@intel.com>
…on (#3343) Spec is available here: intel/llvm#20009 Author: "Ratajewski, Andrzej" <andrzej.ratajewski@intel.com> note for llvm14 branch: removed atomicrmw_fminfmax.ll test as it seems like llvm14 don't have atomicrmw fmin Signed-off-by: Sidorov, Dmitry <dmitry.sidorov@intel.com>
…pes generally Signed-off-by: Ben Ashbaugh <ben.ashbaugh@intel.com>
|
I've generalized this extension for 16-bit atomics, as described above. The SPIR-V extension still contains separate capabilities, so it is possible to only support bfloat16 atomics if desired, but it is also possible to support 16-bit integer atomics as well. Note that fp16 atomics are already supported by other extensions. The OpenCL extension proposal in this PR shows possible API queries so implementations could advertise only the 16-bit atomic operations they support. |
Adds the proposed SPV_INTEL_shader_atomic_bfloat16 extension specification, which extends the floating-point atomic support in SPIR-V to support floating-point atomic addition, minimum, and maximum on 16-bit bfloat16 floating-point numbers in memory.