From 13d072b072477b99ea3cac9ace30733520991a2e Mon Sep 17 00:00:00 2001 From: Erika Hunhoff Date: Tue, 12 Nov 2024 14:45:37 -0700 Subject: [PATCH] Finish documenting tiling exploration examples --- .../tiling_exploration/per_tile/README.md | 2 +- .../single_transform/README.md | 31 ------------ .../{single_transform => tile_group}/Makefile | 12 +++-- .../tiling_exploration/tile_group/README.md | 45 ++++++++++++++++++ .../{single_transform => tile_group}/aie2.py | 43 ++++++++++++----- .../run_makefile.lit | 0 .../{single_transform => tile_group}/test.py | 0 .../tile_group/tile_group.png | Bin 0 -> 79247 bytes 8 files changed, 84 insertions(+), 49 deletions(-) delete mode 100644 programming_examples/basic/tiling_exploration/single_transform/README.md rename programming_examples/basic/tiling_exploration/{single_transform => tile_group}/Makefile (83%) create mode 100644 programming_examples/basic/tiling_exploration/tile_group/README.md rename programming_examples/basic/tiling_exploration/{single_transform => tile_group}/aie2.py (70%) rename programming_examples/basic/tiling_exploration/{single_transform => tile_group}/run_makefile.lit (100%) rename programming_examples/basic/tiling_exploration/{single_transform => tile_group}/test.py (100%) create mode 100644 programming_examples/basic/tiling_exploration/tile_group/tile_group.png diff --git a/programming_examples/basic/tiling_exploration/per_tile/README.md b/programming_examples/basic/tiling_exploration/per_tile/README.md index dcde89b48e..b7fd130f07 100644 --- a/programming_examples/basic/tiling_exploration/per_tile/README.md +++ b/programming_examples/basic/tiling_exploration/per_tile/README.md @@ -10,7 +10,7 @@ # Tiling Exploration -This IRON design flow example, called "Tiling Exploration: Per Tile", demonstrates how data may be `tiled` into smaller chunks and send/received through the `runtime_sequence`. This is a common data transformation pattern, and this example is meant to be interactive. +This IRON design flow example, called "Tiling Exploration: Per Tile", demonstrates how data may be `tiled` into smaller chunks and sent/received through the `runtime_sequence`. This is a common data transformation pattern, and this example is meant to be interactive. ## Source Files Overview diff --git a/programming_examples/basic/tiling_exploration/single_transform/README.md b/programming_examples/basic/tiling_exploration/single_transform/README.md deleted file mode 100644 index cfb0936362..0000000000 --- a/programming_examples/basic/tiling_exploration/single_transform/README.md +++ /dev/null @@ -1,31 +0,0 @@ - - -# Tiling Exploration - -This IRON design flow example, called "Tiling Exploration", demonstrates how data may be `tiled` on input/output. This is a common data transformation pattern, and this example is meant to be interactive. - -## Source Files Overview - -TODO - -## Design Overview - -TODO - -## Design Component Details - -### AIE Array Structural Design - -TODO - -## Usage - -TODO diff --git a/programming_examples/basic/tiling_exploration/single_transform/Makefile b/programming_examples/basic/tiling_exploration/tile_group/Makefile similarity index 83% rename from programming_examples/basic/tiling_exploration/single_transform/Makefile rename to programming_examples/basic/tiling_exploration/tile_group/Makefile index ccec0077b0..227c66bdfa 100644 --- a/programming_examples/basic/tiling_exploration/single_transform/Makefile +++ b/programming_examples/basic/tiling_exploration/tile_group/Makefile @@ -12,10 +12,10 @@ srcdir := $(shell dirname $(realpath $(firstword $(MAKEFILE_LIST)))) include ${srcdir}/../../../makefile-common -tensor_height = 32 -tensor_width = 32 -tile_height = 4 -tile_width = 4 +tensor_height = 8 +tensor_width = 8 +tile_height = 2 +tile_width = 2 data_str=${tensor_height}_${tensor_width}_${tile_height}_${tile_width} .PHONY: all template clean @@ -35,5 +35,9 @@ build/final_${data_str}.xclbin: build/aie_${data_str}.mlir run: build/final_${data_str}.xclbin build/insts_${data_str}.txt ${powershell} python3 ${srcdir}/test.py -x build/final_${data_str}.xclbin -i build/insts_${data_str}.txt -k MLIR_AIE --tensor-height ${tensor_height} --tensor-width ${tensor_width} --tile-height ${tile_height} --tile-width ${tile_width} +generate_access_map: ${srcdir}/aie2.py + mkdir -p ${@D} + python3 $< --tensor-height ${tensor_height} --tensor-width ${tensor_width} --tile-height ${tile_height} --tile-width ${tile_width} --generate-access-map ${M} ${K} + clean: rm -rf build diff --git a/programming_examples/basic/tiling_exploration/tile_group/README.md b/programming_examples/basic/tiling_exploration/tile_group/README.md new file mode 100644 index 0000000000..1479e1c221 --- /dev/null +++ b/programming_examples/basic/tiling_exploration/tile_group/README.md @@ -0,0 +1,45 @@ + + +# Tiling Exploration + +This IRON design flow example, called "Tiling Exploration: Single Transform", demonstrates how data may be `tiled` into smaller chunks and grouped into collections of tiles and sent/received through the `runtime_sequence`. This is a common data transformation pattern, and this example is meant to be interactive. + +## Source Files Overview + +1. `aie2.py`: A Python script that defines the AIE array structural design using MLIR-AIE operations and the `TensorTiler` to specify 'tiles' of data to be transferred out of the design. The file generates MLIR that is then compiled using `aiecc.py` to produce design binaries (ie. XCLBIN and inst.txt for the NPU in Ryzen™ AI). + +1. `test.py`: This Python code is responsible for loading the compiled XCLBIN file, configuring the AIE module, providing input data, and executing the AIE design on the NPU. After executing, the script verifies the results against expected output. + +## Design Overview + +This design has no inputs; it produces a single output tensor. The single core used in this design touches each element in the output tensor seemingly sequentially. However, due to the data transformation (via `TensorTile`s) in the `runtime_sequence`, the output data is in 'tiled' order, as seen in the picture below. + +

+ +

Visualization of the Per-Tile Data Movement +

+

+ +## Usage + +Modify tensor and tile dimensions in the `Makefile`. + +To compile and run the design for NPU: +```bash +make clean +make run +``` + +To generate a data visualization (like that above), run: +```bash +make generate_access_map +``` diff --git a/programming_examples/basic/tiling_exploration/single_transform/aie2.py b/programming_examples/basic/tiling_exploration/tile_group/aie2.py similarity index 70% rename from programming_examples/basic/tiling_exploration/single_transform/aie2.py rename to programming_examples/basic/tiling_exploration/tile_group/aie2.py index 05e658d160..5b2adec72f 100644 --- a/programming_examples/basic/tiling_exploration/single_transform/aie2.py +++ b/programming_examples/basic/tiling_exploration/tile_group/aie2.py @@ -17,14 +17,26 @@ from aie.helpers.tensortiler import TensorTiler2D -def generate_module(tensor_height, tensor_width, tile_height, tile_width): +def generate_module( + tensor_height, tensor_width, tile_height, tile_width, generate_access_map=False +): + # define types + dtype = np.int32 + tensor_size = tensor_height * tensor_width + flattened_tensor = np.ndarray[(tensor_size,), np.dtype[dtype]] + + t = TensorTiler2D.group_tiler( + (tensor_height, tensor_width), + (tile_height, tile_width), + (tensor_height // tile_height, tensor_width // tile_width), + )[0] + + if generate_access_map: + t.visualize(show_arrows=True, file_path="tile_group.png") + return + @device(AIEDevice.npu1_1col) def device_body(): - # define types - dtype = np.int32 - tensor_size = tensor_height * tensor_width - flattened_tensor = np.ndarray[(tensor_size,), np.dtype[dtype]] - # Tile declarations ShimTile = tile(0, 0) ComputeTile2 = tile(0, 2) @@ -46,11 +58,6 @@ def core_body(): @runtime_sequence(flattened_tensor) def sequence(access_count): - t = TensorTiler2D.group_tiler( - (tensor_height, tensor_width), - (tile_height, tile_width), - (tensor_height // tile_height, tensor_width // tile_width), - )[0] npu_dma_memcpy_nd( metadata=of_out, bd_id=1, @@ -63,9 +70,14 @@ def sequence(access_count): def main(opts): with mlir_mod_ctx() as ctx: generate_module( - opts.tensor_height, opts.tensor_width, opts.tile_height, opts.tile_width + opts.tensor_height, + opts.tensor_width, + opts.tile_height, + opts.tile_width, + opts.generate_access_map, ) - print(ctx.module) + if not opts.generate_access_map: + print(ctx.module) def get_arg_parser(): @@ -74,6 +86,11 @@ def get_arg_parser(): p.add_argument("--tensor-width", required=True, help="Tensor width", type=int) p.add_argument("--tile-height", required=True, help="Tile height", type=int) p.add_argument("--tile-width", required=True, help="Tile width", type=int) + p.add_argument( + "--generate-access-map", + action="store_true", + help="Produce a file showing data access order", + ) return p diff --git a/programming_examples/basic/tiling_exploration/single_transform/run_makefile.lit b/programming_examples/basic/tiling_exploration/tile_group/run_makefile.lit similarity index 100% rename from programming_examples/basic/tiling_exploration/single_transform/run_makefile.lit rename to programming_examples/basic/tiling_exploration/tile_group/run_makefile.lit diff --git a/programming_examples/basic/tiling_exploration/single_transform/test.py b/programming_examples/basic/tiling_exploration/tile_group/test.py similarity index 100% rename from programming_examples/basic/tiling_exploration/single_transform/test.py rename to programming_examples/basic/tiling_exploration/tile_group/test.py diff --git a/programming_examples/basic/tiling_exploration/tile_group/tile_group.png b/programming_examples/basic/tiling_exploration/tile_group/tile_group.png new file mode 100644 index 0000000000000000000000000000000000000000..a738863c1caddd4d92ca56d98a82319df5b9b7e7 GIT binary patch literal 79247 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 literal 0 HcmV?d00001