Start GPU Dialect
authorAlex Zinenko <zinenko@google.com>
Mon, 29 Apr 2019 10:00:25 +0000 (03:00 -0700)
committerMehdi Amini <joker.eph@gmail.com>
Mon, 6 May 2019 15:20:08 +0000 (08:20 -0700)
commitaae8a7446e3894f361ecedb5368dab69ad17e061
tree8460113cbc779cf109273f28d48be44fe8764d18
parent4c74f1bf38d9b738009e40be05015b565f53c33d
Start GPU Dialect

    Define a new dialect related to GPU kernels.  Currently, it only contains a
    single operation for launching a kernel on a three-dimensional grid of thread
    blocks, following a model similar to that of CUDA.  In particular, the body of
    the kernel contains operations executed by each thread and uses region
    arguments to accept thread and block identifiers (similar to how the loop body
    region accepts the induction value).

--

PiperOrigin-RevId: 245713728
mlir/g3doc/Dialects/GPU.md [new file with mode: 0644]
mlir/include/mlir/GPU/GPUDialect.h [new file with mode: 0644]
mlir/include/mlir/IR/Block.h
mlir/include/mlir/IR/OpDefinition.h
mlir/lib/CMakeLists.txt
mlir/lib/GPU/CMakeLists.txt [new file with mode: 0644]
mlir/lib/GPU/IR/DialectRegistration.cpp [new file with mode: 0644]
mlir/lib/GPU/IR/GPUDialect.cpp [new file with mode: 0644]
mlir/lib/IR/Block.cpp
mlir/test/GPU/invalid.mlir [new file with mode: 0644]
mlir/test/GPU/ops.mlir [new file with mode: 0644]