| # RUN: %PYTHON %s | FileCheck %s |
| # This is just a smoke test that the dialect is functional. |
| |
| from mlir.ir import * |
| from mlir.dialects import nvgpu, arith, memref |
| |
| |
| def constructAndPrintInModule(f): |
| print("\nTEST:", f.__name__) |
| with Context(), Location.unknown(): |
| module = Module.create() |
| with InsertionPoint(module.body): |
| f() |
| print(module) |
| return f |
| |
| |
| # CHECK-LABEL: testSmoke |
| @constructAndPrintInModule |
| def testSmoke(): |
| cst = arith.ConstantOp(value=42, result=IndexType.get()) |
| mem_t = MemRefType.get((10, 10), F32Type.get(), memory_space=Attribute.parse("3")) |
| vec_t = VectorType.get((4, 1), F32Type.get()) |
| mem = memref.AllocOp(mem_t, [], []) |
| # CHECK: %0 = nvgpu.ldmatrix %alloc[%c42, %c42] {numTiles = 4 : i32, transpose = false} : memref<10x10xf32, 3> -> vector<4x1xf32> |
| nvgpu.LdMatrixOp(vec_t, mem, [cst, cst], False, 4) |