功能函数
tpu_initialize
在使用 GDMA 和 BDC 操作前初始化设备。
- void tpu_initialize()
tpu_poll
同步设备直到之前下发的 GDMA 和 BDC 操作结束返回。
tpu_parallel_start
开启 GDMA 和 BDC 的并行状态。
tpu_parallel_end
结束 GDMA 和 BDC 的并行状态。
tpu_is_parallel_state
查看 GDMA 和 BDC 的并行状态。
- bool tpu_is_parallel_state()
- 返回
并行状态标志
tpu_npu_num
每个 TPU 中 NPU 的数量。
- int tpu_npu_num()
- 返回
NPU 的数量
tpu_bank_num
local memory 中 Bank 的数量。
- int tpu_bank_num()
- 返回
Bank 的数量
tpu_eu_num
不同数据类型对应的 EU 的数量。
- int tpu_eu_num(data_type_t dtype)
- 参数
dtype – 数据类型
- 返回
EU 的数量
tpu_local_mem_size_per_npu
每个 NPU 的 local memory 的大小(以字节为单位)。
- int tpu_local_mem_size_per_npu()
- 返回
local memory 的大小
tpu_l2_sram_size
L2-SRAM 的大小(以字节为单位)。
- int tpu_l2_sram_size()
- 返回
L2-SRAM 的大小
tpu_l2_sram_get_start_addr
L2-SRAM起始地址。
- unsigned long long tpu_l2_sram_get_start_addr()
- 返回
L2-SRAM 的起始地址
tpu_local_mem_get_start_addr
第一个local memory的起始地址。
- unsigned int tpu_local_mem_get_start_addr()
- 返回
第一个local memory的起始地址
tpu_global_mem_addr
通过 global memory 的地址得到指针
- void *tpu_global_mem_addr(global_addr_t addr)
- 参数
addr – global memory 的地址
- 返回
指向 global memory 的指针
tpu_local_mem_addr
通过 NPU 的 index 和 local memory 的地址得到指针
- void *tpu_local_mem_addr(int start_idx, local_addr_t addr)
- 参数
start_idx – 起始 NPU 的 index
addr – local memory 的地址
- 返回
指向 local memory 的指针
注意事项
start_idx 的取值范围是 [0,
NPU_NUM
- 1]。addr 的取值范围是 [0,
LOCAL_MEM_SIZE
- 1]。
tpu_local_mem_addr_unified
通过统一的 local memory 的地址得到指针
- void *tpu_local_mem_addr_unified(local_addr_t addr)
- 参数
addr – local memory 的地址
- 返回
指向 local memory 的指针
注意事项
addr 的取值范围是 [0,
NPU_NUM
*LOCAL_MEM_SIZE
- 1]。等价于 tpu_local_mem_addr ( tpu_npu_index(addr) , addr %
LOCAL_MEM_SIZE
)。
tpu_l2_sram_addr
通过 L2-SRAM 的地址得到指针
- void *tpu_l2_sram_addr(l2_sram_addr_t addr)
- 参数
addr – L2-SRAM 的地址
- 返回
指向 L2-SRAM 的指针
tpu_flush_cache
将当前cache的数据写回到DDR
- void tpu_flush_cache(system_addr_t address, unsigned long long size)
- 参数
address – DDR地址, 64字节对齐
size – 刷新的数据大小, 64字节的倍数
tpu_invalidate_cache
使当前cache无效,数据直接从DDR中获取
- void tpu_invalidate_cache(system_addr_t address, unsigned long long size)
- 参数
address – DDR地址, 64字节对齐
size – 数据大小, 64字节的倍数