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

如何获取CuPy的所有可用设备?

如何获取CuPy的所有可用设备?

我来帮你实现对应CuPy版本的设备检测代码!逻辑和你提供的PyTorch版本非常相似,只是替换成CuPy专属的API来检测各类设备:

首先,CPU在CuPy里默认是可用的,直接加入设备列表;对于CUDA设备,我们用CuPy的CUDA运行时API获取设备数量,再逐个添加;另外针对Apple Silicon的MPS设备,CuPy也提供了专门的检测方法。

下面是完整的实现代码:

import cupy as cp
import cupyx

def get_cupy_devices():
    devices = ['cpu']
    # 检测并添加所有CUDA设备
    try:
        num_cuda_devices = cp.cuda.runtime.getDeviceCount()
        for i in range(num_cuda_devices):
            devices.append(f'cuda:{i}')
    except cp.cuda.runtime.CUDARuntimeError:
        # 如果环境没有CUDA支持,跳过这部分,避免报错
        pass
    # 检测并添加MPS设备(仅Apple Silicon设备支持)
    if cupyx.mps.is_available():
        devices.append('mps')
    return devices

我特意加了try-except块来处理没有CUDA环境的情况,这样代码在非NVIDIA设备上也能正常运行不会崩溃。你可以直接调用这个函数,就能得到和PyTorch版本格式一致的可用设备列表啦!

备注:内容来源于stack exchange,提问作者Lucas Colley

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.17 12:43:13