功能函数

tpu_initialize

在使用 GDMA 和 BDC 操作前初始化设备。

void tpu_initialize()

tpu_poll

同步设备直到之前下发的 GDMA 和 BDC 操作结束返回。

void tpu_poll()

注意事项

  • 调用此方法前,GDMA 和 BDC 须处于非并行状态。

tpu_parallel_start

开启 GDMA 和 BDC 的并行状态。

void tpu_parallel_start()

注意事项

  • 调用此方法前,GDMA 和 BDC 须处于非并行状态。

tpu_parallel_end

结束 GDMA 和 BDC 的并行状态。

void 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 的指针

注意事项

tpu_local_mem_addr_unified

通过统一的 local memory 的地址得到指针

void *tpu_local_mem_addr_unified(local_addr_t addr)
参数

addr – local memory 的地址

返回

指向 local memory 的指针

注意事项

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字节的倍数