You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在cuPy中为多文件Python程序设置默认GPU设备?

在多文件CuPy程序中指定默认GPU设备

要将特定GPU(比如device-1)设为整个程序的默认设备,只需在程序入口(main.py)的最开始配置CuPy设备即可,具体实现如下:

核心方法:使用cupy.cuda.Device.use()

在main.py中,导入CuPy后立即创建目标设备实例并调用use()方法,后续所有未指定设备的CuPy操作都会自动使用该GPU,包括其他文件中的类和函数。

修改后的main.py代码:

import cupy as cp

# 指定使用device-1(GPU索引从0开始计数)
target_device = cp.cuda.Device(1)
target_device.use()

from maths_ops import MathsOps
from dummy_class import DummyClass

# 后续原有代码保持不变
maths_ops_instance = MathsOps()
dummy_instance = DummyClass(maths_ops_instance)

vector1 = cp.array([1, 2, 3])
vector2 = cp.array([4, 5, 6])

result = dummy_instance.perform_operation(vector1, vector2)
print("Vector Addition Result:", result)

关键说明

  • GPU索引从0开始,Device(1)对应集群中的第二块GPU(即你提及的device-1)。
  • use()方法会将该设备设为当前线程的默认设备,所有后续CuPy数组创建、运算都会自动在这个GPU上执行,无需在其他文件中重复配置。
  • 若需临时切换设备,可使用上下文管理器:
    with cp.cuda.Device(0):
        # 此代码块内的操作将使用device-0
        temp_array = cp.array([1,2,3])
    # 退出上下文后回到默认的device-1
    

验证设备生效状态

可在任意位置添加以下代码,确认当前默认设备:

print("当前默认GPU索引:", cp.cuda.Device().id)

内容的提问来源于stack exchange,提问作者skm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 04:52:31