首页 > 其他分享 >TVM VLOG打印

TVM VLOG打印

时间:2024-04-06 15:00:44浏览次数:13  
标签:src bar cc 打印 VLOG TVM DEBUG

TVM 提供了详细日志记录功能,允许提交跟踪级别的调试消息,而不会影响生产中 TVM 的二进制大小或运行时。你可以在你的代码中使用 VLOG 如下:

void Foo(const std::string& bar) {
  VLOG(2) << "Running Foo(" << bar << ")";
  // ...
}

在本例中,传递给 VLOG() 的整数 2 表示 verbosity 级别。级别越高,打印的日志越多。通常,TVM 级别从 0 到 2 不等,3 只用于极低级的核心运行时属性。VLOG 系统在启动时被配置为打印 0 到整数 N 之间的 VLOG 语句。 N 可以每个文件设置或全局设置。

VLOG 默认不打印或影响二进制大小或运行时间(当编译时使用适当的优化)。要启用 VLOGging,请执行以下操作:

  1. 在/build/config.cmake中,确保设置 set(USE_RELAY_DEBUG ON)。该标志用于启用 VLOGging。
  2. 启动 Python 传递** TVM_LOG_DEBUG=**,其中 > 是逗号分隔的级别赋值列表,格式为 <file_name>=;特别地:
  • 特殊的文件名 DEFAULT 设置所有文件的 VLOG 级别设置。
  • > 可以设置为 -1 来禁用 VLOG。
  • <file_name> 是相对于 TVM repo 中的 src/ 目录的 C++ 源文件的名称(例如 .cc,而不是 .h)。在指定文件路径时,您不需要提供 src/,但是如果您这样做了,VLOG 仍然会正确地解释该路径。

示例:

# enable VLOG(0), VLOG(1), VLOG(2) in all files.
$ TVM_LOG_DEBUG=DEFAULT=2 python3 -c 'import tvm'

# enable VLOG(0), VLOG(1), VLOG(2) in all files, except not VLOG(2) in src/bar/baz.cc.
$ TVM_LOG_DEBUG=DEFAULT=2,bar/baz.cc=1 python3 -c 'import tvm'

# enable VLOG(0), VLOG(1), VLOG(2) in all files, except not in src/foo/bar.cc.
$ TVM_LOG_DEBUG=DEFAULT=2,src/foo/bar.cc=-1 python3 -c 'import tvm'

另:可参考调试TVM:在Python与C++混合编程中启动调试博客,搭建TVM调试环境,亲试有效,对学习TVM很有帮助,给博主点赞

参考:https://daobook.github.io/tvm/docs/dev/how_to/debugging_tvm.html

标签:src,bar,cc,打印,VLOG,TVM,DEBUG
From: https://www.cnblogs.com/whiteBear/p/18117446

相关文章

  • TVM Pass优化 -- 公共子表达式消除(Common Subexpr Elimination, CSE)
    定义(What)公共子表达式消除就是如果表达式E的值已经计算的到了,并且自计算的到值后E的值就不再改变了,就说,表达式E在后续计算中是一个公共表达式。简单说,该表达式上面已经执行过了,下面没必要再执行了举个例子:importtvmfromtvmimportrelayfromtvm.relayimporttransform......
  • 打印菱形
    点击查看代码//打印菱形//*//***//*****//*******//*********//***********//*************//***********//*********//*******//*****//***//*intmain(){ intline=0; scanf("%d",&line); inti=0;......
  • C语⾔编程题 计算最⼤公约数 和 打印最⼩公倍数
    1.计算最⼤公约数1.1 题⽬描述:      输⼊2个整数m和n,计算m和n的最⼤公约数,并打印出结果2.2解法思路:       最⼤公约数是指两个或多个整数共有约数中最⼤的⼀个。为了求出两个数的最⼤公约数,可以采⽤: •枚举试除法: 1.具体来说,公约数⼀定⼩于两个......
  • Mybatis 打印完整的SQL
    1、c++\033输出设置2、packageorg.jeecg.config.mybatis;importlombok.extern.slf4j.Slf4j;importorg.apache.ibatis.executor.parameter.ParameterHandler;importorg.apache.ibatis.executor.statement.StatementHandler;importorg.apache.ibatis.mapping.BoundSql......
  • Spring Data JPA日志打印SQL语句和入参真就这么简单吗?
    1乞丐版配置spring:aop:proxy-target-class:truejpa:hibernate:ddl-auto:updateshow-sql:truelogging:level:root:infoorg.hibernate.SQL:debugorg.hibernate.engine.QueryParameters:debugorg.hibernate.engin......
  • L1-002 打印沙漏
    本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印*****************所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。给定任意N个......
  • 打印目录树
        有的时候,需要了解一个目录及其子目录的层次结构,比方说在找东西的时候,不记得东西放在什么目录下了,或者忘了当初在什么位置创建了一个目录,再比方说看代码的时候,想要了解整个project的代码是怎么进行目录划分的,系统里有查看进程树的命令,但是没有查看目录树的命令,ls命令......
  • Camstar半导体打印服务安装配置
    安装包配置如下: 保存后,启动服务。  ......
  • 【PCB专题】案例:Allegro怎么1:1在纸上打印出PCB板
        首先我们要知道为什么我们需要1:1打印出PCB板?为什么需要1:1打印    一般我们要1:1打印出来这个功能是在新画的器件封装验证、首板结构配合检查、多个板卡互连验证等情况下使用:    在新画了一个器件封装时,如果我们手上有实物,那么通过1:1打印出来后可......
  • 打印指定路径下所有文件的具体路径
    打印指定路径下所有文件的具体路径importosinput_path='./'path_file=open('path_file','w')forroot,dirs,filesinos.walk(input_path):forfileinfiles:path_file.write(os.path.join(root,file)+'\n')path_f......