CUDA C编程入门-编程接口(3.3)版本和兼容性

  有两个版本号是开发者开发CUDA应用时需要关心的:计算能力-描述产品规格和计算设备的特性和CUDA驱动API的版本-描述驱动API和运行时支持的特性。

  在驱动头文件的宏CUDA_VERSION可以获取驱动API的版本。可以允许开发者检查他们的应用是否要求一个比现有版本更新的版本。这很重要,因为驱动API是向后兼容的,意味着针对特别版本编译的应用、插件和库(包括C运行时)能继续在后来发行版本的设备驱动上运行,如图11所示。驱动不是向前兼容的,意味着针对特别版本编译的应用、插件和库(包括C运行时)不能在后来发行版本的设备驱动上运行。

  重要的是要记住不支持混合搭配的版本,特别是:

  • 因为系统只能安装一个CUDA设备驱动,所以在系统里的所有的应用、插件和库需要使用相同版本的CUDA驱动API。
  • 应用使用的插件和库需要使用相同版本的运行时。
  • 应用使用的插件和库需要使用相同版本的需要使用运行时的任何库。

图11 驱动API是向后而不是向前兼容的

CUDA C编程入门-编程接口(3.3)版本和兼容性

时间: 2024-10-10 11:16:40

CUDA C编程入门-编程接口(3.3)版本和兼容性的相关文章

CUDA C编程入门-编程接口

CUDA C给熟悉C编程语言的人提供一个简单的途径去编写在设备(GPU)上执行的代码. 由一个最小的C语言的扩展集和运行时库组成. 核心的语言扩展在编程模型这一章节已经介绍过了.允许程序员定义核函数并且使用一些新的语法指定核函数每次运行时的grid和block的维数.可以在C语言扩展这个章节里找到扩展的完整描述.所有的含有这些扩展的源代码都需要使用nvcc编译,nvcc的概述可以查看使用nvcc编译这一小节. 在CUDA C运行这一小节介绍运行时.运行时提供在主机执行的用于分配和回收设备内存.设

CUDA C编程入门-编程接口(3.5)模式转换

GPUs有一个显示输出,输出到一个叫主表面的DRAM内存中,这个表面被用于刷新输出给用户看的显示设备.当用户通过改变显示器的分辨率或者位深(使用NVIDIA控制面版或者Windows显示器控制面版),开始一个显示器模式选择时,主表面需要的内存数量会改变.例如,如果以后改变显示器分辨率从1280x1024x32位到1600x1200x32位,系统必须增加7.68MB而不是5.24MB的内存给主表面(带反走样的全屏的图形应用可能要求更多的显示内存给主表面).在Windows上,其它事件,包括加载一个

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

在Windows Server 2008和后来的版本或者Linux上运行的Tesla解决方案,能通过NVIDIA系统管理界面(nvidia-smi,作为发行的驱动的一个工具)设置系统中的任何设备运行于下面三种计算模式中的一种 : 默认计算模式:多主机线程能同时使用设备(使用运行时API,在这个设备上调用cudaSetDevice(),或者使用驱动API,使当前的上下文与设备关联). 处理器独占的计算模式:仅创建一个跨系统所有处理器CUDA上下文,同时对于一个处理器的尽可能多的线程. 处理器和线程

CUDA C编程入门-编程接口(3.2)CUDA C运行时

在cudart库里实现了CUDA C运行时,应用可以链接静态库cudart.lib或者libcudart.a,动态库cudart.dll或者libcudart.so.动态链接cudart.dll或者libcudart.so的应用需要把CUDA的动态链接库(cudart.dll或者libcudart.so)包含到应用的安装包里. CUDA所有的运行时函数都以cuda为前缀. 在异构编程这一章节提到,CUDA编程模型假设系统是由一个自带各自的内存的主机和设备组成.设备内存这一小节概述用于管理设备内存

CUDA C编程入门-编程模型

这章节介绍CUDA编程模型的主要的概念. 2.1.kernels(核函数) CUDA C扩展了C语言,允许程序员定义C函数,称为kernels(核函数).并行地在N个CUDA线程中执行N次. 使用__global__说明符声明一个核函数,调用使用<<<...>>>,并且指定执行的CUDA线程数目.执行的每个线程都有一个独一的ID,在核函数中可以通过变量threadIdx获取. 例子,两个向量的加,A加B,并把结果存入C,A.B和C的长度为N. __global__ vo

OpenCV3编程入门_毛星云编著pdf高清版免费下载

下载地址:网盘下载 备用地址:网盘下载 内容提要OpenCV在计算机视觉领域扮演着重要的角色.作为一个基于开源发行的跨平台计算机视觉库,OpenCV实现了图像处理和计算机视觉方面的很多通用算法.<OpenCV3编程入门>以当前最新版本的OpenCV最常用最核心的组件模块为索引,深入浅出地介绍了OpenCV2和OpenCV3中的强大功能.性能,以及新特性.书本配套的OpenCV2和OpenCV3双版本的示例代码包中,含有总计两百多个详细注释的程序源代码与思路说明.读者可以按图索骥,按技术方向进行

OpenCV3编程入门_毛星云编著_电子工业出版下载 &#348453;

下载地址: http://www.gqylpy.com/di/17 <OpenCV3编程入门>毛星云编著PDF高清完整版-下载 内容提要 OpenCV在计算机视觉领域扮演着重要的角色.作为一个基于开源发行的跨平台计算机视觉库,OpenCV实现了图像处理和计算机视觉方面的很多通用算法.<OpenCV3编程入门>以当前最新版本的OpenCV最常用最核心的组件模块为索引,深入浅出地介绍了OpenCV2和OpenCV3中的强大功能.性能,以及新特性.书本配套的OpenCV2和OpenCV3

CUDA C编程入门-介绍

CUDA C编程入门-介绍 1.1.从图形处理到通用并行计算 在实时.高清3D图形的巨大市场需求的驱动下,可编程的图形处理单元或者GPU发展成拥有巨大计算能力的和非常高的内存带宽的高度并行的.多线程的.多核处理器.如图1和图2所示. 图 1 CPU和GPU每秒的浮点计算次数 图 2 CPU和GPU的内存带宽 在CPU和GPU之间在浮点计算能力上的差异的原因是GPU专做密集型计算和高度并行计算-恰好是图形渲染做的-因此设计成这样,更多的晶体管用于数据处理而不是数据缓存和流控制,如图3所示. 图 3

CUDA C编程入门

CUDA C编程入门系列文章是CUDA C Programming guide的翻译,同时也会加入一些个人的理解.由于刚刚接触CUDA编程,对此领域不是很熟悉,翻译的质量和正确与否不能保证,不过如果读者发现哪里有误,欢迎指正. CUDA C编程入门文档结构: 第一章:介绍-关于CUDA的总体介绍. 第二章:编程模型-概括CUDA编程模型. 第三章:编程接口-描述CUDA编程的C语言的接口. 第四章:硬件实现-描述GPU的硬件实现. 第五章:编程指引-给出一些指导,怎样才能发挥CPU最大的性能.