如何强制Qristal SDK默认使用NVIDIA GPU?含检查及运行时控制
检查Qristal SDK 1.0是否利用NVIDIA GPU
1. 验证容器GPU访问权限
进入运行Qristal SDK的Docker容器,执行以下命令:
nvidia-smi
- 若能正常显示GPU型号、显存使用等信息,说明容器已正确挂载GPU资源;
- 若报错(如
command not found或无法识别GPU),则容器未配置GPU访问,需重新启动容器时添加GPU参数。
2. 查看SDK运行日志
运行电路时,观察控制台输出日志,Qristal SDK 1.0会在启动计算时打印后端信息,比如出现Using GPU backend或CUDA device X selected这类字样,即说明正在使用GPU。
3. 通过SDK接口查询后端状态
在Python交互会话中,调用SDK内置的状态查询方法(以Python接口为例):
from qristal import get_backend_info print(get_backend_info())
返回结果中会明确显示当前使用的后端类型(cpu或gpu)及GPU设备信息。
强制Qristal SDK使用GPU
1. 启动容器时配置GPU访问
启动Docker容器时,必须添加NVIDIA GPU挂载参数:
# 挂载所有可用GPU docker run --gpus all [其他容器参数] qristal-sdk-image:1.0 # 挂载指定GPU(如第0块) docker run --gpus '"device=0"' [其他容器参数] qristal-sdk-image:1.0
2. 初始化SDK时指定GPU后端
在代码中显式指定GPU后端运行电路:
from qristal import Circuit circ = Circuit("your_circuit_definition") # 强制使用GPU运行 circ.run(backend="gpu")
3. 通过环境变量默认启用GPU
启动容器时设置环境变量,让SDK默认使用GPU:
docker run --gpus all -e QRISTAL_BACKEND=gpu [其他容器参数] qristal-sdk-image:1.0
会话过程中控制GPU使用
1. 动态切换后端
在Python会话中,可随时切换CPU/GPU后端运行电路:
# CPU运行 circ.run(backend="cpu") # 切换为GPU运行 circ.run(backend="gpu")
2. 指定具体GPU设备
若有多块GPU,可通过环境变量指定使用的设备:
import os # 指定使用第1块GPU(索引从0开始) os.environ["CUDA_VISIBLE_DEVICES"] = "1" circ.run(backend="gpu")
也可在启动容器时直接指定:
docker run --gpus all -e CUDA_VISIBLE_DEVICES=1 [其他容器参数] qristal-sdk-image:1.0
内容的提问来源于stack exchange,提问作者Tim M.
相关产品推荐
相关产品推荐

