💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# 3.8。设备管理 > 原文: [http://numba.pydata.org/numba-doc/latest/cuda/device-management.html](http://numba.pydata.org/numba-doc/latest/cuda/device-management.html) 对于多 GPU 机器,用户可能想要选择要使用的 GPU。默认情况下,CUDA 驱动程序选择最快的 GPU 作为设备 0,这是 Numba 使用的默认设备。 除非使用托管/提供多个支持 CUDA 的 GPU 的系统,否则此页面上介绍的功能通常不感兴趣。 ## 3.8.1。设备选择 如果需要,必须在使用任何 CUDA 功能之前完成设备选择。 ```py from numba import cuda cuda.select_device(0) ``` 该设备可以通过以下方式关闭: ```py cuda.close() ``` 然后,用户可以使用其他设备创建新上下文。 ```py cuda.select_device(1) # assuming we have 2 GPUs ``` ```py numba.cuda.select_device(device_id) ``` 为所选 _device_id_ 创建新的 CUDA 上下文。 _device_id_ 应该是设备的编号(从 0 开始;设备顺序由 CUDA 库确定)。上下文与当前线程相关联。 Numba 目前每个线程只允许一个上下文。 如果成功,则此函数返回设备实例。 ```py numba.cuda.close() ``` 显式关闭当前线程中的所有上下文。 注意 编译的函数与 CUDA 上下文相关联。这使得关闭和创建新设备并不是非常有用,尽管当机器有多个 GPU 时,选择使用哪个设备当然很有用。 # 3.9。设备列表 设备列表是系统中所有 GPU 的列表,可以编制索引以获取确保在所选 GPU 上执行的上下文管理器。 ```py numba.cuda.gpus ``` ```py numba.cuda.cudadrv.devices.gpus ``` `gpus`是`_DeviceList`类的一个实例,也可以从中检索当前的 GPU 上下文: ```py class numba.cuda.cudadrv.devices._DeviceList ``` ```py current ``` 如果没有活动设备,则返回活动设备或 None