intel / intel/mlir-extensions

[Triton] To inline the VC intrinsic in the SIMT kernel.

Open
#658 9 comments 1 reaction 0 assignees View on GitHub
Dominant language
MLIR
Stars
156
Forks
45
Avg merge
4h 14m
Merged PRs (30d)
22

Description

## Background
The Triton kernel is generated as SIMT major SPIRV kernel. It is because some component has to be used with SIMT paradigm. Like: Intel math library is only SIMT version.
But for some minor portion of the kernel, we might have to use the SIMD paradigm for performance or functionality. Like: we may want to use the VC intrinsic in the Triton kernel.

We are working on enabling SIMT->SIMD calling convention on Triton kernel.
https://github.com/intel/llvm/blob/sycl/sycl/doc/extensions/experimental/sycl_ext_oneapi_invoke_simd.asciidoc

By doing so, we can codegen SIMD paradigm code for parts of the kernel.

## The requirements
We referred the SPIRV generated by the DPCPP which is SIMT+SIMD. We need to refer the SPIRV kernel function directly thru a function pointer.
https://github.com/intel/llvm/blob/sycl/sycl/doc/design/spirv-extensions/SPV_INTEL_function_pointers.asciidoc

We need the SPIRV dialect to support this.

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.