Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@
### Triton 系列 💡

+ [Triton 编程范式入门](./docs/18_triton/01_triton_programming_paradigms/README.md)
+ [Triton 内存和数据传输](./docs/18_triton/02_triton_memory_and_data_movement/README.md)

### LLM 推理技术 🤖

Expand Down
22 changes: 4 additions & 18 deletions docs/18_triton/01_triton_programming_paradigms/homework.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,7 @@
"source": [
"# Triton 编程范式 - 课后练习\n",
"\n",
"本 Notebook 包含三个练习,帮助你巩固 Triton 的核心概念。\n",
"\n",
"**学习目标**:\n",
"- 掌握 Triton 的基本语法和向量化操作\n",
"- 理解 `BLOCK_SIZE` 对性能的影响\n",
"- 学会用向量化方式处理复杂的数据访问模式"
"本 Notebook 包含俩个练习,帮助你巩固 Triton 的核心概念"
]
},
{
Expand Down Expand Up @@ -212,15 +207,6 @@
" print(f\"Torch: {y_torch[:5].cpu().numpy()}\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**思考题**(高级):\n",
"1. 为什么这种方法效率不高?(提示:重复加载)\n",
"2. 如何优化?(提示:加载更大的块然后切片)"
]
},
{
"cell_type": "markdown",
"metadata": {},
Expand All @@ -229,9 +215,9 @@
"\n",
"## 总结\n",
"\n",
"完成这三个练习后,你应该掌握了 Triton kernel 的基本写法\n",
"完成这两个练习后,你应该掌握了 Triton kernel 的基本写法\n",
"\n",
"**下一步**:学习 Triton 的 Shared Memory 和 Block Reduction 操作!\n",
"**下一步**:学习 Triton 的内存与数据搬运\n",
"\n",
"## 课后答案\n",
"\n",
Expand Down Expand Up @@ -277,7 +263,7 @@
" mask = offsets < n_elements\n",
" \n",
" x_center = tl.load(x_ptr + offsets, mask=mask, other=0.0)\n",
" x_left = tl.load(x_ptr + offsets - 1, mask=offsets > 0, other=0.0)\n",
" x_left = tl.load(x_ptr + offsets - 1, mask=mask & (offsets > 0), other=0.0)\n",
" x_right = tl.load(x_ptr + offsets + 1, mask=offsets < n_elements - 1, other=0.0)\n",
" \n",
" y = x_left + x_center + x_right\n",
Expand Down
Loading