成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

【TVM 教程】PAPI 入門 原創(chuàng)

發(fā)布于 2025-6-30 10:32
瀏覽
0收藏

Apache TVM 是一個深度的深度學習編譯框架,適用于 CPU、GPU 和各種機器學習加速芯片。更多 TVM 中文文檔可訪問 →https://tvm.hyper.ai/

性能應用程序編程接口(Performance Application Programming Interface,簡稱 PAPI)是一個可在各種平臺上提供性能計數(shù)器的庫。在指定的運行期間,性能計數(shù)器提供處理器行為的準確底層信息,包含簡單的指標,如總循環(huán)計數(shù)、緩存未命中和執(zhí)行的指令,以及更高級的信息(如總 FLOPS 和 warp 占用率)。PAPI 的這些指標在 profiling 時可用。

安裝 PAPI?

PAPI 可以用包管理器(Ubuntu 上用?apt-get install libpapi-dev?命令)來安裝,也可以從?源代碼?安裝。

由于之前從源代碼 pull 最新版本的 PAPI 導致了構(gòu)建問題,因此推薦 checkout 標記版本?papi-6-0-0-1-t

使用 PAPI 構(gòu)建 TVM?

若要在 TVM 構(gòu)建中包含 PAPI,在?config.cmake?中設置:

set(USE_PAPI ON)

若 PAPI 安裝在非標準位置,可指定它的位置:

set(USE_PAPI path/to/papi.pc)

在 Profiling 時使用 PAPI?

若 TVM 是用 PAPI 構(gòu)建的(見上文),可將?tvm.runtime.profiling.PAPIMetricCollector?傳給?tvm.runtime.GraphModule.profile()?來收集性能指標:


import tvm
from tvm import relay
from tvm.relay.testing import mlp
from tvm.runtime import profiler_vm
import numpy as np

target = "llvm"
dev = tvm.cpu()
mod, params = mlp.get_workload(1)

exe = relay.vm.compile(mod, target, params=params)
vm = profiler_vm.VirtualMachineProfiler(exe, dev)

data = tvm.nd.array(np.random.rand(1, 1, 28, 28).astype("float32"), device=dev)
report = vm.profile(
    data,
    func_name="main",
    collectors=[tvm.runtime.profiling.PAPIMetricCollector()],
)
print(report)
Name                                    perf::CACHE-MISSES   perf::CYCLES  perf::STALLED-CYCLES-BACKEND  perf::INSTRUCTIONS  perf::STALLED-CYCLES-FRONTEND
fused_nn_dense_nn_bias_add_nn_relu                   2,494      1,570,698                        85,608             675,564                         39,583
fused_nn_dense_nn_bias_add_nn_relu_1                 1,149        655,101                        13,278             202,297                         21,380
fused_nn_dense_nn_bias_add                             288        600,184                         8,321             163,446                         19,513
fused_nn_batch_flatten                                 301        587,049                         4,636             158,636                         18,565
fused_nn_softmax                                       154        575,143                         8,018             160,738                         18,995
----------
Sum                                                  4,386      3,988,175                       119,861           1,360,681                        118,036
Total                                               10,644      8,327,360                       179,310           2,660,569                        270,044

還可以指定收集哪些指標:

report = vm.profile(
    data,
    func_name="main",
    collectors=[tvm.runtime.profiling.PAPIMetricCollector({dev: ["PAPI_FP_OPS"])],
)
Name                                  PAPI_FP_OPS
fused_nn_dense_nn_bias_add_nn_relu        200,832
fused_nn_dense_nn_bias_add_nn_relu_1       16,448
fused_nn_dense_nn_bias_add                  1,548
fused_nn_softmax                              160
fused_nn_batch_flatten                          0
----------
Sum                                       218,988
Total                                     218,988

運行?papi_avail?和?papi_native_avail?命令可得到可用指標列表。

?著作權(quán)歸作者所有,如需轉(zhuǎn)載,請注明出處,否則將追究法律責任
收藏
回復
舉報
回復
相關推薦
主站蜘蛛池模板: 国产在线小视频 | 在线日韩视频 | 亚洲国产激情 | 色哟哟一区二区三区 | av日韩在线播放 | 国产小视频在线观看 | 精品少妇av| 色播亚洲 | 国产伦理一区 | 免费久久 | 免费一级黄色片 | 国产一区二区三区四区 | 国产精品一区二区三 | 日本伊人久久 | 国产视频一区二区在线 | 国产性猛交96 | 在线视频日韩 | 一区二区三区在线免费 | 国产精品久久久久久99 | 在线看黄色片 | 99精品在线| 福利在线观看 | 一级二级毛片 | 成年人的免费视频 | 一区二区小视频 | 三级免费网站 | www.色偷偷 | 一区二区黄色 | 亚洲人成在线观看 | 亚洲三区在线观看 | 深夜福利视频在线观看 | 欧美一级片在线 | 国产av一级毛片 | 欧美在线播放视频 | 国产精品午夜视频 | 日韩在线视频一区二区三区 | 国产免费黄色 | 亚洲免费大片 | 日韩久久久 | 午夜性福利 | 午夜天堂av |