SHMEM日志【免费下载链接】shmemCANN SHMEM 是面向昇腾平台的多机多卡内存通信库基于OpenSHMEM 标准协议实现跨设备的高效内存访问与数据同步。项目地址: https://gitcode.com/cann/shmem环境变量介绍SHMEM日志相关的几个环境变量SHMEM_LOG_LEVEL: 用于设置SHMEM日志等级严重程度从低到高有DEBUG、WARN、INFO、ERROR、FATAL。默认为ERROR调试时建议设置为DEBUG或INFO。SHMEM_LOG_TO_STDOUT: 用于设置SHMEM日志是否输出到控制台, 0: 关闭, 1: 开启输出到控制台。默认关闭不输出到控制台日志会存储到默认路径或指定路径。如果开启则会在控制台打印日志日志将不再落盘到文件。SHMEM_LOG_PATH: 用于设置SHMEM日志保存路径 需要传递合法路径。如不设置默认存储路径为${HOME}/shmem/log。日志阅读每条SHMEM的日志一般会包含如下内容时间、日志级别、进程号、日志模块、日志文件、日志所在行号、日志信息。接下来通过一个初始化两个pe再去初始化的例子简单介绍如何看懂SHMEM日志。此样例日志都是info级别主要关注日志信息。前面的时间、日志级别、进程号等信息不做专门截取解释。 初始化阶段会先报出bootstrap使用的flag如图中的ACLSHMEMX_INIT_WITH_DEFAULT。然后会开始boostrap初始化并检测环境变量的设置情况如图中SHMEM_UID_SESSION_ID未设置。SHMEM有一个root 0节点在单机环境该节点可以使用回环地址但在集群环境这样设置是错误的。因此初始化过程会报出当前的root 0即remote address是否是回环地址。如果是root 0是回环则默认单机环境当前pe也可使用回环地址当前pe的ip信息也会在netifaddr报出。bootstrap过程中一般涉及多个socket的创建和使用这些socket的信息也会在日志中体现更详细的socket信息可以通过开启debug级别获取但数量较大。bootstrap成功后会有专门日志打印同时日志里会标明pe号。初始化成功后会有专门的日志打印同时日志里会标明pe号。去初始化成功后会有专门的日志打印同时日志里会标明pe号。SHMEM日志当前主要提供host侧的定位能力device侧如算子发生报错时可能无法根据SHMEM定位需配合CANN或者相关工具日志进行定位。【免费下载链接】shmemCANN SHMEM 是面向昇腾平台的多机多卡内存通信库基于OpenSHMEM 标准协议实现跨设备的高效内存访问与数据同步。项目地址: https://gitcode.com/cann/shmem创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考