首页 > 代码库 > CUDA C编程入门-编程接口(3.4)计算模型

CUDA C编程入门-编程接口(3.4)计算模型

  在Windows Server 2008和后来的版本或者Linux上运行的Tesla解决方案,能通过NVIDIA系统管理界面(nvidia-smi,作为发行的驱动的一个工具)设置系统中的任何设备运行于下面三种计算模式中的一种 :

  • 默认计算模式:多主机线程能同时使用设备(使用运行时API,在这个设备上调用cudaSetDevice(),或者使用驱动API,使当前的上下文与设备关联)。
  • 处理器独占的计算模式:仅创建一个跨系统所有处理器CUDA上下文,同时对于一个处理器的尽可能多的线程。
  • 处理器和线程独占的计算模型:仅创建一个跨系统所有处理器CUDA上下文,且同时只能对于一个线程。
  • 禁止计算模式:在设备上不会创建CUDA上下文。

  这意味着,尤其是,如果设备0是处理器独占的计算模式并且被另外的一个处理器使用,或者是处理器和线程独占的计算模式并且被另外的一个线程独占,或者是禁止计算模式,一个没有显式调用cudaSetDevice()运行时API的主机线程可能关联一个不是0的设备。cudaSetValidDevices()可以用于从一个设备的优先列表设置设备。

  应用可以检查computeMode设备属性以查询设备的计算模式。