Skip to main content

附录

附录 A - MUSA 环境变量

目前支持的 MUSA 环境变量如下所示:

变量描述
设备枚举和设备属性
MUSA_VISIBLE_DEVICES用逗号隔开的 GPU索引序列GPU 索引以整数的形式给出。仅索引序列中的 GPU 设备对 MUSA 应用可见,并且这些设备按照序列给出的顺序枚举。如果您给出的序列中有一个索引是无效的,那么只有序列里该无效索引前面的设备对应用可见。例如:MUSA_VISIBLE_DEVICES=2,1,将造成 GPU 0 不可见,而 GPU 2 会排在 GPU 1 前面,并且 app 里的 0 号卡将是 GPU 2。如果MUSA_VISIBLE_DEVICES=0,2,-1,1,将导致 GPU 0 和 GPU 2 可见,而 GPU 1 不可见。说明: MUSA 默认按照性能从高到低排序设备,以便使用最优设备。如果您需要按照 PCIe 总线编号的顺序选择某两个特定的设备,请同时设置 MUSA_DEVICE_ORDER=PCI_BUS_ID。
MUSA_MANAGED_FORCE_DEVICE_ALLOC0 或 1 (默认为 0)设置为 1 时,驱动将所有托管内存分配在设备显存而不是系统内存中。
MUSA_DEVICE_ORDERFASTEST_FIRST,PCI_BUS_ID(默认为 FASTEST_FIRST)FASTEST_FIRST:MUSA 将根据一种简单的算法从快到慢枚举设备。PCI_BUS_ID:驱动按照 PCI 总线顺序从小到大排列设备。
任务执行
MUSA_LAUNCH_BLOCKING0 or 1 (默认为 0)指定是否使能异步发起 kernel 的行为。设置为 1 时 不使能,设置为 0 时使能。
模块加载
MUSA_MODULE_LOADINGDEFAULT, LAZY, EAGER指定当前程序的模块加载模式。设置为 EAGER 时, 所有来自 fatbin 或 elf 文件的 kernel 将在 muModuleLoad* API 调用时加载。设置为 LAZY 时,加载指定的 kernel 会延迟到用一个 MUfunc 句柄,将 kernel 从 muModuleGetFunction 接口中取出来的时间点。该模式可降低模块初始化加载延迟,减少相关显存的资源消耗。代价是 muModuleGetFunction 接口的延时会更高。DEFAULT 的表现即 EAGER 行为。