|
41 | 41 | "<img src=\"../images/vadd_grid.png\" alt=\"Vector Adder\" width=\"400\"/>" |
42 | 42 | ] |
43 | 43 | }, |
| 44 | + { |
| 45 | + "cell_type": "markdown", |
| 46 | + "metadata": {}, |
| 47 | + "source": [ |
| 48 | + "Workload and tile size assignment " |
| 49 | + ] |
| 50 | + }, |
44 | 51 | { |
45 | 52 | "cell_type": "code", |
46 | 53 | "execution_count": null, |
|
182 | 189 | "sch.print_mlir(all_code)" |
183 | 190 | ] |
184 | 191 | }, |
185 | | - { |
186 | | - "cell_type": "markdown", |
187 | | - "metadata": {}, |
188 | | - "source": [ |
189 | | - "### Generated Code Tree Structure\n", |
190 | | - "\n", |
191 | | - "```\n", |
192 | | - "├── Makefile (ARIES optimization flags launched by aries.compile)\n", |
193 | | - "├── aries.mlir (ARIES initial IR)\n", |
194 | | - "└── project (Generated hardware design)\n", |
195 | | - " ├── Makefile (Used to build the hardware design to binaries)\n", |
196 | | - " ├── aie (AIE kernels and graphs)\n", |
197 | | - " ├── command (Record the optimization flags)\n", |
198 | | - " ├── add.adf.mlir (ARIES final IR)\n", |
199 | | - " ├── host (Host code running on CPU)\n", |
200 | | - " ├── kernel (Vitis HLS code running on PL)\n", |
201 | | - " └── system.cfg (Configuration connecting AIE & PL)\n", |
202 | | - "```" |
203 | | - ] |
204 | | - }, |
205 | 192 | { |
206 | 193 | "cell_type": "code", |
207 | 194 | "execution_count": null, |
|
212 | 199 | "versal_image_path = '/home/arclab/'\n", |
213 | 200 | "sch.compile(aries_path, prj_dir, versal_image_path, \"hw_emu\")" |
214 | 201 | ] |
| 202 | + }, |
| 203 | + { |
| 204 | + "cell_type": "markdown", |
| 205 | + "metadata": {}, |
| 206 | + "source": [ |
| 207 | + "### Bandwidth optimization\n", |
| 208 | + "\n", |
| 209 | + "#### Settings of Vector Add \n", |
| 210 | + "| Parameter | Value |\n", |
| 211 | + "|---------------------|--------|\n", |
| 212 | + "| I | 131072 |\n", |
| 213 | + "| TI | 512 |\n", |
| 214 | + "| Kernel-side Repeat | 20 |\n", |
| 215 | + "\n", |
| 216 | + "#### Results\n", |
| 217 | + "| AXI | PLIO | Parallelism | Execution Time (Sec) | DDR Bandwidth (GB/s) |\n", |
| 218 | + "|-----|------|-------------|----------------|---------------|\n", |
| 219 | + "| 32 | 32 | 1 | 0.0105986 | 2.97 |\n", |
| 220 | + "| 64 | 64 | 1 | 0.0053354 | 5.90 |\n", |
| 221 | + "| 128 | 128 | 1 | 0.00281601 | 11.17 |\n", |
| 222 | + "| 256 | 128 | 1 | 0.00281057 | 11.19 |\n", |
| 223 | + "| 256 | 128 | 2 | 0.00256107 | 12.28 |\n", |
| 224 | + "| 512 | 128 | 4 | 0.00250601 | 12.55 |" |
| 225 | + ] |
| 226 | + }, |
| 227 | + { |
| 228 | + "cell_type": "markdown", |
| 229 | + "metadata": {}, |
| 230 | + "source": [] |
215 | 231 | } |
216 | 232 | ], |
217 | 233 | "metadata": { |
|
0 commit comments