英伟达编译器
Ⅰ 什么是CUDA
CUDA(Compute Unified Device Architecture),显卡厂商NVidia推出的运算平台。 CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。
随着显卡的发展,GPU越来越强大,而且GPU为显示图像做了优化。在计算上已经超越了通用的CPU。如此强大的芯片如果只是作为显卡就太浪费了,因此NVidia推出CUDA,让显卡可以用于图像计算以外的目的。
简单来讲,比如通过CUDA架构,视频播放软件可以充分挖掘NVIDIA系列显卡的GPU并行计算能力,轻松进行高清影片的播放,与软件高清解码相比,CPU占用可以下降一半以上。当然,CUDA的应用领域绝不仅仅是视频、图形、游戏,包括各种3D和建模,医疗、能源、科学研究等,到处都可见到这种技术架构的应用。
支持CUDA的硬件环境需要有NVidia GF8系列及以上型号的显卡,并且安装185版本以上的显卡驱动程序。以QQ影音播放器来讲,要想开启CUDA硬件解码加速,可以打开QQ影音的“播放器设置”,进入“高清加速”面板,在“硬件优化”中选择“自定义优化模式”,然后在“滤镜配置”中的“视频解码器”中自定义选择相应的“QQ CUDA Video Decoder(CUDADecFilter.ax)”即可。而关闭CUDA加速,只需取消选择“QQ CUDA Video Decoder(CUDADecFilter.ax)”,或者切换到“智能高清模式”或“稳定兼容模式”通过这种高清解码定义的开启,并不是说你的画质能够提升多少,而是提升高清视频播放时的流畅以及降低CPU的占用。这个时候,节约下来的CPU空间,可以允许你再去做别的工作,这样就会大大提升你的工作效率,而不至于除了看视频,其他的什么都不能做了。
Ⅱ cuda安装完成后nvcc -V报错
应该是你的CUDA 运行库的路径不对,如果是Windows,请查看 系统属性/高级/环境变量 里面的CUDA_PATH是否正确。
Ⅲ C语言cg平台卡住
C语言cg平台卡住很正常,可能是项目管理比较大,所以运行会这样。
2002年6月13日,北京—图形处理解决方案领域的全球领袖NVIDIA公司(Nasdaq代码:NVDA)今日宣布推出面向新业界标准Cg图形编程语言的NVIDIACg编译器。同样也是今天宣布推出的Cg语言(CforGraphics)是一种高级图形编程语言,可为内容开发商提供一个全面的编程环境,使其更轻松、快捷地创建特殊效果和实时电影效果。NVIDIACg编译器是一种突破性的技术,可生成用于创建引人注目的实时视觉效果的优化图形汇编程序。
NVIDIACg编译器是NVIDIACg编程环境的核心。面向标准DirectX8或DirectX9兼容图形芯片(GPU)编写的程序可进行编译并可运行在任何兼容硬件上。所形成的程序是一种高效的顶点或象素渲染引擎,其性能水平相当于或优于手工编码图形程序。NVIDIA的Cg编译器的设计目的是为了充分利用NVIDIAGPU的功能和通道,确保最优性能和视觉质量。此外,NVIDIA的Cg编译器还可独具特色地支持OpenGL。面向OpenGL平台编写的Cg渲染引擎被编译和优化,以充分利用NVIDIAGPU里的扩展图形功能。NVIDIA的Cg编译器还是一种交叉平台,可支持面向Windows、OSX、Linux、Mac和Xbox编写的程序。
NVIDIA的Cg编译器的最强大功能是其前向和后向兼容性。NVIDIACg编译器借用NVIDIA着名的统一驱动架构(UDA),并最终采用了统一编译架构(UCA)。程序一旦编写完毕,将可运行在老一代或新一代Cg兼容GPU上,并可在系统GPU运行时间里进行自动优化。这种独特的功能可使开发商无须承担GPU优化的重担。
NVIDIACg工具套件Beta1.0版将包括:
NVIDIACg编译器Beta1.0—对GPU上渲染引擎进行编程的类C语言
NVIDIACg浏览器—带有大型Cg渲染引擎库的原型设计/可视化环境
Cg标准库—一套专门帮助熟悉一般计算机应用的编程人员的内嵌功能
?
Ⅳ 关于Nvidia的几个常识
physx 是一套由 nvidia 设计的执行复杂的物理运算的技术.在 2005年7月20日,索尼同意在即将发售的 playstation3 中使用 nvidia 的 physx 和它的 sdk —— novodex 。nvidia 声称,physx 将会使设计师在开发游戏的过程中使用复杂的物理效果而不需要sSbBwW.cOm像以往那样耗费漫长的时间开发一套物理引擎,而且使用了物理引擎还会使一些配置较低的电脑无法流畅运行。nvidia 更宣称 physx 执行物理运算的效率比当前的 cpu 与物理处理软件的组合高出 100 倍。游戏设计语言 dark basic pro 将会支持 physx,并允许其用户利用physx 执行物理运算。
CUDA(Compute Unified Device Architecture),显卡厂商NVidia推出的运算平台。
随着显卡的发展,GPU越来越强大,而且GPU为显示图像做了优化。在计算上已经超越了通用的CPU。如此强大的芯片如果只是作为显卡就太浪费了,因此NVidia推出CUDA,让显卡可以用于图像计算以外的目的。
目前只有G80、G92、G94和GT200平台的NVidia显卡才能使用CUDA,工具集的核心是一个C语言编译器。G80中拥有128个单独的ALU,因此非常适合并行计算,而且数值计算的速度远远优于CPU。
你的显卡可以
Ⅳ nvidia/cuda 公开源中的devel和runtime有什么区别
从很多方面来看,CUDA和OpenCL的关系都和DirectX与OpenGL的关系很相像。如同DirectX和OpenGL一样,CUDA和OpenCL中,前者是配备完整工具包、针对单一供应商(NVIDIA)的成熟的开发平台,后者是一个开放的标准。
虽然两者抱着相同的目标:通用并行计算。但是CUDA仅仅能够在NVIDIA的GPU硬件上运行,而OpenCL的目标是面向任何一种Massively Parallel Processor,期望能够对不同种类的硬件给出一个相同的编程模型。由于这一根本区别,二者在很多方面都存在不同:
1)开发者友好程度。CUDA在这方面显然受更多开发者青睐。原因在于其统一的开发套件(CUDA Toolkit, NVIDIA GPU Computing SDK以及NSight等等)、非常丰富的库(cuFFT, cuBLAS, cuSPARSE, cuRAND, NPP, Thrust)以及NVCC(NVIDIA的CUDA编译器)所具备的PTX(一种SSA中间表示,为不同的NVIDIA GPU设备提供一套统一的静态ISA)代码生成、离线编译等更成熟的编译器特性。相比之下,使用OpenCL进行开发,只有AMD对OpenCL的驱动相对成熟。
2)跨平台性和通用性。这一点上OpenCL占有很大优势(这也是很多National Laboratory使用OpenCL进行科学计算的最主要原因)。OpenCL支持包括ATI,NVIDIA,Intel,ARM在内的多类处理器,并能支持运行在CPU的并行代码,同时还独有Task-Parallel Execution Mode,能够更好的支持Heterogeneous Computing。这一点是仅仅支持数据级并行并仅能在NVIDIA众核处理器上运行的CUDA无法做到的。
3)市场占有率。作为一个开放标准,缺少背后公司的推动,OpenCL显然没有占据通用并行计算的主流市场。NVIDIA则凭借CUDA在科学计算、生物、金融等领域的推广牢牢把握着主流市场。再次想到OpenGL和DirectX的对比,不难发现公司推广的高效和非盈利机构/标准委员会的低效(抑或谨慎,想想C++0x)。
很多开发者都认为,由于目前独立显卡市场的萎缩、新一代处理器架构(AMD的Graphics Core Next (GCN)、Intel的Sandy Bridge以及Ivy Bridge)以及新的SIMD编程模型(Intel的ISPC等)的出现,未来的通用并行计算市场会有很多不确定因素,CUDA和OpenCL都不是终点,我期待未来会有更好的并行编程模型的出现(当然也包括CUDA和OpenCL,如果它们能够持续发展下去)。
Ⅵ NVIDIA显卡的的CUDA核心是什么
CUDA核心,理论上流处理器缩写是SP。但NVIDIA自己称呼他们的SP是CUDA Core。
CUDA Core只是N卡流处理器而已,只是一个流处理器名词。
CUDA是一个统一计算架构,属于软件+硬件架构统称。他不是一个软件也不是一个纯硬件。而是软硬结合的计算体系。
你可以理解为CUDA是一个基于NVIDIA GPU平台上面NV自己定制的特殊计算体系。是NV自己发明的运算算法,在NV平台和软件支持上面才能发挥最高效率。CUDA在NVIDIA定义是一种类C语言,本身兼容C语言。CUDA虽然是一种独立语言提供开发学习,但CUDA本身和C差距不算非常巨大,很多有经验的开发者很快能学会。
CUDA在全球属于NVIDIA私人生态区,他的势力并不比IOS小。甚至在高端计算领域和图形领域。CUDA算的上是权威标准。 Quadro和Tesla这2个统治世界的着名计算平台就是靠着CUDA生态区才能提供客户一体化服务,否则如果大家都像AMD那样只卖个浮点看起来很高的物理节点,那么老黄根本不敢自封视觉运算公司,那不是普通半导体公司搞的授权么?
CUDA是一个计算结构,是一个理念。是一个软硬平台,是一个NV提供综合性服务的东西。他不是一个显卡授权,也不是一个集群。也不是一个驱动。
Ⅶ NVIDIA显卡支持CUDA,什么是CUDA
关于CUDA:
CUDA(Compute Unified Device Architecture)是一个新的基础架构,这个架构可以使用GPU来解决商业、工业以及科学方面的复杂计算问题。它是一个完整的GPGPU解决方案,提供了硬件的直接访问接口,而不必像传统方式一样必须依赖图形API接口来实现GPU的访问。在架构上采用了一种全新的计算体系结构来使用GPU提供的硬件资源,从而给大规模的数据计算应用提供了一种比CPU更加强大的计算能力。CUDA采用C语言作为编程语言提供大量的高性能计算指令开发能力,使开发者能够在GPU的强大计算能力的基础上建立起一种效率更高的密集数据计算解决方案。
关于NVIDIA CUDA技术
NVIDIA CUDA技术是当今世界上唯一针对NVIDIA GPU(图形处理器)的C语言环境,为支持CUDA技术的NVIDIA GPU(图形处理器)带来无穷的图形计算处理性能。凭借NVIDIA CUDA技术,开发人员能够利用NVIDIA GPU(图形处理器)攻克极其复杂的密集型计算难题,应用到诸如石油与天然气的开发,金融风险管理,产品设计,媒体图像以及科学研究等领域。
CUDA™ 工具包是一种针对支持CUDA功能的GPU(图形处理器)的C语言开发环境。CUDA开发环境包括:
nvcc C语言编译器
适用于GPU(图形处理器)的CUDA FFT和BLAS库
分析器
适用于GPU(图形处理器)的gdb调试器(在2008年3月推出alpha版)
CUDA运行时(CUDA runtime)驱动程序(目前在标准的NVIDIA GPU驱动中也提供)
CUDA编程手册
CUDA开发者软件开发包(SDK)提供了一些范例(附有源代码),以帮助使用者开始CUDA编程。这些范例包括:
并行双调排序
矩阵乘法
矩阵转置
利用计时器进行性能评价
并行大数组的前缀和(扫描)
图像卷积
使用Haar小波的一维DWT
OpenGL和Direct3D图形互操作示例
CUDA BLAS和FFT库的使用示例
CPU-GPU C—和C++—代码集成
二项式期权定价模型
Black-Scholes期权定价模型
Monte-Carlo期权定价模型
并行Mersenne Twister(随机数生成)
并行直方图
图像去噪
Sobel边缘检测滤波器
MathWorks MATLAB® 插件 (点击这里下载)
新的基于1.1版CUDA的SDK 范例现在也已经发布了。要查看完整的列表、下载代码,请点击此处。
技术功能
在GPU(图形处理器)上提供标准C编程语言
为在支持CUDA的NVIDIA GPU(图形处理器)上进行并行计算而提供了统一的软硬件解决方案
CUDA兼容的GPU(图形处理器)包括很多:从低功耗的笔记本上用的GPU到高性能的,多GPU的系统。
支持CUDA的GPU(图形处理器)支持并行数据缓存和线程执行管理器
标准FFT(快速傅立叶变换)和BLAS(基本线性代数子程序)数值程序库
针对计算的专用CUDA驱动
经过优化的,从中央处理器(CPU)到支持CUDA的GPU(图形处理器)的直接上传、下载通道
CUDA驱动可与OpenGL和DirectX图形驱动程序实现互操作
支持Linux 32位/64位以及Windows XP 32位/64位 操作系统
为了研究以及开发语言的目的,CUDA提供对驱动程序的直接访问,以及汇编语言级的访问。
