From 391234cb845fb0e946dabc5f634479d40e0a78fa Mon Sep 17 00:00:00 2001 From: Mohamed Bahnas <116673264+mbahnasTT@users.noreply.github.com> Date: Sun, 22 Sep 2024 00:22:44 +0300 Subject: [PATCH] [skip ci] #0: Prog Examples readme (#12973) #0: Prog Examples readme --- .../add_2_integers_in_compute/add_2_integers_in_compute.md | 2 +- .../add_2_integers_in_riscv/add_2_integers_in_riscv.md | 2 +- tech_reports/prog_examples/dram_loopback/dram_loopback.md | 2 +- tech_reports/prog_examples/eltwise_binary/eltwise_binary.md | 2 +- tech_reports/prog_examples/eltwise_sfpu/eltwise_sfpu.md | 2 +- .../prog_examples/hello_world_compute/hello_world_compute.md | 4 ++-- .../hello_world_data_movement/hello_world_data_movement.md | 4 ++-- .../prog_examples/matmul_multi_core/matmul_multi_core.md | 2 +- .../prog_examples/matmul_single_core/matmul_single_core.md | 2 +- tech_reports/prog_examples/pad_multi_core/pad_multi_core.md | 2 +- tech_reports/prog_examples/shard_data_rm/shard_data_rm.md | 2 +- 11 files changed, 13 insertions(+), 13 deletions(-) diff --git a/tech_reports/prog_examples/add_2_integers_in_compute/add_2_integers_in_compute.md b/tech_reports/prog_examples/add_2_integers_in_compute/add_2_integers_in_compute.md index 2bf3c7956aa..d72aaed9eef 100644 --- a/tech_reports/prog_examples/add_2_integers_in_compute/add_2_integers_in_compute.md +++ b/tech_reports/prog_examples/add_2_integers_in_compute/add_2_integers_in_compute.md @@ -3,7 +3,7 @@ In this example, we will build a TT-Metal program that will add two vectors containing integers together, using data movement and compute kernels. This program can be found in -[tt_metal/programming_examples/add_2_integers_in_compute/add_2_integers_in_compute.cpp](../../../tt_metal/programming_examples/add_2_integers_in_compute/add_2_integers_in_compute.cpp). +[add_2_integers_in_compute.cpp](../../../tt_metal/programming_examples/add_2_integers_in_compute/add_2_integers_in_compute.cpp). To build and execute, you may use the following commands. Note that we include the necessary environment variables here, but you may possibly need more depending on the most up-to-date installation methods. diff --git a/tech_reports/prog_examples/add_2_integers_in_riscv/add_2_integers_in_riscv.md b/tech_reports/prog_examples/add_2_integers_in_riscv/add_2_integers_in_riscv.md index d7e47d998cc..92d09ec7790 100644 --- a/tech_reports/prog_examples/add_2_integers_in_riscv/add_2_integers_in_riscv.md +++ b/tech_reports/prog_examples/add_2_integers_in_riscv/add_2_integers_in_riscv.md @@ -3,7 +3,7 @@ RISC-V processors 1 and 5 of a Tensix core are used for data movement, yet also have basic computing capabilities. In this example, we will build a TT-Metalium program to add two integers using these processors. We'll go through this code section by section. Note that we have this exact, full example program in -[tt_metal/programming_examples/add_2_integers_in_riscv/add_2_integers_in_riscv.cpp](../../../tt_metal/programming_examples/add_2_integers_in_riscv/add_2_integers_in_riscv.cpp), +[add_2_integers_in_riscv.cpp](../../../tt_metal/programming_examples/add_2_integers_in_riscv/add_2_integers_in_riscv.cpp), so you can follow along. To build and execute, you may use the following commands. Note that we include the necessary environment variables here, but you may possibly need more depending on the most up-to-date installation methods. diff --git a/tech_reports/prog_examples/dram_loopback/dram_loopback.md b/tech_reports/prog_examples/dram_loopback/dram_loopback.md index 663b25a43a9..18e46891002 100644 --- a/tech_reports/prog_examples/dram_loopback/dram_loopback.md +++ b/tech_reports/prog_examples/dram_loopback/dram_loopback.md @@ -4,7 +4,7 @@ We will build a program in TT-Metal that will simply copy data from one DRAM buffer to another, using the compute engine and an intermediate L1 buffer to do so. We call this concept \"loopback\". -We\'ll go through this code section by section. Note that we have this exact, full example program in [tt_metal/programming_examples/loopback/loopback.cpp](../../../tt_metal/programming_examples/loopback/loopback.cpp), so you can follow along. +We\'ll go through this code section by section. Note that we have this exact, full example program in [loopback.cpp](../../../tt_metal/programming_examples/loopback/loopback.cpp), so you can follow along. To build and execute, you may use the following commands. Note that we include the necessary environment variables here, but you may possibly need more depending on the most up-to-date installation methods. diff --git a/tech_reports/prog_examples/eltwise_binary/eltwise_binary.md b/tech_reports/prog_examples/eltwise_binary/eltwise_binary.md index 4dcd638b487..ecba48e4ae0 100644 --- a/tech_reports/prog_examples/eltwise_binary/eltwise_binary.md +++ b/tech_reports/prog_examples/eltwise_binary/eltwise_binary.md @@ -3,7 +3,7 @@ We now build a program that will perform eltwise binary operations on a some equal-sized tensors. -We'll go through any new code section by section. This builds on top of previous examples. Note that we have this exact, full example program in [tt_metal/programming_examples/eltwise_binary/eltwise_binary.cpp](../../../tt_metal/programming_examples/eltwise_binary/eltwise_binary.cpp), so you can follow along. +We'll go through any new code section by section. This builds on top of previous examples. Note that we have this exact, full example program in [eltwise_binary.cpp](../../../tt_metal/programming_examples/eltwise_binary/eltwise_binary.cpp), so you can follow along. To build and execute, you may use the following commands. Note that we include the necessary environment variables here, but you may possibly need more depending on the most up-to-date installation methods. diff --git a/tech_reports/prog_examples/eltwise_sfpu/eltwise_sfpu.md b/tech_reports/prog_examples/eltwise_sfpu/eltwise_sfpu.md index b25866d530f..0f27efea033 100644 --- a/tech_reports/prog_examples/eltwise_sfpu/eltwise_sfpu.md +++ b/tech_reports/prog_examples/eltwise_sfpu/eltwise_sfpu.md @@ -2,7 +2,7 @@ We now build a program that will perform an eltwise SFPU unary operation on a single tensor. -We'll go through any new code section by section. This builds on top of previous examples. Note that we have this exact, full example program in [tt_metal/programming_examples/eltwise_sfpu/eltwise_sfpu.cpp](../../../tt_metal/programming_examples/eltwise_sfpu/eltwise_sfpu.cpp), so you can follow along. +We'll go through any new code section by section. This builds on top of previous examples. Note that we have this exact, full example program in [eltwise_sfpu.cpp](../../../tt_metal/programming_examples/eltwise_sfpu/eltwise_sfpu.cpp), so you can follow along. To build and execute, you may use the following commands. Note that we include the necessary environment variables here, but you may possibly need more depending on the most up-to-date installation methods. diff --git a/tech_reports/prog_examples/hello_world_compute/hello_world_compute.md b/tech_reports/prog_examples/hello_world_compute/hello_world_compute.md index c2794cbfaea..bc43a70261d 100644 --- a/tech_reports/prog_examples/hello_world_compute/hello_world_compute.md +++ b/tech_reports/prog_examples/hello_world_compute/hello_world_compute.md @@ -3,7 +3,7 @@ We will build a simple program in TT-Metal that will set up a void compute kernel and place it on a given device, core, and RISC-V processor. In this example, there will be nothing for the kernel to compute; the focus will be on the general setup for a compute kernel. We'll go through this code section by section. The full example program is at: -[tt_metal/programming_examples/hello_world_compute_kernel/hello_world_compute_kernel.cpp](../../../tt_metal/programming_examples/hello_world_compute_kernel/hello_world_compute_kernel.cpp) +[hello_world_compute_kernel.cpp](../../../tt_metal/programming_examples/hello_world_compute_kernel/hello_world_compute_kernel.cpp) so you can follow along. To build and execute, you may use the following commands. Note that we include the necessary environment variables here, but you may possibly need more depending on the most up-to-date installation methods. @@ -69,7 +69,7 @@ void MAIN { } ``` -Our kernel function, which is defined in [tt_metal/programming_examples/hello_world_compute_kernel/kernels/compute/void_compute_kernel.cpp](../../../tt_metal/programming_examples/hello_world_compute_kernel/kernels/compute/void_compute_kernel.cpp), +Our kernel function, which is defined in [void_compute_kernel.cpp](../../../tt_metal/programming_examples/hello_world_compute_kernel/kernels/compute/void_compute_kernel.cpp), contains just a single `DPRINT` statement to indicate that the compute kernel has executed. Note that in order to print from the compute kernel, `DPRINT_MATH()` must be used. ## Configure and execute program on device diff --git a/tech_reports/prog_examples/hello_world_data_movement/hello_world_data_movement.md b/tech_reports/prog_examples/hello_world_data_movement/hello_world_data_movement.md index 0842a5857c6..5fe26e1ab49 100644 --- a/tech_reports/prog_examples/hello_world_data_movement/hello_world_data_movement.md +++ b/tech_reports/prog_examples/hello_world_data_movement/hello_world_data_movement.md @@ -3,7 +3,7 @@ This example will build a simple program in TT-Metal that will demonstrate how to set up a data movement kernel and place it on a given device, core, and RISC-V processor. We'll go through this code section by section. Note that we have this exact, full example program in -[tt_metal/programming_examples/hello_world_datamovement_kernel/hello_world_datamovement_kernel.cpp](../../../tt_metal/programming_examples/hello_world_datamovement_kernel/hello_world_datamovement_kernel.cpp), +[hello_world_datamovement_kernel.cpp](../../../tt_metal/programming_examples/hello_world_datamovement_kernel/hello_world_datamovement_kernel.cpp), so you can follow along. To build and execute, you may use the following commands. Note that we include the necessary environment variables here, but you may possibly need more depending on the most up-to-date installation methods. @@ -69,7 +69,7 @@ void kernel_main() { ``` The kernel function, defined in -[tt_metal/programming_examples/hello_world_datamovement_kernel/kernels/dataflow/void_dataflow_kernel.cpp](../../../tt_metal/programming_examples/hello_world_datamovement_kernel/kernels/dataflow/void_dataflow_kernel.cpp), +[void_dataflow_kernel.cpp](../../../tt_metal/programming_examples/hello_world_datamovement_kernel/kernels/dataflow/void_dataflow_kernel.cpp), simply prints two statements from each of the RISC-V processors involved with data movement. This kernel is designed to be basic in order to focus on the data movement kernel setup itself. ## Configure and execute program on device diff --git a/tech_reports/prog_examples/matmul_multi_core/matmul_multi_core.md b/tech_reports/prog_examples/matmul_multi_core/matmul_multi_core.md index 0a2297547ac..5e187eff336 100644 --- a/tech_reports/prog_examples/matmul_multi_core/matmul_multi_core.md +++ b/tech_reports/prog_examples/matmul_multi_core/matmul_multi_core.md @@ -9,7 +9,7 @@ In terms of API usage, there isn\'t much change. We will discuss the specific ch All important ways we use the API different are in the new `matmul_multi_core` function. -The full example program is in [tt_metal/programming_examples/matmul_multi_core/matmul_multi_core.cpp](../../../tt_metal/programming_examples/matmul_multi_core/matmul_multi_core.cpp) +The full example program is in [matmul_multi_core.cpp](../../../tt_metal/programming_examples/matmul_multi_core/matmul_multi_core.cpp) To build and execute, you may use the following commands. Note that we include the necessary environment variables here, but you may possibly need more depending on the most up-to-date installation methods. diff --git a/tech_reports/prog_examples/matmul_single_core/matmul_single_core.md b/tech_reports/prog_examples/matmul_single_core/matmul_single_core.md index e138300ee35..0feae36ea54 100644 --- a/tech_reports/prog_examples/matmul_single_core/matmul_single_core.md +++ b/tech_reports/prog_examples/matmul_single_core/matmul_single_core.md @@ -3,7 +3,7 @@ We'll build a program that will perform matmul operations on two tensors with equal-size inner dimension. We will then go through specific sections of the program. The full example program is in -[tt_metal/programming_examples/matmul_single_core/matmul_single_core.cpp](../../../tt_metal/programming_examples/matmul_single_core/matmul_single_core.cpp) +[matmul_single_core.cpp](../../../tt_metal/programming_examples/matmul_single_core/matmul_single_core.cpp) To build and execute, you may use the following commands. Note that we include the necessary environment variables here, but you may possibly need more depending on the most up-to-date installation methods. diff --git a/tech_reports/prog_examples/pad_multi_core/pad_multi_core.md b/tech_reports/prog_examples/pad_multi_core/pad_multi_core.md index 460a8748dd4..918b3ebeea0 100644 --- a/tech_reports/prog_examples/pad_multi_core/pad_multi_core.md +++ b/tech_reports/prog_examples/pad_multi_core/pad_multi_core.md @@ -11,7 +11,7 @@ In this example, we will implement a basic TT-Metalium program for padding an in 7. Dispatch program to device for execution. 8. Close device. -The code for this program can be found in [tt_metal/programming_examples/pad/pad_multi_core.cpp](../../../tt_metal/programming_examples/pad/pad_multi_core.cpp). +The code for this program can be found in [pad_multi_core.cpp](../../../tt_metal/programming_examples/pad/pad_multi_core.cpp). The following commands will build and execute the code for this example. Environment variables may be modified based on the latest specifications. ```bash diff --git a/tech_reports/prog_examples/shard_data_rm/shard_data_rm.md b/tech_reports/prog_examples/shard_data_rm/shard_data_rm.md index 197f95112b6..8d5b3d355c0 100644 --- a/tech_reports/prog_examples/shard_data_rm/shard_data_rm.md +++ b/tech_reports/prog_examples/shard_data_rm/shard_data_rm.md @@ -1,7 +1,7 @@ # Data Sharding (Multicore) In this example, we will implement a simple TT-Metalium program to demonstrate how sharding works for untilized data. The code for this program can be found in -[tt_metal/programming_examples/sharding/shard_data_rm.cpp](../../../tt_metal/programming_examples/sharding/shard_data_rm.cpp). +[shard_data_rm.cpp](../../../tt_metal/programming_examples/sharding/shard_data_rm.cpp). The following commands will build and execute the code for this example. Environment variables may be modified based on the latest