|
1 | 1 | { |
2 | 2 | "cells": [ |
3 | 3 | { |
4 | | -<<<<<<< HEAD |
5 | | -======= |
6 | | - "cell_type": "markdown", |
7 | | - "metadata": {}, |
8 | | - "source": [ |
9 | | - "# Triton 编程范式 - 课后练习\n", |
10 | | - "\n", |
11 | | - "本 Notebook 包含三个练习,帮助你巩固 Triton 的核心概念。\n", |
12 | | - "\n", |
13 | | - "**学习目标**:\n", |
14 | | - "- 掌握 Triton 的基本语法和向量化操作\n", |
15 | | - "- 理解 `BLOCK_SIZE` 对性能的影响\n", |
16 | | - "- 学会用向量化方式处理复杂的数据访问模式" |
17 | | - ] |
18 | | - }, |
19 | | - { |
20 | | ->>>>>>> 70260cb4e92d1f3168960cda1b5e9d466d6b9a28 |
21 | 4 | "cell_type": "code", |
22 | 5 | "execution_count": null, |
23 | 6 | "metadata": {}, |
|
219 | 202 | "cell_type": "markdown", |
220 | 203 | "metadata": {}, |
221 | 204 | "source": [ |
222 | | -<<<<<<< HEAD |
223 | | -======= |
224 | | - "**思考题**(高级):\n", |
225 | | - "1. 为什么这种方法效率不高?(提示:重复加载)\n", |
226 | | - "2. 如何优化?(提示:加载更大的块然后切片)" |
227 | | - ] |
228 | | - }, |
229 | | - { |
230 | | - "cell_type": "markdown", |
231 | | - "metadata": {}, |
232 | | - "source": [ |
233 | | ->>>>>>> 70260cb4e92d1f3168960cda1b5e9d466d6b9a28 |
234 | 205 | "---\n", |
235 | 206 | "\n", |
236 | 207 | "## 总结\n", |
|
283 | 254 | " mask = offsets < n_elements\n", |
284 | 255 | " \n", |
285 | 256 | " x_center = tl.load(x_ptr + offsets, mask=mask, other=0.0)\n", |
286 | | -<<<<<<< HEAD |
287 | 257 | " x_left = tl.load(x_ptr + offsets - 1, mask=mask & (offsets > 0), other=0.0)\n", |
288 | | -======= |
289 | | - " x_left = tl.load(x_ptr + offsets - 1, mask=offsets > 0, other=0.0)\n", |
290 | | ->>>>>>> 70260cb4e92d1f3168960cda1b5e9d466d6b9a28 |
291 | 258 | " x_right = tl.load(x_ptr + offsets + 1, mask=offsets < n_elements - 1, other=0.0)\n", |
292 | 259 | " \n", |
293 | 260 | " y = x_left + x_center + x_right\n", |
|
0 commit comments