From 0744d6e6c9bc2f589eaf4451e639c8cbfe5acb4d Mon Sep 17 00:00:00 2001 From: Abhishek Varma Date: Tue, 9 Apr 2024 19:42:50 +0530 Subject: [PATCH 1/3] [AMD-AIE] Fix ObjectFifoStatefulTransform to handle nested loops (#1164) Signed-off-by: Jorn Tuyls Co-authored-by: Jorn Tuyls --- .../AIEObjectFifoStatefulTransform.cpp | 40 ++++-- .../nested_loop_test.mlir | 126 ++++++++++++++++++ 2 files changed, 155 insertions(+), 11 deletions(-) create mode 100644 test/objectFifo-stateful-transform/nested_loop_test.mlir diff --git a/lib/Dialect/AIE/Transforms/AIEObjectFifoStatefulTransform.cpp b/lib/Dialect/AIE/Transforms/AIEObjectFifoStatefulTransform.cpp index 46741dab04..0d84bc31cb 100644 --- a/lib/Dialect/AIE/Transforms/AIEObjectFifoStatefulTransform.cpp +++ b/lib/Dialect/AIE/Transforms/AIEObjectFifoStatefulTransform.cpp @@ -848,6 +848,34 @@ struct AIEObjectFifoStatefulTransformPass std::vector> &dependencies, Value base, int64_t step, bool inLoop) { std::vector duplicatedOperations; // operations in current + // Recursive function to replace operands, uses recursion to handle nested + // loop structures. + std::function replaceOpsNested = + [&](Operation *op, unsigned &opIndex, + unsigned numDuplications) -> void { + if (auto loopOp = dyn_cast(op)) { + Block *body = loopOp.getBody(); + auto withoutTerminator = --body->end(); + // NOTE(jornt): This only handles the cases where the nested scf::for is + // located at the start of the body. This should be the most common + // case, but is not fully generic. + if (auto nestedLoop = dyn_cast(body->begin())) { + opIndex++; + replaceOperands(builder, nestedLoop, opIndex, base, step, inLoop, + numDuplications, dependencies, duplicatedOperations); + replaceOpsNested(nestedLoop, opIndex, numDuplications); + } else { + for (auto loopBodyOp = body->begin(); loopBodyOp != withoutTerminator; + ++loopBodyOp) { + opIndex++; + replaceOperands(builder, &*loopBodyOp, opIndex, base, step, inLoop, + numDuplications, dependencies, + duplicatedOperations); + } + } + } + }; + // duplication iteration for (int i = 0; i < numDuplications; i++) { duplicatedOperations.clear(); @@ -858,17 +886,7 @@ struct AIEObjectFifoStatefulTransformPass replaceOperands(builder, clone, opIndex, base, step, inLoop, i, dependencies, duplicatedOperations); builder.insert(clone); - - if (auto nestedLoop = dyn_cast(clone)) { - Block *body = nestedLoop.getBody(); - auto withoutTerminator = --body->end(); - for (auto loopOp = body->begin(); loopOp != withoutTerminator; - ++loopOp) { - opIndex++; - replaceOperands(builder, &*loopOp, opIndex, base, step, inLoop, i, - dependencies, duplicatedOperations); - } - } + replaceOpsNested(clone, opIndex, i); } } } diff --git a/test/objectFifo-stateful-transform/nested_loop_test.mlir b/test/objectFifo-stateful-transform/nested_loop_test.mlir new file mode 100644 index 0000000000..12d35fce7e --- /dev/null +++ b/test/objectFifo-stateful-transform/nested_loop_test.mlir @@ -0,0 +1,126 @@ +//===- nested_loop_test.mlir -----------------------------------------*- MLIR -*-===// +// +// Copyright (C) 2024, Advanced Micro Devices, Inc. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +// Date: April 3rd 2024 +// +//===----------------------------------------------------------------------===// + +// RUN: aie-opt --aie-objectFifo-stateful-transform %s | FileCheck %s + +// CHECK-LABEL: aie.device(ipu) +// CHECK: scf.for +// CHECK: { +// CHECK: aie.use_lock +// CHECK: memref.reinterpret_cast +// CHECK: aie.use_lock +// CHECK: memref.reinterpret_cast +// CHECK: scf.for +// CHECK: { +// CHECK: scf.for +// CHECK: { +// CHECK: scf.for +// CHECK: { +// CHECK: scf.for +// CHECK: { +// CHECK: scf.for +// CHECK: { +// CHECK: scf.for +// CHECK: { +// CHECK: memref.load +// CHECK: memref.load +// CHECK: memref.load +// CHECK: arith.muli +// CHECK: arith.addi +// CHECK: memref.store +// CHECK: } +// CHECK: } +// CHECK: } +// CHECK: } +// CHECK: } +// CHECK: } +// CHECK: aie.use_lock +// CHECK: aie.use_lock +// CHECK: aie.use_lock +// CHECK: memref.reinterpret_cast +// CHECK: aie.use_lock +// CHECK: memref.reinterpret_cast +// CHECK: scf.for +// CHECK: { +// CHECK: scf.for +// CHECK: { +// CHECK: scf.for +// CHECK: { +// CHECK: scf.for +// CHECK: { +// CHECK: scf.for +// CHECK: { +// CHECK: scf.for +// CHECK: { +// CHECK: memref.load +// CHECK: memref.load +// CHECK: memref.load +// CHECK: arith.muli +// CHECK: arith.addi +// CHECK: memref.store +// CHECK: } +// CHECK: } +// CHECK: } +// CHECK: } +// CHECK: } +// CHECK: } +// CHECK: aie.use_lock +// CHECK: aie.use_lock +// CHECK: } + +aie.device(ipu) { + %tile_0_1 = aie.tile(0, 1) + %tile_1_2 = aie.tile(1, 2) + %tile_0_2 = aie.tile(0, 2) + aie.objectfifo @in2(%tile_0_1, {%tile_0_2, %tile_1_2}, 4 : i32) : !aie.objectfifo> + aie.objectfifo @in7(%tile_0_1, {%tile_1_2}, 4 : i32) : !aie.objectfifo> + aie.objectfifo @in8(%tile_1_2, {%tile_0_1}, 4 : i32) : !aie.objectfifo> + %core_1_2 = aie.core(%tile_1_2) { + %c8 = arith.constant 8 : index + %c1 = arith.constant 1 : index + %c4 = arith.constant 4 : index + %c0 = arith.constant 0 : index + %c64 = arith.constant 64 : index + %c960 = arith.constant 960 : index + %0 = aie.objectfifo.acquire @in8(Produce, 1) : !aie.objectfifosubview> + %1 = aie.objectfifo.subview.access %0[0] : !aie.objectfifosubview> -> memref<32x32xi32, 1> + %reinterpret_cast = memref.reinterpret_cast %1 to offset: [0], sizes: [4, 8, 4, 8], strides: [256, 32, 8, 1] : memref<32x32xi32, 1> to memref<4x8x4x8xi32, 1> + aie.objectfifo.release @in2(Consume, 1) + aie.objectfifo.release @in7(Consume, 1) + scf.for %arg0 = %c64 to %c960 step %c64 { + %10 = aie.objectfifo.acquire @in2(Consume, 1) : !aie.objectfifosubview> + %11 = aie.objectfifo.subview.access %10[0] : !aie.objectfifosubview> -> memref<32x64xi32, 1> + %reinterpret_cast_4 = memref.reinterpret_cast %11 to offset: [0], sizes: [8, 8, 4, 8], strides: [256, 32, 8, 1] : memref<32x64xi32, 1> to memref<8x8x4x8xi32, 1> + %12 = aie.objectfifo.acquire @in7(Consume, 1) : !aie.objectfifosubview> + %13 = aie.objectfifo.subview.access %12[0] : !aie.objectfifosubview> -> memref<64x32xi32, 1> + %reinterpret_cast_5 = memref.reinterpret_cast %13 to offset: [0], sizes: [4, 8, 8, 8], strides: [512, 64, 8, 1] : memref<64x32xi32, 1> to memref<4x8x8x8xi32, 1> + scf.for %arg1 = %c0 to %c8 step %c1 { + scf.for %arg2 = %c0 to %c4 step %c1 { + scf.for %arg3 = %c0 to %c8 step %c1 { + scf.for %arg4 = %c0 to %c4 step %c1 { + scf.for %arg5 = %c0 to %c8 step %c1 { + scf.for %arg6 = %c0 to %c8 step %c1 { + %14 = memref.load %reinterpret_cast_4[%arg3, %arg1, %arg4, %arg6] : memref<8x8x4x8xi32, 1> + %15 = memref.load %reinterpret_cast_5[%arg2, %arg3, %arg6, %arg5] : memref<4x8x8x8xi32, 1> + %16 = memref.load %reinterpret_cast[%arg2, %arg1, %arg4, %arg5] : memref<4x8x4x8xi32, 1> + %17 = arith.muli %14, %15 : i32 + %18 = arith.addi %16, %17 : i32 + memref.store %18, %reinterpret_cast[%arg2, %arg1, %arg4, %arg5] : memref<4x8x4x8xi32, 1> + } + } + } + } + } + } + aie.objectfifo.release @in2(Consume, 1) + aie.objectfifo.release @in7(Consume, 1) + } + aie.end + } +} \ No newline at end of file From 69bebf8ce1e866145d4541351fe94fd7e0b120c3 Mon Sep 17 00:00:00 2001 From: Jeff Fifield Date: Tue, 9 Apr 2024 10:10:08 -0600 Subject: [PATCH 2/3] Rename tutorials folder (#1190) Co-authored-by: AndraBisca Co-authored-by: Jack Lo <36210336+jackl-xilinx@users.noreply.github.com> --- CMakeLists.txt | 2 +- {tutorials => mlir_tutorials}/CMakeLists.txt | 0 {tutorials => mlir_tutorials}/README.md | 0 .../images/OF_broadcast.png | Bin .../images/OF_external_mem.png | Bin .../images/OF_non_shared.png | Bin {tutorials => mlir_tutorials}/images/OF_shared.png | Bin {tutorials => mlir_tutorials}/images/answer1.jpg | Bin {tutorials => mlir_tutorials}/images/diagram0.jpg | Bin {tutorials => mlir_tutorials}/images/diagram1.png | Bin {tutorials => mlir_tutorials}/images/diagram10.jpg | Bin {tutorials => mlir_tutorials}/images/diagram11.jpg | Bin {tutorials => mlir_tutorials}/images/diagram3.png | Bin {tutorials => mlir_tutorials}/images/diagram4.png | Bin {tutorials => mlir_tutorials}/images/diagram5.jpg | Bin {tutorials => mlir_tutorials}/images/diagram6.png | Bin {tutorials => mlir_tutorials}/images/diagram7.jpg | Bin {tutorials => mlir_tutorials}/images/diagram8.jpg | Bin {tutorials => mlir_tutorials}/images/diagram9.png | Bin {tutorials => mlir_tutorials}/images/intro1.png | Bin {tutorials => mlir_tutorials}/images/intro2.png | Bin {tutorials => mlir_tutorials}/images/intro3.png | Bin {tutorials => mlir_tutorials}/images/intro4.png | Bin {tutorials => mlir_tutorials}/images/intro5.png | Bin .../images/routing_visualization.png | Bin {tutorials => mlir_tutorials}/images/wave0.jpg | Bin {tutorials => mlir_tutorials}/images/wave1.jpg | Bin {tutorials => mlir_tutorials}/lit.cfg.py | 0 {tutorials => mlir_tutorials}/lit.local.cfg | 0 {tutorials => mlir_tutorials}/lit.site.cfg.py.in | 0 {tutorials => mlir_tutorials}/makefile-common | 0 {tutorials => mlir_tutorials}/scripts/visualize.py | 0 {tutorials => mlir_tutorials}/tutorial-1/Makefile | 0 {tutorials => mlir_tutorials}/tutorial-1/README.md | 0 {tutorials => mlir_tutorials}/tutorial-1/aie.mlir | 0 .../tutorial-1/answers/aie_q5.mlir | 0 .../tutorial-1/answers/aie_q6.mlir | 0 {tutorials => mlir_tutorials}/tutorial-1/test.cpp | 0 {tutorials => mlir_tutorials}/tutorial-10/README.md | 0 {tutorials => mlir_tutorials}/tutorial-11/README.md | 0 {tutorials => mlir_tutorials}/tutorial-2/README.md | 0 .../tutorial-2/tutorial-2a/Makefile | 0 .../tutorial-2/tutorial-2a/README.md | 0 .../tutorial-2/tutorial-2a/aie.mlir | 0 .../tutorial-2/tutorial-2a/test.cpp | 0 .../tutorial-2/tutorial-2b/Makefile | 0 .../tutorial-2/tutorial-2b/README.md | 0 .../tutorial-2/tutorial-2b/aie.mlir | 0 .../tutorial-2/tutorial-2b/answers/tutorial-2b.gtkw | 0 .../tutorial-2/tutorial-2b/test.cpp | 0 .../tutorial-2/tutorial-2c/Makefile | 0 .../tutorial-2/tutorial-2c/README.md | 0 .../tutorial-2/tutorial-2c/aie.mlir | 0 .../tutorial-2/tutorial-2c/answers/aie_empty.mlir | 0 .../tutorial-2c/answers/aie_real_empty.mlir | 0 .../tutorial-2/tutorial-2c/answers/test_perf.cpp | 0 .../tutorial-2/tutorial-2c/test.cpp | 0 {tutorials => mlir_tutorials}/tutorial-3/Makefile | 0 {tutorials => mlir_tutorials}/tutorial-3/README.md | 0 {tutorials => mlir_tutorials}/tutorial-3/aie.mlir | 0 .../tutorial-3/answers/aie_perf.mlir | 0 .../tutorial-3/answers/test_perf.cpp | 0 .../tutorial-3/objectFifo_ver/Makefile | 0 .../tutorial-3/objectFifo_ver/README.md | 0 .../tutorial-3/objectFifo_ver/aie.mlir | 0 .../tutorial-3/objectFifo_ver/test.cpp | 0 {tutorials => mlir_tutorials}/tutorial-3/test.cpp | 0 {tutorials => mlir_tutorials}/tutorial-4/Makefile | 0 {tutorials => mlir_tutorials}/tutorial-4/README.md | 0 {tutorials => mlir_tutorials}/tutorial-4/aie.mlir | 0 .../tutorial-4/flow/Makefile | 0 .../tutorial-4/flow/README.md | 0 .../tutorial-4/flow/aie.mlir | 0 .../tutorial-4/flow/answers/aie_q5.mlir | 0 .../tutorial-4/flow/answers/test_perf.cpp | 0 .../tutorial-4/flow/answers/test_q5.cpp | 0 .../tutorial-4/flow/answers/tutorial-4_perf.gtkw | 0 .../tutorial-4/flow/test.cpp | 0 .../tutorial-4/switchbox/Makefile | 0 .../tutorial-4/switchbox/README.md | 0 .../tutorial-4/switchbox/aie.mlir | 0 .../tutorial-4/switchbox/path/pathfinder_input.mlir | 0 .../tutorial-4/switchbox/test.cpp | 0 {tutorials => mlir_tutorials}/tutorial-4/test.cpp | 0 {tutorials => mlir_tutorials}/tutorial-5/Makefile | 0 {tutorials => mlir_tutorials}/tutorial-5/README.md | 0 {tutorials => mlir_tutorials}/tutorial-5/aie.mlir | 0 .../tutorial-5/flow/Makefile | 0 .../tutorial-5/flow/README.md | 0 .../tutorial-5/flow/aie.mlir | 0 .../tutorial-5/flow/test.cpp | 2 +- {tutorials => mlir_tutorials}/tutorial-5/test.cpp | 0 {tutorials => mlir_tutorials}/tutorial-6/Makefile | 0 {tutorials => mlir_tutorials}/tutorial-6/README.md | 0 {tutorials => mlir_tutorials}/tutorial-6/aie.mlir | 0 {tutorials => mlir_tutorials}/tutorial-6/test.cpp | 0 {tutorials => mlir_tutorials}/tutorial-7/Makefile | 0 {tutorials => mlir_tutorials}/tutorial-7/README.md | 0 {tutorials => mlir_tutorials}/tutorial-7/aie.mlir | 0 .../tutorial-7/flow/Makefile | 0 .../tutorial-7/flow/README.md | 0 .../tutorial-7/flow/aie.mlir | 0 .../tutorial-7/flow/test.cpp | 0 .../tutorial-7/switchbox/Makefile | 0 .../tutorial-7/switchbox/README.md | 0 .../tutorial-7/switchbox/aie.mlir | 0 .../tutorial-7/switchbox/test.cpp | 0 {tutorials => mlir_tutorials}/tutorial-7/test.cpp | 0 {tutorials => mlir_tutorials}/tutorial-8/Makefile | 0 {tutorials => mlir_tutorials}/tutorial-8/README.md | 0 {tutorials => mlir_tutorials}/tutorial-8/aie.mlir | 0 .../tutorial-8/answers/aie.mlir | 0 {tutorials => mlir_tutorials}/tutorial-8/kernel1.cc | 0 {tutorials => mlir_tutorials}/tutorial-8/kernel2.cc | 0 {tutorials => mlir_tutorials}/tutorial-8/test.cpp | 0 {tutorials => mlir_tutorials}/tutorial-9/Makefile | 0 {tutorials => mlir_tutorials}/tutorial-9/README.md | 0 {tutorials => mlir_tutorials}/tutorial-9/aie.mlir | 0 .../tutorial-9/answers/aie_matmul.mlir | 0 .../tutorial-9/answers/test_matmul_perf.cpp | 0 .../tutorial-9/answers/test_perf.cpp | 0 .../tutorial-9/external_kernel/Makefile | 0 .../tutorial-9/external_kernel/kernel.cc | 0 .../tutorial-9/external_kernel/kernel.h | 0 .../tutorial-9/external_kernel/sim.tcl | 0 .../tutorial-9/external_kernel/test.cc | 0 .../tutorial-9/external_kernel/test.prx | 0 .../tutorial-9/matmul_kernel/Makefile | 0 .../tutorial-9/matmul_kernel/kernel.cc | 0 .../tutorial-9/matmul_kernel/kernel.h | 0 .../tutorial-9/matmul_kernel/sim.tcl | 0 .../tutorial-9/matmul_kernel/test.cc | 0 .../tutorial-9/matmul_kernel/test.prx | 0 {tutorials => mlir_tutorials}/tutorial-9/test.cpp | 0 134 files changed, 2 insertions(+), 2 deletions(-) rename {tutorials => mlir_tutorials}/CMakeLists.txt (100%) rename {tutorials => mlir_tutorials}/README.md (100%) rename {tutorials => mlir_tutorials}/images/OF_broadcast.png (100%) rename {tutorials => mlir_tutorials}/images/OF_external_mem.png (100%) rename {tutorials => mlir_tutorials}/images/OF_non_shared.png (100%) rename {tutorials => mlir_tutorials}/images/OF_shared.png (100%) rename {tutorials => mlir_tutorials}/images/answer1.jpg (100%) rename {tutorials => mlir_tutorials}/images/diagram0.jpg (100%) rename {tutorials => mlir_tutorials}/images/diagram1.png (100%) rename {tutorials => mlir_tutorials}/images/diagram10.jpg (100%) rename {tutorials => mlir_tutorials}/images/diagram11.jpg (100%) rename {tutorials => mlir_tutorials}/images/diagram3.png (100%) rename {tutorials => mlir_tutorials}/images/diagram4.png (100%) rename {tutorials => mlir_tutorials}/images/diagram5.jpg (100%) rename {tutorials => mlir_tutorials}/images/diagram6.png (100%) rename {tutorials => mlir_tutorials}/images/diagram7.jpg (100%) rename {tutorials => mlir_tutorials}/images/diagram8.jpg (100%) rename {tutorials => mlir_tutorials}/images/diagram9.png (100%) rename {tutorials => mlir_tutorials}/images/intro1.png (100%) rename {tutorials => mlir_tutorials}/images/intro2.png (100%) rename {tutorials => mlir_tutorials}/images/intro3.png (100%) rename {tutorials => mlir_tutorials}/images/intro4.png (100%) rename {tutorials => mlir_tutorials}/images/intro5.png (100%) rename {tutorials => mlir_tutorials}/images/routing_visualization.png (100%) rename {tutorials => mlir_tutorials}/images/wave0.jpg (100%) rename {tutorials => mlir_tutorials}/images/wave1.jpg (100%) rename {tutorials => mlir_tutorials}/lit.cfg.py (100%) rename {tutorials => mlir_tutorials}/lit.local.cfg (100%) rename {tutorials => mlir_tutorials}/lit.site.cfg.py.in (100%) rename {tutorials => mlir_tutorials}/makefile-common (100%) rename {tutorials => mlir_tutorials}/scripts/visualize.py (100%) rename {tutorials => mlir_tutorials}/tutorial-1/Makefile (100%) rename {tutorials => mlir_tutorials}/tutorial-1/README.md (100%) rename {tutorials => mlir_tutorials}/tutorial-1/aie.mlir (100%) rename {tutorials => mlir_tutorials}/tutorial-1/answers/aie_q5.mlir (100%) rename {tutorials => mlir_tutorials}/tutorial-1/answers/aie_q6.mlir (100%) rename {tutorials => mlir_tutorials}/tutorial-1/test.cpp (100%) rename {tutorials => mlir_tutorials}/tutorial-10/README.md (100%) rename {tutorials => mlir_tutorials}/tutorial-11/README.md (100%) rename {tutorials => mlir_tutorials}/tutorial-2/README.md (100%) rename {tutorials => mlir_tutorials}/tutorial-2/tutorial-2a/Makefile (100%) rename {tutorials => mlir_tutorials}/tutorial-2/tutorial-2a/README.md (100%) rename {tutorials => mlir_tutorials}/tutorial-2/tutorial-2a/aie.mlir (100%) rename {tutorials => mlir_tutorials}/tutorial-2/tutorial-2a/test.cpp (100%) rename {tutorials => mlir_tutorials}/tutorial-2/tutorial-2b/Makefile (100%) rename {tutorials => mlir_tutorials}/tutorial-2/tutorial-2b/README.md (100%) rename {tutorials => mlir_tutorials}/tutorial-2/tutorial-2b/aie.mlir (100%) rename {tutorials => mlir_tutorials}/tutorial-2/tutorial-2b/answers/tutorial-2b.gtkw (100%) rename {tutorials => mlir_tutorials}/tutorial-2/tutorial-2b/test.cpp (100%) rename {tutorials => mlir_tutorials}/tutorial-2/tutorial-2c/Makefile (100%) rename {tutorials => mlir_tutorials}/tutorial-2/tutorial-2c/README.md (100%) rename {tutorials => mlir_tutorials}/tutorial-2/tutorial-2c/aie.mlir (100%) rename {tutorials => mlir_tutorials}/tutorial-2/tutorial-2c/answers/aie_empty.mlir (100%) rename {tutorials => mlir_tutorials}/tutorial-2/tutorial-2c/answers/aie_real_empty.mlir (100%) rename {tutorials => mlir_tutorials}/tutorial-2/tutorial-2c/answers/test_perf.cpp (100%) rename {tutorials => mlir_tutorials}/tutorial-2/tutorial-2c/test.cpp (100%) rename {tutorials => mlir_tutorials}/tutorial-3/Makefile (100%) rename {tutorials => mlir_tutorials}/tutorial-3/README.md (100%) rename {tutorials => mlir_tutorials}/tutorial-3/aie.mlir (100%) rename {tutorials => mlir_tutorials}/tutorial-3/answers/aie_perf.mlir (100%) rename {tutorials => mlir_tutorials}/tutorial-3/answers/test_perf.cpp (100%) rename {tutorials => mlir_tutorials}/tutorial-3/objectFifo_ver/Makefile (100%) rename {tutorials => mlir_tutorials}/tutorial-3/objectFifo_ver/README.md (100%) rename {tutorials => mlir_tutorials}/tutorial-3/objectFifo_ver/aie.mlir (100%) rename {tutorials => mlir_tutorials}/tutorial-3/objectFifo_ver/test.cpp (100%) rename {tutorials => mlir_tutorials}/tutorial-3/test.cpp (100%) rename {tutorials => mlir_tutorials}/tutorial-4/Makefile (100%) rename {tutorials => mlir_tutorials}/tutorial-4/README.md (100%) rename {tutorials => mlir_tutorials}/tutorial-4/aie.mlir (100%) rename {tutorials => mlir_tutorials}/tutorial-4/flow/Makefile (100%) rename {tutorials => mlir_tutorials}/tutorial-4/flow/README.md (100%) rename {tutorials => mlir_tutorials}/tutorial-4/flow/aie.mlir (100%) rename {tutorials => mlir_tutorials}/tutorial-4/flow/answers/aie_q5.mlir (100%) rename {tutorials => mlir_tutorials}/tutorial-4/flow/answers/test_perf.cpp (100%) rename {tutorials => mlir_tutorials}/tutorial-4/flow/answers/test_q5.cpp (100%) rename {tutorials => mlir_tutorials}/tutorial-4/flow/answers/tutorial-4_perf.gtkw (100%) rename {tutorials => mlir_tutorials}/tutorial-4/flow/test.cpp (100%) rename {tutorials => mlir_tutorials}/tutorial-4/switchbox/Makefile (100%) rename {tutorials => mlir_tutorials}/tutorial-4/switchbox/README.md (100%) rename {tutorials => mlir_tutorials}/tutorial-4/switchbox/aie.mlir (100%) rename {tutorials => mlir_tutorials}/tutorial-4/switchbox/path/pathfinder_input.mlir (100%) rename {tutorials => mlir_tutorials}/tutorial-4/switchbox/test.cpp (100%) rename {tutorials => mlir_tutorials}/tutorial-4/test.cpp (100%) rename {tutorials => mlir_tutorials}/tutorial-5/Makefile (100%) rename {tutorials => mlir_tutorials}/tutorial-5/README.md (100%) rename {tutorials => mlir_tutorials}/tutorial-5/aie.mlir (100%) rename {tutorials => mlir_tutorials}/tutorial-5/flow/Makefile (100%) rename {tutorials => mlir_tutorials}/tutorial-5/flow/README.md (100%) rename {tutorials => mlir_tutorials}/tutorial-5/flow/aie.mlir (100%) rename {tutorials => mlir_tutorials}/tutorial-5/flow/test.cpp (98%) rename {tutorials => mlir_tutorials}/tutorial-5/test.cpp (100%) rename {tutorials => mlir_tutorials}/tutorial-6/Makefile (100%) rename {tutorials => mlir_tutorials}/tutorial-6/README.md (100%) rename {tutorials => mlir_tutorials}/tutorial-6/aie.mlir (100%) rename {tutorials => mlir_tutorials}/tutorial-6/test.cpp (100%) rename {tutorials => mlir_tutorials}/tutorial-7/Makefile (100%) rename {tutorials => mlir_tutorials}/tutorial-7/README.md (100%) rename {tutorials => mlir_tutorials}/tutorial-7/aie.mlir (100%) rename {tutorials => mlir_tutorials}/tutorial-7/flow/Makefile (100%) rename {tutorials => mlir_tutorials}/tutorial-7/flow/README.md (100%) rename {tutorials => mlir_tutorials}/tutorial-7/flow/aie.mlir (100%) rename {tutorials => mlir_tutorials}/tutorial-7/flow/test.cpp (100%) rename {tutorials => mlir_tutorials}/tutorial-7/switchbox/Makefile (100%) rename {tutorials => mlir_tutorials}/tutorial-7/switchbox/README.md (100%) rename {tutorials => mlir_tutorials}/tutorial-7/switchbox/aie.mlir (100%) rename {tutorials => mlir_tutorials}/tutorial-7/switchbox/test.cpp (100%) rename {tutorials => mlir_tutorials}/tutorial-7/test.cpp (100%) rename {tutorials => mlir_tutorials}/tutorial-8/Makefile (100%) rename {tutorials => mlir_tutorials}/tutorial-8/README.md (100%) rename {tutorials => mlir_tutorials}/tutorial-8/aie.mlir (100%) rename {tutorials => mlir_tutorials}/tutorial-8/answers/aie.mlir (100%) rename {tutorials => mlir_tutorials}/tutorial-8/kernel1.cc (100%) rename {tutorials => mlir_tutorials}/tutorial-8/kernel2.cc (100%) rename {tutorials => mlir_tutorials}/tutorial-8/test.cpp (100%) rename {tutorials => mlir_tutorials}/tutorial-9/Makefile (100%) rename {tutorials => mlir_tutorials}/tutorial-9/README.md (100%) rename {tutorials => mlir_tutorials}/tutorial-9/aie.mlir (100%) rename {tutorials => mlir_tutorials}/tutorial-9/answers/aie_matmul.mlir (100%) rename {tutorials => mlir_tutorials}/tutorial-9/answers/test_matmul_perf.cpp (100%) rename {tutorials => mlir_tutorials}/tutorial-9/answers/test_perf.cpp (100%) rename {tutorials => mlir_tutorials}/tutorial-9/external_kernel/Makefile (100%) rename {tutorials => mlir_tutorials}/tutorial-9/external_kernel/kernel.cc (100%) rename {tutorials => mlir_tutorials}/tutorial-9/external_kernel/kernel.h (100%) rename {tutorials => mlir_tutorials}/tutorial-9/external_kernel/sim.tcl (100%) rename {tutorials => mlir_tutorials}/tutorial-9/external_kernel/test.cc (100%) rename {tutorials => mlir_tutorials}/tutorial-9/external_kernel/test.prx (100%) rename {tutorials => mlir_tutorials}/tutorial-9/matmul_kernel/Makefile (100%) rename {tutorials => mlir_tutorials}/tutorial-9/matmul_kernel/kernel.cc (100%) rename {tutorials => mlir_tutorials}/tutorial-9/matmul_kernel/kernel.h (100%) rename {tutorials => mlir_tutorials}/tutorial-9/matmul_kernel/sim.tcl (100%) rename {tutorials => mlir_tutorials}/tutorial-9/matmul_kernel/test.cc (100%) rename {tutorials => mlir_tutorials}/tutorial-9/matmul_kernel/test.prx (100%) rename {tutorials => mlir_tutorials}/tutorial-9/test.cpp (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 154bb6df29..f5f6ef487f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -287,7 +287,7 @@ endif() # Last because each of these has its own CMakeLists.txt which reloads/re-finds LLVM, thus resettings globals. add_subdirectory(reference_designs) add_subdirectory(test) -add_subdirectory(tutorials) +add_subdirectory(mlir_tutorials) add_subdirectory(cmake/modules) get_filename_component(COMPILER_DIRECTORY ${CMAKE_CXX_COMPILER} DIRECTORY) diff --git a/tutorials/CMakeLists.txt b/mlir_tutorials/CMakeLists.txt similarity index 100% rename from tutorials/CMakeLists.txt rename to mlir_tutorials/CMakeLists.txt diff --git a/tutorials/README.md b/mlir_tutorials/README.md similarity index 100% rename from tutorials/README.md rename to mlir_tutorials/README.md diff --git a/tutorials/images/OF_broadcast.png b/mlir_tutorials/images/OF_broadcast.png similarity index 100% rename from tutorials/images/OF_broadcast.png rename to mlir_tutorials/images/OF_broadcast.png diff --git a/tutorials/images/OF_external_mem.png b/mlir_tutorials/images/OF_external_mem.png similarity index 100% rename from tutorials/images/OF_external_mem.png rename to mlir_tutorials/images/OF_external_mem.png diff --git a/tutorials/images/OF_non_shared.png b/mlir_tutorials/images/OF_non_shared.png similarity index 100% rename from tutorials/images/OF_non_shared.png rename to mlir_tutorials/images/OF_non_shared.png diff --git a/tutorials/images/OF_shared.png b/mlir_tutorials/images/OF_shared.png similarity index 100% rename from tutorials/images/OF_shared.png rename to mlir_tutorials/images/OF_shared.png diff --git a/tutorials/images/answer1.jpg b/mlir_tutorials/images/answer1.jpg similarity index 100% rename from tutorials/images/answer1.jpg rename to mlir_tutorials/images/answer1.jpg diff --git a/tutorials/images/diagram0.jpg b/mlir_tutorials/images/diagram0.jpg similarity index 100% rename from tutorials/images/diagram0.jpg rename to mlir_tutorials/images/diagram0.jpg diff --git a/tutorials/images/diagram1.png b/mlir_tutorials/images/diagram1.png similarity index 100% rename from tutorials/images/diagram1.png rename to mlir_tutorials/images/diagram1.png diff --git a/tutorials/images/diagram10.jpg b/mlir_tutorials/images/diagram10.jpg similarity index 100% rename from tutorials/images/diagram10.jpg rename to mlir_tutorials/images/diagram10.jpg diff --git a/tutorials/images/diagram11.jpg b/mlir_tutorials/images/diagram11.jpg similarity index 100% rename from tutorials/images/diagram11.jpg rename to mlir_tutorials/images/diagram11.jpg diff --git a/tutorials/images/diagram3.png b/mlir_tutorials/images/diagram3.png similarity index 100% rename from tutorials/images/diagram3.png rename to mlir_tutorials/images/diagram3.png diff --git a/tutorials/images/diagram4.png b/mlir_tutorials/images/diagram4.png similarity index 100% rename from tutorials/images/diagram4.png rename to mlir_tutorials/images/diagram4.png diff --git a/tutorials/images/diagram5.jpg b/mlir_tutorials/images/diagram5.jpg similarity index 100% rename from tutorials/images/diagram5.jpg rename to mlir_tutorials/images/diagram5.jpg diff --git a/tutorials/images/diagram6.png b/mlir_tutorials/images/diagram6.png similarity index 100% rename from tutorials/images/diagram6.png rename to mlir_tutorials/images/diagram6.png diff --git a/tutorials/images/diagram7.jpg b/mlir_tutorials/images/diagram7.jpg similarity index 100% rename from tutorials/images/diagram7.jpg rename to mlir_tutorials/images/diagram7.jpg diff --git a/tutorials/images/diagram8.jpg b/mlir_tutorials/images/diagram8.jpg similarity index 100% rename from tutorials/images/diagram8.jpg rename to mlir_tutorials/images/diagram8.jpg diff --git a/tutorials/images/diagram9.png b/mlir_tutorials/images/diagram9.png similarity index 100% rename from tutorials/images/diagram9.png rename to mlir_tutorials/images/diagram9.png diff --git a/tutorials/images/intro1.png b/mlir_tutorials/images/intro1.png similarity index 100% rename from tutorials/images/intro1.png rename to mlir_tutorials/images/intro1.png diff --git a/tutorials/images/intro2.png b/mlir_tutorials/images/intro2.png similarity index 100% rename from tutorials/images/intro2.png rename to mlir_tutorials/images/intro2.png diff --git a/tutorials/images/intro3.png b/mlir_tutorials/images/intro3.png similarity index 100% rename from tutorials/images/intro3.png rename to mlir_tutorials/images/intro3.png diff --git a/tutorials/images/intro4.png b/mlir_tutorials/images/intro4.png similarity index 100% rename from tutorials/images/intro4.png rename to mlir_tutorials/images/intro4.png diff --git a/tutorials/images/intro5.png b/mlir_tutorials/images/intro5.png similarity index 100% rename from tutorials/images/intro5.png rename to mlir_tutorials/images/intro5.png diff --git a/tutorials/images/routing_visualization.png b/mlir_tutorials/images/routing_visualization.png similarity index 100% rename from tutorials/images/routing_visualization.png rename to mlir_tutorials/images/routing_visualization.png diff --git a/tutorials/images/wave0.jpg b/mlir_tutorials/images/wave0.jpg similarity index 100% rename from tutorials/images/wave0.jpg rename to mlir_tutorials/images/wave0.jpg diff --git a/tutorials/images/wave1.jpg b/mlir_tutorials/images/wave1.jpg similarity index 100% rename from tutorials/images/wave1.jpg rename to mlir_tutorials/images/wave1.jpg diff --git a/tutorials/lit.cfg.py b/mlir_tutorials/lit.cfg.py similarity index 100% rename from tutorials/lit.cfg.py rename to mlir_tutorials/lit.cfg.py diff --git a/tutorials/lit.local.cfg b/mlir_tutorials/lit.local.cfg similarity index 100% rename from tutorials/lit.local.cfg rename to mlir_tutorials/lit.local.cfg diff --git a/tutorials/lit.site.cfg.py.in b/mlir_tutorials/lit.site.cfg.py.in similarity index 100% rename from tutorials/lit.site.cfg.py.in rename to mlir_tutorials/lit.site.cfg.py.in diff --git a/tutorials/makefile-common b/mlir_tutorials/makefile-common similarity index 100% rename from tutorials/makefile-common rename to mlir_tutorials/makefile-common diff --git a/tutorials/scripts/visualize.py b/mlir_tutorials/scripts/visualize.py similarity index 100% rename from tutorials/scripts/visualize.py rename to mlir_tutorials/scripts/visualize.py diff --git a/tutorials/tutorial-1/Makefile b/mlir_tutorials/tutorial-1/Makefile similarity index 100% rename from tutorials/tutorial-1/Makefile rename to mlir_tutorials/tutorial-1/Makefile diff --git a/tutorials/tutorial-1/README.md b/mlir_tutorials/tutorial-1/README.md similarity index 100% rename from tutorials/tutorial-1/README.md rename to mlir_tutorials/tutorial-1/README.md diff --git a/tutorials/tutorial-1/aie.mlir b/mlir_tutorials/tutorial-1/aie.mlir similarity index 100% rename from tutorials/tutorial-1/aie.mlir rename to mlir_tutorials/tutorial-1/aie.mlir diff --git a/tutorials/tutorial-1/answers/aie_q5.mlir b/mlir_tutorials/tutorial-1/answers/aie_q5.mlir similarity index 100% rename from tutorials/tutorial-1/answers/aie_q5.mlir rename to mlir_tutorials/tutorial-1/answers/aie_q5.mlir diff --git a/tutorials/tutorial-1/answers/aie_q6.mlir b/mlir_tutorials/tutorial-1/answers/aie_q6.mlir similarity index 100% rename from tutorials/tutorial-1/answers/aie_q6.mlir rename to mlir_tutorials/tutorial-1/answers/aie_q6.mlir diff --git a/tutorials/tutorial-1/test.cpp b/mlir_tutorials/tutorial-1/test.cpp similarity index 100% rename from tutorials/tutorial-1/test.cpp rename to mlir_tutorials/tutorial-1/test.cpp diff --git a/tutorials/tutorial-10/README.md b/mlir_tutorials/tutorial-10/README.md similarity index 100% rename from tutorials/tutorial-10/README.md rename to mlir_tutorials/tutorial-10/README.md diff --git a/tutorials/tutorial-11/README.md b/mlir_tutorials/tutorial-11/README.md similarity index 100% rename from tutorials/tutorial-11/README.md rename to mlir_tutorials/tutorial-11/README.md diff --git a/tutorials/tutorial-2/README.md b/mlir_tutorials/tutorial-2/README.md similarity index 100% rename from tutorials/tutorial-2/README.md rename to mlir_tutorials/tutorial-2/README.md diff --git a/tutorials/tutorial-2/tutorial-2a/Makefile b/mlir_tutorials/tutorial-2/tutorial-2a/Makefile similarity index 100% rename from tutorials/tutorial-2/tutorial-2a/Makefile rename to mlir_tutorials/tutorial-2/tutorial-2a/Makefile diff --git a/tutorials/tutorial-2/tutorial-2a/README.md b/mlir_tutorials/tutorial-2/tutorial-2a/README.md similarity index 100% rename from tutorials/tutorial-2/tutorial-2a/README.md rename to mlir_tutorials/tutorial-2/tutorial-2a/README.md diff --git a/tutorials/tutorial-2/tutorial-2a/aie.mlir b/mlir_tutorials/tutorial-2/tutorial-2a/aie.mlir similarity index 100% rename from tutorials/tutorial-2/tutorial-2a/aie.mlir rename to mlir_tutorials/tutorial-2/tutorial-2a/aie.mlir diff --git a/tutorials/tutorial-2/tutorial-2a/test.cpp b/mlir_tutorials/tutorial-2/tutorial-2a/test.cpp similarity index 100% rename from tutorials/tutorial-2/tutorial-2a/test.cpp rename to mlir_tutorials/tutorial-2/tutorial-2a/test.cpp diff --git a/tutorials/tutorial-2/tutorial-2b/Makefile b/mlir_tutorials/tutorial-2/tutorial-2b/Makefile similarity index 100% rename from tutorials/tutorial-2/tutorial-2b/Makefile rename to mlir_tutorials/tutorial-2/tutorial-2b/Makefile diff --git a/tutorials/tutorial-2/tutorial-2b/README.md b/mlir_tutorials/tutorial-2/tutorial-2b/README.md similarity index 100% rename from tutorials/tutorial-2/tutorial-2b/README.md rename to mlir_tutorials/tutorial-2/tutorial-2b/README.md diff --git a/tutorials/tutorial-2/tutorial-2b/aie.mlir b/mlir_tutorials/tutorial-2/tutorial-2b/aie.mlir similarity index 100% rename from tutorials/tutorial-2/tutorial-2b/aie.mlir rename to mlir_tutorials/tutorial-2/tutorial-2b/aie.mlir diff --git a/tutorials/tutorial-2/tutorial-2b/answers/tutorial-2b.gtkw b/mlir_tutorials/tutorial-2/tutorial-2b/answers/tutorial-2b.gtkw similarity index 100% rename from tutorials/tutorial-2/tutorial-2b/answers/tutorial-2b.gtkw rename to mlir_tutorials/tutorial-2/tutorial-2b/answers/tutorial-2b.gtkw diff --git a/tutorials/tutorial-2/tutorial-2b/test.cpp b/mlir_tutorials/tutorial-2/tutorial-2b/test.cpp similarity index 100% rename from tutorials/tutorial-2/tutorial-2b/test.cpp rename to mlir_tutorials/tutorial-2/tutorial-2b/test.cpp diff --git a/tutorials/tutorial-2/tutorial-2c/Makefile b/mlir_tutorials/tutorial-2/tutorial-2c/Makefile similarity index 100% rename from tutorials/tutorial-2/tutorial-2c/Makefile rename to mlir_tutorials/tutorial-2/tutorial-2c/Makefile diff --git a/tutorials/tutorial-2/tutorial-2c/README.md b/mlir_tutorials/tutorial-2/tutorial-2c/README.md similarity index 100% rename from tutorials/tutorial-2/tutorial-2c/README.md rename to mlir_tutorials/tutorial-2/tutorial-2c/README.md diff --git a/tutorials/tutorial-2/tutorial-2c/aie.mlir b/mlir_tutorials/tutorial-2/tutorial-2c/aie.mlir similarity index 100% rename from tutorials/tutorial-2/tutorial-2c/aie.mlir rename to mlir_tutorials/tutorial-2/tutorial-2c/aie.mlir diff --git a/tutorials/tutorial-2/tutorial-2c/answers/aie_empty.mlir b/mlir_tutorials/tutorial-2/tutorial-2c/answers/aie_empty.mlir similarity index 100% rename from tutorials/tutorial-2/tutorial-2c/answers/aie_empty.mlir rename to mlir_tutorials/tutorial-2/tutorial-2c/answers/aie_empty.mlir diff --git a/tutorials/tutorial-2/tutorial-2c/answers/aie_real_empty.mlir b/mlir_tutorials/tutorial-2/tutorial-2c/answers/aie_real_empty.mlir similarity index 100% rename from tutorials/tutorial-2/tutorial-2c/answers/aie_real_empty.mlir rename to mlir_tutorials/tutorial-2/tutorial-2c/answers/aie_real_empty.mlir diff --git a/tutorials/tutorial-2/tutorial-2c/answers/test_perf.cpp b/mlir_tutorials/tutorial-2/tutorial-2c/answers/test_perf.cpp similarity index 100% rename from tutorials/tutorial-2/tutorial-2c/answers/test_perf.cpp rename to mlir_tutorials/tutorial-2/tutorial-2c/answers/test_perf.cpp diff --git a/tutorials/tutorial-2/tutorial-2c/test.cpp b/mlir_tutorials/tutorial-2/tutorial-2c/test.cpp similarity index 100% rename from tutorials/tutorial-2/tutorial-2c/test.cpp rename to mlir_tutorials/tutorial-2/tutorial-2c/test.cpp diff --git a/tutorials/tutorial-3/Makefile b/mlir_tutorials/tutorial-3/Makefile similarity index 100% rename from tutorials/tutorial-3/Makefile rename to mlir_tutorials/tutorial-3/Makefile diff --git a/tutorials/tutorial-3/README.md b/mlir_tutorials/tutorial-3/README.md similarity index 100% rename from tutorials/tutorial-3/README.md rename to mlir_tutorials/tutorial-3/README.md diff --git a/tutorials/tutorial-3/aie.mlir b/mlir_tutorials/tutorial-3/aie.mlir similarity index 100% rename from tutorials/tutorial-3/aie.mlir rename to mlir_tutorials/tutorial-3/aie.mlir diff --git a/tutorials/tutorial-3/answers/aie_perf.mlir b/mlir_tutorials/tutorial-3/answers/aie_perf.mlir similarity index 100% rename from tutorials/tutorial-3/answers/aie_perf.mlir rename to mlir_tutorials/tutorial-3/answers/aie_perf.mlir diff --git a/tutorials/tutorial-3/answers/test_perf.cpp b/mlir_tutorials/tutorial-3/answers/test_perf.cpp similarity index 100% rename from tutorials/tutorial-3/answers/test_perf.cpp rename to mlir_tutorials/tutorial-3/answers/test_perf.cpp diff --git a/tutorials/tutorial-3/objectFifo_ver/Makefile b/mlir_tutorials/tutorial-3/objectFifo_ver/Makefile similarity index 100% rename from tutorials/tutorial-3/objectFifo_ver/Makefile rename to mlir_tutorials/tutorial-3/objectFifo_ver/Makefile diff --git a/tutorials/tutorial-3/objectFifo_ver/README.md b/mlir_tutorials/tutorial-3/objectFifo_ver/README.md similarity index 100% rename from tutorials/tutorial-3/objectFifo_ver/README.md rename to mlir_tutorials/tutorial-3/objectFifo_ver/README.md diff --git a/tutorials/tutorial-3/objectFifo_ver/aie.mlir b/mlir_tutorials/tutorial-3/objectFifo_ver/aie.mlir similarity index 100% rename from tutorials/tutorial-3/objectFifo_ver/aie.mlir rename to mlir_tutorials/tutorial-3/objectFifo_ver/aie.mlir diff --git a/tutorials/tutorial-3/objectFifo_ver/test.cpp b/mlir_tutorials/tutorial-3/objectFifo_ver/test.cpp similarity index 100% rename from tutorials/tutorial-3/objectFifo_ver/test.cpp rename to mlir_tutorials/tutorial-3/objectFifo_ver/test.cpp diff --git a/tutorials/tutorial-3/test.cpp b/mlir_tutorials/tutorial-3/test.cpp similarity index 100% rename from tutorials/tutorial-3/test.cpp rename to mlir_tutorials/tutorial-3/test.cpp diff --git a/tutorials/tutorial-4/Makefile b/mlir_tutorials/tutorial-4/Makefile similarity index 100% rename from tutorials/tutorial-4/Makefile rename to mlir_tutorials/tutorial-4/Makefile diff --git a/tutorials/tutorial-4/README.md b/mlir_tutorials/tutorial-4/README.md similarity index 100% rename from tutorials/tutorial-4/README.md rename to mlir_tutorials/tutorial-4/README.md diff --git a/tutorials/tutorial-4/aie.mlir b/mlir_tutorials/tutorial-4/aie.mlir similarity index 100% rename from tutorials/tutorial-4/aie.mlir rename to mlir_tutorials/tutorial-4/aie.mlir diff --git a/tutorials/tutorial-4/flow/Makefile b/mlir_tutorials/tutorial-4/flow/Makefile similarity index 100% rename from tutorials/tutorial-4/flow/Makefile rename to mlir_tutorials/tutorial-4/flow/Makefile diff --git a/tutorials/tutorial-4/flow/README.md b/mlir_tutorials/tutorial-4/flow/README.md similarity index 100% rename from tutorials/tutorial-4/flow/README.md rename to mlir_tutorials/tutorial-4/flow/README.md diff --git a/tutorials/tutorial-4/flow/aie.mlir b/mlir_tutorials/tutorial-4/flow/aie.mlir similarity index 100% rename from tutorials/tutorial-4/flow/aie.mlir rename to mlir_tutorials/tutorial-4/flow/aie.mlir diff --git a/tutorials/tutorial-4/flow/answers/aie_q5.mlir b/mlir_tutorials/tutorial-4/flow/answers/aie_q5.mlir similarity index 100% rename from tutorials/tutorial-4/flow/answers/aie_q5.mlir rename to mlir_tutorials/tutorial-4/flow/answers/aie_q5.mlir diff --git a/tutorials/tutorial-4/flow/answers/test_perf.cpp b/mlir_tutorials/tutorial-4/flow/answers/test_perf.cpp similarity index 100% rename from tutorials/tutorial-4/flow/answers/test_perf.cpp rename to mlir_tutorials/tutorial-4/flow/answers/test_perf.cpp diff --git a/tutorials/tutorial-4/flow/answers/test_q5.cpp b/mlir_tutorials/tutorial-4/flow/answers/test_q5.cpp similarity index 100% rename from tutorials/tutorial-4/flow/answers/test_q5.cpp rename to mlir_tutorials/tutorial-4/flow/answers/test_q5.cpp diff --git a/tutorials/tutorial-4/flow/answers/tutorial-4_perf.gtkw b/mlir_tutorials/tutorial-4/flow/answers/tutorial-4_perf.gtkw similarity index 100% rename from tutorials/tutorial-4/flow/answers/tutorial-4_perf.gtkw rename to mlir_tutorials/tutorial-4/flow/answers/tutorial-4_perf.gtkw diff --git a/tutorials/tutorial-4/flow/test.cpp b/mlir_tutorials/tutorial-4/flow/test.cpp similarity index 100% rename from tutorials/tutorial-4/flow/test.cpp rename to mlir_tutorials/tutorial-4/flow/test.cpp diff --git a/tutorials/tutorial-4/switchbox/Makefile b/mlir_tutorials/tutorial-4/switchbox/Makefile similarity index 100% rename from tutorials/tutorial-4/switchbox/Makefile rename to mlir_tutorials/tutorial-4/switchbox/Makefile diff --git a/tutorials/tutorial-4/switchbox/README.md b/mlir_tutorials/tutorial-4/switchbox/README.md similarity index 100% rename from tutorials/tutorial-4/switchbox/README.md rename to mlir_tutorials/tutorial-4/switchbox/README.md diff --git a/tutorials/tutorial-4/switchbox/aie.mlir b/mlir_tutorials/tutorial-4/switchbox/aie.mlir similarity index 100% rename from tutorials/tutorial-4/switchbox/aie.mlir rename to mlir_tutorials/tutorial-4/switchbox/aie.mlir diff --git a/tutorials/tutorial-4/switchbox/path/pathfinder_input.mlir b/mlir_tutorials/tutorial-4/switchbox/path/pathfinder_input.mlir similarity index 100% rename from tutorials/tutorial-4/switchbox/path/pathfinder_input.mlir rename to mlir_tutorials/tutorial-4/switchbox/path/pathfinder_input.mlir diff --git a/tutorials/tutorial-4/switchbox/test.cpp b/mlir_tutorials/tutorial-4/switchbox/test.cpp similarity index 100% rename from tutorials/tutorial-4/switchbox/test.cpp rename to mlir_tutorials/tutorial-4/switchbox/test.cpp diff --git a/tutorials/tutorial-4/test.cpp b/mlir_tutorials/tutorial-4/test.cpp similarity index 100% rename from tutorials/tutorial-4/test.cpp rename to mlir_tutorials/tutorial-4/test.cpp diff --git a/tutorials/tutorial-5/Makefile b/mlir_tutorials/tutorial-5/Makefile similarity index 100% rename from tutorials/tutorial-5/Makefile rename to mlir_tutorials/tutorial-5/Makefile diff --git a/tutorials/tutorial-5/README.md b/mlir_tutorials/tutorial-5/README.md similarity index 100% rename from tutorials/tutorial-5/README.md rename to mlir_tutorials/tutorial-5/README.md diff --git a/tutorials/tutorial-5/aie.mlir b/mlir_tutorials/tutorial-5/aie.mlir similarity index 100% rename from tutorials/tutorial-5/aie.mlir rename to mlir_tutorials/tutorial-5/aie.mlir diff --git a/tutorials/tutorial-5/flow/Makefile b/mlir_tutorials/tutorial-5/flow/Makefile similarity index 100% rename from tutorials/tutorial-5/flow/Makefile rename to mlir_tutorials/tutorial-5/flow/Makefile diff --git a/tutorials/tutorial-5/flow/README.md b/mlir_tutorials/tutorial-5/flow/README.md similarity index 100% rename from tutorials/tutorial-5/flow/README.md rename to mlir_tutorials/tutorial-5/flow/README.md diff --git a/tutorials/tutorial-5/flow/aie.mlir b/mlir_tutorials/tutorial-5/flow/aie.mlir similarity index 100% rename from tutorials/tutorial-5/flow/aie.mlir rename to mlir_tutorials/tutorial-5/flow/aie.mlir diff --git a/tutorials/tutorial-5/flow/test.cpp b/mlir_tutorials/tutorial-5/flow/test.cpp similarity index 98% rename from tutorials/tutorial-5/flow/test.cpp rename to mlir_tutorials/tutorial-5/flow/test.cpp index 345f92e131..74ecbb9549 100644 --- a/tutorials/tutorial-5/flow/test.cpp +++ b/mlir_tutorials/tutorial-5/flow/test.cpp @@ -86,7 +86,7 @@ int main(int argc, char *argv[]) { mlir_aie_release_ddr_test_buffer_in_lock(_xaie, 1, 0); mlir_aie_release_ddr_test_buffer_out_lock(_xaie, 1, 0); - if(mlir_aie_acquire_ddr_test_buffer_out_lock(_xaie, 0, 1000) == XAIE_OK) + if (mlir_aie_acquire_ddr_test_buffer_out_lock(_xaie, 0, 1000) == XAIE_OK) printf("Acquired ddr output lock(0). Output shim dma done.\n"); else printf("Timed out (1000) while trying to acquire ddr output lock (0).\n"); diff --git a/tutorials/tutorial-5/test.cpp b/mlir_tutorials/tutorial-5/test.cpp similarity index 100% rename from tutorials/tutorial-5/test.cpp rename to mlir_tutorials/tutorial-5/test.cpp diff --git a/tutorials/tutorial-6/Makefile b/mlir_tutorials/tutorial-6/Makefile similarity index 100% rename from tutorials/tutorial-6/Makefile rename to mlir_tutorials/tutorial-6/Makefile diff --git a/tutorials/tutorial-6/README.md b/mlir_tutorials/tutorial-6/README.md similarity index 100% rename from tutorials/tutorial-6/README.md rename to mlir_tutorials/tutorial-6/README.md diff --git a/tutorials/tutorial-6/aie.mlir b/mlir_tutorials/tutorial-6/aie.mlir similarity index 100% rename from tutorials/tutorial-6/aie.mlir rename to mlir_tutorials/tutorial-6/aie.mlir diff --git a/tutorials/tutorial-6/test.cpp b/mlir_tutorials/tutorial-6/test.cpp similarity index 100% rename from tutorials/tutorial-6/test.cpp rename to mlir_tutorials/tutorial-6/test.cpp diff --git a/tutorials/tutorial-7/Makefile b/mlir_tutorials/tutorial-7/Makefile similarity index 100% rename from tutorials/tutorial-7/Makefile rename to mlir_tutorials/tutorial-7/Makefile diff --git a/tutorials/tutorial-7/README.md b/mlir_tutorials/tutorial-7/README.md similarity index 100% rename from tutorials/tutorial-7/README.md rename to mlir_tutorials/tutorial-7/README.md diff --git a/tutorials/tutorial-7/aie.mlir b/mlir_tutorials/tutorial-7/aie.mlir similarity index 100% rename from tutorials/tutorial-7/aie.mlir rename to mlir_tutorials/tutorial-7/aie.mlir diff --git a/tutorials/tutorial-7/flow/Makefile b/mlir_tutorials/tutorial-7/flow/Makefile similarity index 100% rename from tutorials/tutorial-7/flow/Makefile rename to mlir_tutorials/tutorial-7/flow/Makefile diff --git a/tutorials/tutorial-7/flow/README.md b/mlir_tutorials/tutorial-7/flow/README.md similarity index 100% rename from tutorials/tutorial-7/flow/README.md rename to mlir_tutorials/tutorial-7/flow/README.md diff --git a/tutorials/tutorial-7/flow/aie.mlir b/mlir_tutorials/tutorial-7/flow/aie.mlir similarity index 100% rename from tutorials/tutorial-7/flow/aie.mlir rename to mlir_tutorials/tutorial-7/flow/aie.mlir diff --git a/tutorials/tutorial-7/flow/test.cpp b/mlir_tutorials/tutorial-7/flow/test.cpp similarity index 100% rename from tutorials/tutorial-7/flow/test.cpp rename to mlir_tutorials/tutorial-7/flow/test.cpp diff --git a/tutorials/tutorial-7/switchbox/Makefile b/mlir_tutorials/tutorial-7/switchbox/Makefile similarity index 100% rename from tutorials/tutorial-7/switchbox/Makefile rename to mlir_tutorials/tutorial-7/switchbox/Makefile diff --git a/tutorials/tutorial-7/switchbox/README.md b/mlir_tutorials/tutorial-7/switchbox/README.md similarity index 100% rename from tutorials/tutorial-7/switchbox/README.md rename to mlir_tutorials/tutorial-7/switchbox/README.md diff --git a/tutorials/tutorial-7/switchbox/aie.mlir b/mlir_tutorials/tutorial-7/switchbox/aie.mlir similarity index 100% rename from tutorials/tutorial-7/switchbox/aie.mlir rename to mlir_tutorials/tutorial-7/switchbox/aie.mlir diff --git a/tutorials/tutorial-7/switchbox/test.cpp b/mlir_tutorials/tutorial-7/switchbox/test.cpp similarity index 100% rename from tutorials/tutorial-7/switchbox/test.cpp rename to mlir_tutorials/tutorial-7/switchbox/test.cpp diff --git a/tutorials/tutorial-7/test.cpp b/mlir_tutorials/tutorial-7/test.cpp similarity index 100% rename from tutorials/tutorial-7/test.cpp rename to mlir_tutorials/tutorial-7/test.cpp diff --git a/tutorials/tutorial-8/Makefile b/mlir_tutorials/tutorial-8/Makefile similarity index 100% rename from tutorials/tutorial-8/Makefile rename to mlir_tutorials/tutorial-8/Makefile diff --git a/tutorials/tutorial-8/README.md b/mlir_tutorials/tutorial-8/README.md similarity index 100% rename from tutorials/tutorial-8/README.md rename to mlir_tutorials/tutorial-8/README.md diff --git a/tutorials/tutorial-8/aie.mlir b/mlir_tutorials/tutorial-8/aie.mlir similarity index 100% rename from tutorials/tutorial-8/aie.mlir rename to mlir_tutorials/tutorial-8/aie.mlir diff --git a/tutorials/tutorial-8/answers/aie.mlir b/mlir_tutorials/tutorial-8/answers/aie.mlir similarity index 100% rename from tutorials/tutorial-8/answers/aie.mlir rename to mlir_tutorials/tutorial-8/answers/aie.mlir diff --git a/tutorials/tutorial-8/kernel1.cc b/mlir_tutorials/tutorial-8/kernel1.cc similarity index 100% rename from tutorials/tutorial-8/kernel1.cc rename to mlir_tutorials/tutorial-8/kernel1.cc diff --git a/tutorials/tutorial-8/kernel2.cc b/mlir_tutorials/tutorial-8/kernel2.cc similarity index 100% rename from tutorials/tutorial-8/kernel2.cc rename to mlir_tutorials/tutorial-8/kernel2.cc diff --git a/tutorials/tutorial-8/test.cpp b/mlir_tutorials/tutorial-8/test.cpp similarity index 100% rename from tutorials/tutorial-8/test.cpp rename to mlir_tutorials/tutorial-8/test.cpp diff --git a/tutorials/tutorial-9/Makefile b/mlir_tutorials/tutorial-9/Makefile similarity index 100% rename from tutorials/tutorial-9/Makefile rename to mlir_tutorials/tutorial-9/Makefile diff --git a/tutorials/tutorial-9/README.md b/mlir_tutorials/tutorial-9/README.md similarity index 100% rename from tutorials/tutorial-9/README.md rename to mlir_tutorials/tutorial-9/README.md diff --git a/tutorials/tutorial-9/aie.mlir b/mlir_tutorials/tutorial-9/aie.mlir similarity index 100% rename from tutorials/tutorial-9/aie.mlir rename to mlir_tutorials/tutorial-9/aie.mlir diff --git a/tutorials/tutorial-9/answers/aie_matmul.mlir b/mlir_tutorials/tutorial-9/answers/aie_matmul.mlir similarity index 100% rename from tutorials/tutorial-9/answers/aie_matmul.mlir rename to mlir_tutorials/tutorial-9/answers/aie_matmul.mlir diff --git a/tutorials/tutorial-9/answers/test_matmul_perf.cpp b/mlir_tutorials/tutorial-9/answers/test_matmul_perf.cpp similarity index 100% rename from tutorials/tutorial-9/answers/test_matmul_perf.cpp rename to mlir_tutorials/tutorial-9/answers/test_matmul_perf.cpp diff --git a/tutorials/tutorial-9/answers/test_perf.cpp b/mlir_tutorials/tutorial-9/answers/test_perf.cpp similarity index 100% rename from tutorials/tutorial-9/answers/test_perf.cpp rename to mlir_tutorials/tutorial-9/answers/test_perf.cpp diff --git a/tutorials/tutorial-9/external_kernel/Makefile b/mlir_tutorials/tutorial-9/external_kernel/Makefile similarity index 100% rename from tutorials/tutorial-9/external_kernel/Makefile rename to mlir_tutorials/tutorial-9/external_kernel/Makefile diff --git a/tutorials/tutorial-9/external_kernel/kernel.cc b/mlir_tutorials/tutorial-9/external_kernel/kernel.cc similarity index 100% rename from tutorials/tutorial-9/external_kernel/kernel.cc rename to mlir_tutorials/tutorial-9/external_kernel/kernel.cc diff --git a/tutorials/tutorial-9/external_kernel/kernel.h b/mlir_tutorials/tutorial-9/external_kernel/kernel.h similarity index 100% rename from tutorials/tutorial-9/external_kernel/kernel.h rename to mlir_tutorials/tutorial-9/external_kernel/kernel.h diff --git a/tutorials/tutorial-9/external_kernel/sim.tcl b/mlir_tutorials/tutorial-9/external_kernel/sim.tcl similarity index 100% rename from tutorials/tutorial-9/external_kernel/sim.tcl rename to mlir_tutorials/tutorial-9/external_kernel/sim.tcl diff --git a/tutorials/tutorial-9/external_kernel/test.cc b/mlir_tutorials/tutorial-9/external_kernel/test.cc similarity index 100% rename from tutorials/tutorial-9/external_kernel/test.cc rename to mlir_tutorials/tutorial-9/external_kernel/test.cc diff --git a/tutorials/tutorial-9/external_kernel/test.prx b/mlir_tutorials/tutorial-9/external_kernel/test.prx similarity index 100% rename from tutorials/tutorial-9/external_kernel/test.prx rename to mlir_tutorials/tutorial-9/external_kernel/test.prx diff --git a/tutorials/tutorial-9/matmul_kernel/Makefile b/mlir_tutorials/tutorial-9/matmul_kernel/Makefile similarity index 100% rename from tutorials/tutorial-9/matmul_kernel/Makefile rename to mlir_tutorials/tutorial-9/matmul_kernel/Makefile diff --git a/tutorials/tutorial-9/matmul_kernel/kernel.cc b/mlir_tutorials/tutorial-9/matmul_kernel/kernel.cc similarity index 100% rename from tutorials/tutorial-9/matmul_kernel/kernel.cc rename to mlir_tutorials/tutorial-9/matmul_kernel/kernel.cc diff --git a/tutorials/tutorial-9/matmul_kernel/kernel.h b/mlir_tutorials/tutorial-9/matmul_kernel/kernel.h similarity index 100% rename from tutorials/tutorial-9/matmul_kernel/kernel.h rename to mlir_tutorials/tutorial-9/matmul_kernel/kernel.h diff --git a/tutorials/tutorial-9/matmul_kernel/sim.tcl b/mlir_tutorials/tutorial-9/matmul_kernel/sim.tcl similarity index 100% rename from tutorials/tutorial-9/matmul_kernel/sim.tcl rename to mlir_tutorials/tutorial-9/matmul_kernel/sim.tcl diff --git a/tutorials/tutorial-9/matmul_kernel/test.cc b/mlir_tutorials/tutorial-9/matmul_kernel/test.cc similarity index 100% rename from tutorials/tutorial-9/matmul_kernel/test.cc rename to mlir_tutorials/tutorial-9/matmul_kernel/test.cc diff --git a/tutorials/tutorial-9/matmul_kernel/test.prx b/mlir_tutorials/tutorial-9/matmul_kernel/test.prx similarity index 100% rename from tutorials/tutorial-9/matmul_kernel/test.prx rename to mlir_tutorials/tutorial-9/matmul_kernel/test.prx diff --git a/tutorials/tutorial-9/test.cpp b/mlir_tutorials/tutorial-9/test.cpp similarity index 100% rename from tutorials/tutorial-9/test.cpp rename to mlir_tutorials/tutorial-9/test.cpp From 0774644eccb099b9ca7770fe18ad0f845018d14a Mon Sep 17 00:00:00 2001 From: Maksim Levental Date: Tue, 9 Apr 2024 12:29:54 -0700 Subject: [PATCH 3/3] bump llvm (#1193) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .../AIEVec/TransformOps/AIEVecTransformOps.h | 2 +- .../AIEVec/TransformOps/AIEVecTransformOps.td | 2 +- .../TransformOps/AIEVecTransformOps.cpp | 2 +- python/CMakeLists.txt | 41 ++++++++++--------- utils/clone-llvm.sh | 4 +- 5 files changed, 27 insertions(+), 24 deletions(-) diff --git a/include/aie/Dialect/AIEVec/TransformOps/AIEVecTransformOps.h b/include/aie/Dialect/AIEVec/TransformOps/AIEVecTransformOps.h index 2ec8691451..e63c914f04 100644 --- a/include/aie/Dialect/AIEVec/TransformOps/AIEVecTransformOps.h +++ b/include/aie/Dialect/AIEVec/TransformOps/AIEVecTransformOps.h @@ -15,7 +15,7 @@ class GenericOp; } // namespace linalg } // namespace mlir -#include "mlir/Dialect/Transform/IR/TransformInterfaces.h" +#include "mlir/Dialect/Transform/Interfaces/TransformInterfaces.h" #define GET_OP_CLASSES #include "aie/Dialect/AIEVec/TransformOps/AIEVecTransformOps.h.inc" diff --git a/include/aie/Dialect/AIEVec/TransformOps/AIEVecTransformOps.td b/include/aie/Dialect/AIEVec/TransformOps/AIEVecTransformOps.td index 2252b3bf50..b8f956c2e9 100644 --- a/include/aie/Dialect/AIEVec/TransformOps/AIEVecTransformOps.td +++ b/include/aie/Dialect/AIEVec/TransformOps/AIEVecTransformOps.td @@ -11,7 +11,7 @@ include "mlir/Dialect/PDL/IR/PDLTypes.td" include "mlir/Dialect/Transform/IR/TransformAttrs.td" include "mlir/Dialect/Transform/IR/TransformDialect.td" -include "mlir/Dialect/Transform/IR/TransformInterfaces.td" +include "mlir/Dialect/Transform/Interfaces/TransformInterfaces.td" include "mlir/Dialect/Transform/IR/TransformTypes.td" include "mlir/Interfaces/SideEffectInterfaces.td" include "mlir/IR/OpBase.td" diff --git a/lib/Dialect/AIEVec/TransformOps/AIEVecTransformOps.cpp b/lib/Dialect/AIEVec/TransformOps/AIEVecTransformOps.cpp index 1224260bf8..0c6b29f728 100644 --- a/lib/Dialect/AIEVec/TransformOps/AIEVecTransformOps.cpp +++ b/lib/Dialect/AIEVec/TransformOps/AIEVecTransformOps.cpp @@ -10,8 +10,8 @@ #include "mlir/Dialect/Bufferization/IR/Bufferization.h" #include "mlir/Dialect/Linalg/IR/Linalg.h" #include "mlir/Dialect/Linalg/Utils/Utils.h" -#include "mlir/Dialect/Transform/IR/TransformInterfaces.h" #include "mlir/Dialect/Transform/IR/TransformTypes.h" +#include "mlir/Dialect/Transform/Interfaces/TransformInterfaces.h" #include "mlir/Dialect/Transform/Utils/Utils.h" #include "mlir/Dialect/Vector/IR/VectorOps.h" diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt index 56945bd176..c240a4e55d 100644 --- a/python/CMakeLists.txt +++ b/python/CMakeLists.txt @@ -3,26 +3,29 @@ include(AddMLIRPython) -execute_process( - COMMAND_ERROR_IS_FATAL ANY - COMMAND ${Python3_EXECUTABLE} -m - pip install -r ${CMAKE_CURRENT_SOURCE_DIR}/requirements.txt - RESULT_VARIABLE CMD_ERROR - OUTPUT_VARIABLE CMD_OUTPUT -) -if(NOT CMD_ERROR EQUAL "0") - message(FATAL_ERROR "pip install requirements.txt failed:" ${CMD_OUTPUT}) -endif() +option(AIE_REINSTALL_PYTHON_ENV_PACKAGES "pip install python requirements" ON) +if (AIE_REINSTALL_PYTHON_ENV_PACKAGES) + execute_process( + COMMAND_ERROR_IS_FATAL ANY + COMMAND ${Python3_EXECUTABLE} -m + pip install -r ${CMAKE_CURRENT_SOURCE_DIR}/requirements.txt + RESULT_VARIABLE CMD_ERROR + OUTPUT_VARIABLE CMD_OUTPUT + ) + if(NOT CMD_ERROR EQUAL "0") + message(FATAL_ERROR "pip install requirements.txt failed:" ${CMD_OUTPUT}) + endif() -execute_process( - COMMAND_ERROR_IS_FATAL ANY - COMMAND ${Python3_EXECUTABLE} -m - pip install -r ${CMAKE_CURRENT_SOURCE_DIR}/aie-python-extras-req.txt --force-reinstall - RESULT_VARIABLE CMD_ERROR - OUTPUT_VARIABLE CMD_OUTPUT -) -if(NOT CMD_ERROR EQUAL "0") - message(FATAL_ERROR "pip install aie-python-extras-req.txt failed:" ${CMD_OUTPUT}) + execute_process( + COMMAND_ERROR_IS_FATAL ANY + COMMAND ${Python3_EXECUTABLE} -m + pip install -r ${CMAKE_CURRENT_SOURCE_DIR}/aie-python-extras-req.txt --force-reinstall + RESULT_VARIABLE CMD_ERROR + OUTPUT_VARIABLE CMD_OUTPUT + ) + if(NOT CMD_ERROR EQUAL "0") + message(FATAL_ERROR "pip install aie-python-extras-req.txt failed:" ${CMD_OUTPUT}) + endif() endif() # The AIE copy of the MLIR bindings is in the `aie.mlir` namespace. diff --git a/utils/clone-llvm.sh b/utils/clone-llvm.sh index 3d6c9685f1..49be320338 100755 --- a/utils/clone-llvm.sh +++ b/utils/clone-llvm.sh @@ -13,8 +13,8 @@ ##===----------------------------------------------------------------------===## # The LLVM commit to use. -LLVM_PROJECT_COMMIT=60dda1fc6ef82c5d7fe54000e6c0a21e7bafdeb5 -DATETIME=2024031100 +LLVM_PROJECT_COMMIT=d022f6b8ff94bb13d12d39f23a3c3e7836e90756 +DATETIME=2024040913 WHEEL_VERSION=19.0.0.$DATETIME+${LLVM_PROJECT_COMMIT:0:8} ############################################################################################