【Triton 教程】triton_language.load

Triton 是一种用于并行编程的语言和编译器。它旨在提供一个基于 Python 的编程环境,以高效编写自定义 DNN 计算内核,并能够在现代 GPU 硬件上以最大吞吐量运行。

更多 Triton 中文文档可访问 →triton.hyper.ai/

复制代码
triton.language.load(pointer, mask=None, other=None, boundary_check=(), padding_option='', cache_modifier='', eviction_policy='', volatile=False)

返回 1 个数据张量,其值从由指针所定义的内存位置处加载:

1.如果 pointer 是单元素指针,则加载 1 个标量。在这种情况下:

  • maskother 必须也是标量,
  • other 会隐式地转换为 pointer.dtype.element_ty 类型,
  • boundary_checkpadding_option 必须为空。

2.如果 pointer 是 1 个 N 维指针张量,则加载 1 个 N 维张量。在这种情况下:

  • maskother 会被隐式地广播到 pointer.shape
  • other 会隐式地转换为 pointer.dtype.element_ty 类型,
  • boundary_checkpadding_option 必须为空。

3.如果 pointer 是由 make_block_ptr 定义的块指针,则加载 1 个张量。在这种情况下:

  • maskother 必须为 None
  • 可以指定 boundary_checkpadding_option 来控制超出越界访问的行为。

参数**:**

  • pointertriton.PointerType *,*或 dtype=triton.PointerType 的块)- 指向要加载的数据的指针。
  • masktriton.int1 的块 *,*可选)- 如果 maskidx 为 false,则不加载 pointeridx 处的数据(对于块指针必须为 None)。
  • other ( , 可选) - 如果 maskidx 为 false,则返回 otheridx
  • boundary_check整数元组 *,*可选)- 表示应进行边界检查维度的元组。
  • padding_option - 应为 {"", "zero", "nan"} 中的一个,越界时进行填充。
  • cache_modifier **(*str ,可选,*应为 {"", "ca", "cg"} 中的一个 )- 其中「ca」表示在所有层级进行缓存,「cg」表示在全局层级缓存(在 L2 及以下缓存,不是 L1),详细信息请参见缓存操作符。)在 NVIDIA PTX 中更改缓存选项。
  • eviction_policystr , 可选) - 更改 NVIDIA PTX 中的驱逐策略。
  • volatilebool , 可选) - 更改 NVIDIA PTX 中的易失性选项。
相关推荐
RainbowC05 小时前
CUDA软件实现跨线程块同步
gpu
冬奇Lab6 小时前
Agent 系列(23):Web Agent——让 Agent 真正浏览网页
人工智能·llm·agent
冬奇Lab6 小时前
每日一个开源项目(第135篇):codebase-memory-mcp - 给 AI Agent 一张代码库的知识图谱
人工智能·开源·llm
Rust研习社8 小时前
组合真的优于继承吗?为什么 Rust 和 Go 都拥抱组合舍弃继承?
后端·rust·编程语言
IT_陈寒8 小时前
JavaScript的闭包把我坑惨了,说好的内存会自动回收呢?
前端·人工智能·后端
Jack2011 小时前
HarmonyOS开发中RESTful API封装:网络层架构设计
编程语言
jooloo12 小时前
Codex 间歇性 400 之谜:一条对话里,它为什么有时候用 chat/completions,有时候切到 responses?
人工智能
用户51914958484513 小时前
OpenSSL PKCS#12 PBMAC1 堆栈缓冲区溢出漏洞 (CVE-2025-11187) 分析与验证
人工智能·aigc