HIP(Heterogeneous-compute Interface for Portability)提供了一种日志记录机制,可以帮助追踪 HIP API 和运行时代码的执行情况。
一、HIP Logging Level
日志级别可以通过环境变量 AMD_LOG_LEVEL 来设置。默认情况下,HIP 日志是禁用的。以下是可用的日志级别枚举:
enum LogLevel {
LOG_NONE = 0, // 不记录任何日志
LOG_ERROR = 1, // 仅记录错误信息
LOG_WARNING = 2, // 记录错误和警告信息
LOG_INFO = 3, // 记录错误、警告和一般信息
LOG_DEBUG = 4 // 记录所有信息,包括调试信息
};
二、HIP Logging Mask
日志掩码用于控制记录 HIP 应用程序执行期间不同功能类型的日志。以下是可用的日志掩码枚举:
enum LogMask {
LOG_API = 0x00000001, // API调用
LOG_CMD = 0x00000002, // 内核和拷贝命令以及屏障
// ... 其他日志掩码选项
LOG_ALWAYS = 0xFFFFFFFF, // 即使掩码标志为零也总是记录
};
一旦设置了 AMD_LOG_LEVEL,日志掩码将默认设置为 0x7FFFFFFF。然而,根据不同的日志记录功能需求,也可以通过环境变量 AMD_LOG_MASK 来定义日志掩码。
三、HIP Logging Command
HIP 定义了一个 ClPrint 宏来打印日志信息:
#define ClPrint(lev

最低0.47元/天 解锁文章
405

被折叠的 条评论
为什么被折叠?



