cGPU隔离能力FAQ

更新时间:
复制 MD 格式

cGPU是阿里云自研的GPU显存和算力隔离模块,使用cGPU服务可以隔离GPU资源,在多个容器共用一张GPU卡时容器之间的显存和计算资源使用互不影响。本文介绍cGPU使用中的已知问题及注意事项。

阅读前提示

  • 若您集群中GPU节点已存在标签ack.node.gpu.schedule=cgpuack.node.gpu.schedule=core_memcgpu=true,则表明节点已开启cGPU隔离能力。

  • 您需要查看ack-ai-installer组件发布记录,了解ack-ai-installer组件版本与cGPU组件版本的对应关系。

  • 若您想了解更多关于cGPU的信息,请参见NVIDIA官方文档

cGPU版本兼容性

NVIDIA驱动兼容性

cGPU版本

兼容的 NVIDIA 驱动

1.5.23

1.5.22

1.5.21

1.5.20

1.5.19

1.5.18

1.5.17

1.5.16

1.5.15

1.5.13

1.5.12

1.5.11

1.5.10

1.5.9

1.5.8

1.5.7

支持:

  • 460系列

  • 470系列

  • 510系列

  • 515系列

  • 525系列

  • 535系列

  • 550系列

  • 560系列

  • 565系列

  • 570系列

  • 575系列

  • 580系列

1.5.6

1.5.5

1.5.3

1.5.2

1.0.10

1.0.9

1.0.8

1.0.7

1.0.6

1.0.5

支持:

  • 460系列

  • 470系列 ≤ 470.161.03

  • 510系列 ≤ 510.108.03

  • 515系列 ≤ 515.86.01

  • 525系列 ≤ 525.89.03

不支持:

  • 535系列

  • 550系列

  • 560系列

  • 565系列

  • 570系列

  • 575系列

  • 580系列

1.0.3

0.8.17

0.8.13

支持:

  • 460系列

  • 470系列 ≤ 470.161.03

不支持:

  • 510系列

  • 515系列

  • 525系列

  • 535系列

  • 550系列

  • 560系列

  • 565系列

  • 570系列

  • 575系列

  • 580系列

实例规格族兼容性

cGPU版本

兼容的实例规格族

1.5.23

1.5.22

支持:

  • gn6i / gn6e / gn6v / gn6t / ebmgn6i / ebmgn6t / ebmgn6e

  • gn7i / gn7 / gn7e / ebmgn7i / ebmgn7e

  • gn8t / ebmgn8t

  • gn8is / gn8v / ebmgn8is / ebmgn8v

  • gn8ia / ebmgn8ia

  • ebmgn9t

  • gn8ga / ebmgn8ga

  • ebmgn9g*

1.5.21

支持:

  • gn6i / gn6e / gn6v / gn6t / ebmgn6i / ebmgn6t / ebmgn6e

  • gn7i / gn7 / gn7e / ebmgn7i / ebmgn7e

  • gn8t / ebmgn8t

  • gn8is / gn8v / ebmgn8is / ebmgn8v

  • gn8ia / ebmgn8ia

  • ebmgn9t

  • gn8ga / ebmgn8ga

不支持:

  • ebmgn9g*

1.5.20

1.5.19

支持:

  • gn6i / gn6e / gn6v / gn6t / ebmgn6i / ebmgn6t / ebmgn6e

  • gn7i / gn7 / gn7e / ebmgn7i / ebmgn7e

  • gn8t / ebmgn8t

  • gn8is / gn8v / ebmgn8is / ebmgn8v

  • gn8ia / ebmgn8ia

  • ebmgn9t

不支持:

  • gn8ga / ebmgn8ga

1.5.18

1.5.17

1.5.16

1.5.15

1.5.13

1.5.12

1.5.11

1.5.10

1.5.9

支持:

  • gn6i / gn6e / gn6v / gn6t / ebmgn6i / ebmgn6t / ebmgn6e

  • gn7i / gn7 / gn7e / ebmgn7i / ebmgn7e

  • gn8t / ebmgn8t

  • gn8is / gn8v / ebmgn8is / ebmgn8v

  • gn8ia / ebmgn8ia

不支持:

  • ebmgn9t

  • gn8ga / ebmgn8ga

1.5.8

1.5.7

支持:

  • gn6i / gn6e / gn6v / gn6t / ebmgn6i / ebmgn6t / ebmgn6e

  • gn7i / gn7 / gn7e / ebmgn7i / ebmgn7e

  • gn8t / ebmgn8t

  • gn8is / gn8v / ebmgn8is / ebmgn8v

不支持:

  • gn8ia / ebmgn8ia

  • ebmgn9t

  • gn8ga / ebmgn8ga

1.5.6

1.5.5

1.5.3

1.5.2

1.0.10

1.0.9

1.0.8

1.0.7

1.0.6

1.0.5

1.0.3

支持:

  • gn6i / gn6e / gn6v / gn6t / ebmgn6i / ebmgn6t / ebmgn6e

  • gn7i / gn7 / gn7e / ebmgn7i / ebmgn7e

不支持:

  • gn8t / ebmgn8t

  • gn8is / gn8v / ebmgn8is / ebmgn8v

  • gn8ia / ebmgn8ia

  • ebmgn9t

  • gn8ga / ebmgn8ga

0.8.17

0.8.13

支持:

  • gn6i / gn6e / gn6v / gn6t / ebmgn6i / ebmgn6t / ebmgn6e

不支持:

  • gn7i / gn7 / gn7e / ebmgn7i / ebmgn7e

  • gn8t / ebmgn8t

  • gn8is / gn8v / ebmgn8is / ebmgn8v

  • gn8ia / ebmgn8ia

  • ebmgn9t

  • gn8ga / ebmgn8ga

nvidia-container-toolkit兼容性

cGPU版本

兼容的 nvidia-container-toolkit

1.5.23

1.5.22

1.5.21

1.5.20

1.5.19

1.5.18

1.5.17

1.5.16

1.5.15

1.5.13

1.5.12

1.5.11

1.5.10

1.5.9

1.5.8

1.5.7

1.5.6

1.5.5

1.5.3

1.5.2

1.0.10

支持:

  • nvidia-container-toolkit ≤ 1.10

  • nvidia-container-toolkit 1.11 ~ 1.17

1.0.9

1.0.8

1.0.7

1.0.6

1.0.5

1.0.3

0.8.17

0.8.13

支持:

  • nvidia-container-toolkit ≤ 1.10

不支持:

  • nvidia-container-toolkit 1.11 ~ 1.17

kernel 版本兼容性

cGPU版本

兼容的 kernel 版本

1.5.23

支持:

  • 3.x

  • 4.x

  • 5.x,最高支持 5.15

  • Ubuntu 24.04:6.x,最高支持 6.8

  • alinux4:6.x,最高支持 6.6.102-7

1.5.22

1.5.21

支持:

  • 3.x

  • 4.x

  • 5.x,最高支持 5.15

  • Ubuntu 24.04:6.x,最高支持 6.8

  • alinux4:6.x,最高支持 6.6.102-5

不支持:

  • alinux4 中高于 6.6.102-5 的 6.x 版本

1.5.20

1.5.19

1.5.18

1.5.17

1.5.16

1.5.15

1.5.13

1.5.12

1.5.11

1.5.10

1.5.9

支持:

  • 3.x

  • 4.x

  • 5.x,最高支持 5.15

不支持:

  • 6.x

1.5.8

支持:

  • 3.x

  • 4.x

  • 5.x,最高支持 5.10

不支持:

  • 6.x

1.5.7

1.5.6

1.5.5

1.5.3

1.5.2

1.0.10

1.0.9

1.0.8

1.0.7

1.0.6

1.0.5

1.0.3

支持:

  • 3.x

  • 4.x

  • 5.x,最高支持 5.1

不支持:

  • 6.x

0.8.17

支持:

  • 3.x

  • 4.x

  • 5.x,最高支持 5.0

不支持:

  • 6.x

0.8.13

0.8.12

0.8.10

支持:

  • 3.x

  • 4.x

不支持:

  • 5.x

  • 6.x

主流发行版内核相关信息

发行版

kernel

objtool / ldd

GCC

全称

al2

4.19

2.14 / 2.17

4.8.5

Alibaba Cloud Linux (Aliyun Linux) release 2.1903 LTS (Hunting Beagle)

al3

5.10

2.14 / 2.32

10.2.1

Alibaba Cloud Linux release 3 (OpenAnolis Edition)

al4

6.6

2.38 / 2.38

12.3

Alibaba Cloud Linux 4.0.1 (OpenAnolis Edition)

u18

4.15

2.14 / 2.27

7.5

Ubuntu 18.04.6 LTS

u20

5.4

2.14 / 2.31

9.4

Ubuntu 20.04.6 LTS

u22

5.15

2.34 / 2.35

11.4

Ubuntu 22.04.5 LTS

u24

6.8

2.38 / 2.39

13.3

Ubuntu 24.04.3 LTS

objtool / ldd 列中,前一个值表示当前内核编译时所依赖的最高 GLIBC 版本,安装 cGPU 时,当前系统的 ldd 版本必须大于或等于该值。
安装 cGPU 时,推荐使用的 GCC 版本不低于当前内核编译时所用的 GCC 版本。

常见问题

使用cGPU出现Linux Kernel Panic。

  • 背景:使用cGPU组件时,出现cGPU内核驱动死锁现象(即并发执行的进程互相牵制),导致Linux Kernel Panic问题。

  • 原因:您安装的cGPU≤1.5.7版本,组件版本过低导致。

  • 解决方案:推荐您安装cGPU≥1.5.10版本,或将低版本cGPU逐步升级到1.5.10及以上版本,避免新业务出现内核错误问题。升级方式,请参见升级节点cGPU版本

使用cGPU部分场景出现cGPU Pod启动失败。

  • 背景:使用阿里云容器优化版本操作系统镜像时,部分场景下cGPU节点上cGPU Pod启动失败。错误描述如下:

    "Error: failed to create containerd task: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error running prestart hook #0: exit status 2, stdout: , stderr: Auto-detected mode as 'legacy': unknown"
  • 原因:cgpu≤1.5.18版本时,会导致部分场景下cGPU节点上首个cGPU Pod启动失败。

  • 解决方案:升级ack-ai-installer≥1.12.6版本,具体升级操作请参见升级共享GPU调度组件

创建cGPU Pod出现modprobe: ERROR

  • 背景:创建cGPU Pod出现modprobe: ERROR: could not insert 'cgpu_procfs': Operation not permittedmodprobe: ERROR: could not insert 'km': Operation not permitted报错。

  • 原因:以上两者报错信息如下所示:

    • Error: failed to create containerd task: failed to create shim: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error running hook #0: error running hook: exit status 2, stdout: , stderr: modprobe: ERROR: could not insert 'cgpu_procfs': Operation not permitted modprobe: ERROR: could not insert 'cgpu_procfs': Operation not permitted Auto-detected mode as 'legacy': unknown
    • modprobe: ERROR: could not insert 'km': Operation not permitted
  • 解决方案:通常表明操作系统版本与cGPU不兼容,请参见升级共享GPU调度组件,将组件升级为最新版本。

创建cGPU Pod的容器失败或超时退出。

  • 背景:创建cGPU Pod的容器失败或超时退出报错问题。

  • 原因:您安装的组件cGPU≤1.0.10版本,且NVIDIA Toolkit≥1.11版本,组件间版本不兼容导致。

  • 解决方案:通常表明NVIDIA Toolkit版本与cGPU不兼容,请参见升级共享GPU调度组件,将组件升级为最新版本。

创建cGPU Pod出现报错Error occurs when creating cGPU instance: unknown

  • 背景:为考虑性能因素,在使用cGPU的情况下,单张GPU卡最多创建20Pod。

  • 原因:当已创建Pod数超过此限制时,后续调度到该卡上的Pod将无法运行,将出现错误信息Error occurs when creating cGPU instance: unknown

  • 解决方案:使用cGPU时,控制单张GPU卡创建Pod数≤20。

cGPU Pod执行nvidia-smi出现报错Failed to initialize NVML

  • 背景:Pod申请共享GPU调度资源且状态处于Running后,您可以在Pod中执行nvidia-smi命令,输出以下内容。

    Failed to initialize NVML: GPU access blocked by operating system
  • 原因:您安装的组件cGPU≤1.5.2版本,且GPU驱动是在202307月后版本,导致cGPU版本与GPU驱动版本不兼容,GPU版本驱动请参见查看GPU驱动发布时间。匹配ACK各集群版本支持默认GPU驱动版本,请参见ACK支持的NVIDIA驱动版本列表

  • 解决方案:为解决此问题,请参见升级共享GPU调度组件将组件升级为最新版本。