‘壹’ 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提供综合性服务的东西。他不是一个显卡授权,也不是一个集群。也不是一个驱动。
‘贰’ 如何在kali linux中安装英伟达内核模块cuda和pyrit
安装cuda以及nvidia驱动
这一步比较简单,安装之前,推荐大家编辑一下/etc/apt/source.list文件,把国外的源注释掉换成国内科大的,下载比较快。科大源的地址如下
deb http://mirrors.ustc.e.cn/kali kali main non-free contrib
deb-src http://mirrors.ustc.e.cn/kali kali main non-free contrib
deb http://mirrors.ustc.e.cn/kali-security kali/updates main contrib non-free
设置完之后,执行以下命令安装
apt-get update
apt-get install nvidia-detect nvidia-libopencl1 nvidia-opencl-common nvidia-support nvidia-opencl-icd nvidia-visual-profiler nvidia-glx nvidia-installer-cleanup nvidia-kernel-common nvidia-smi nvidia-alternative nvidia-opencl-dev libglx-nvidia-alternatives nvidia-kernel-dkms nvidia-cuda-toolkit nvidia-vdpau-driver nvidia-xconfig glx-alternative-nvidia libgl1-nvidia-alternatives nvidia-settings libgl1-nvidia-glx xserver-xorg-video-nvidia libcublas4 libcudart4 libcufft4 libnpp4 libnvidia-compiler libcuda1 libcuinj4 libnvidia-ml1 libxvmcnvidia1 libcusparse4 libcurand4 python-pycuda-doc python-pycuda-headers python-pycuda nvidia-cuda-doc nvidia-cuda-gdb
由于包比较多可能有点慢,安装过程会弹出两个窗口需要确认,直接OK就好,执行完之后toolkit和驱动都装上了,然后把一些变量写入系统,在/root/.bashrc最后面加上下面一段
PATH=$PATH:/usr/lib/nvidia-cuda-toolkit/bin
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/nvidia-cuda-toolkit/lib:/lib
export PATH
export LD_LIBRARY_PATH
可以执行一下ldconfig马上生效,不过反正都要重启一次的了,重启。
安装pyrit-cuda
下面重新编译个pyrit来试一试使用GPU。下载pyrit的地址是:
https://code.google.com/p/pyrit/downloads/list
我们需要下载pyrit-0.4.0.tar.gz和cpyrit-cuda-0.4.0.tar.gz,下载完之后,安装一下编译所需要的工具
atp-get install libpcap-dev python2.7-dev
解压pyrit-0.4.0.tar.gz并且安装
tar -xzvf pyrit-0.4.0.tar.gz
cd pyrit-0.4.0
python setup.py build
python setup.py install
解压cpyrit-cuda-0.4.0.tar.gz
tar -xzvf cpyrit-cuda-0.4.0.tar.gz
cd cpyrit-cuda-0.4.0
这里需要进行一些改动,编辑setup.py,把第35行
for path in ('/usr/local/cuda', '/opt/cuda'):
改成
for path in ('/usr/local/cuda','/usr/lib/nvidia-cuda-toolkit','/opt/cuda'):
免得安装程序找不到nvcc
然后就安装
python setup.py build
python setup.py install
安装完,运行一下
pyrit list_cores
应该能看到GPU了,类似
#1: 'CUDA-Device #1 'GeForce 8400 GS''
#2: 'CPU-Core (SSE2)'
#3: 'CPU-Core (SSE2)'
#4: 'CPU-Core (SSE2)'
#5: 'CPU-Core (SSE2)'
#6: 'CPU-Core (SSE2)'
#7: 'CPU-Core (SSE2)'
#8: 'CPU-Core (SSE2)'
安装optimus
把源Key取回来
wget -O - http://suwako.nomanga.net/suwako.asc | apt-key add -
在/etc/apt/source.list中加入Bumblebee的源
deb http://suwako.nomanga.net/debian sid main contrib
deb-src http://suwako.nomanga.net/debian sid main
然后执行安装
apt-get update
apt-get install bumblebee bumblebee-nvidia
安装完毕,把root加入bemblebe组,然后重启
adser root bumblebee
重启完毕可以测试一下,分别运行
glxspheres
optirun glxspheres
可以看到帧数是不同的
‘叁’ 编译nvidia的physx例子的时候,好多都出现这个错误The storage control block address is invalid.
好吧,咱插一句,乃是从哪里下的编译器= =。为毛我到现在连个可以用的编译器都没装上去过= =,官网下的也不行,说没有匹配的硬件。
‘肆’ NVIDIA显卡驱动编译安装指导第四,五步怎么做
1、显卡驱动,建议你去显卡 官网下载最新的驱动就可以啦
2、或者安装第三方软件,比如驱动人生等,检测最新驱动一键安装就好了,而且还可以咨询客服呦
‘伍’ 关于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,如果它们能够持续发展下去)。
‘柒’ 为什么有人说英伟达是中国台湾的
因为英伟达的创始人黄仁勋原籍是中国台湾省。
黄仁勋于1963年2月17在中国台湾省台北市出生,1972年与家人迁往美国,后来被送往美国肯塔基州一间基督教学校就读,完成课程后迁往俄勒冈州,15岁时参加美国乒乓球公开赛,在青年组双打赛事中夺得季军。
1984年于俄勒冈州立大学取得电机工程学位,其后在斯坦福大学取得硕士学位。黄仁勋曾在AMD(1983年—1985年)及LSI Logic(1985年1993年)工作,1993年创立NVIDIA。黄仁勋是圈子里有名的工作狂。

(7)英伟达编译扩展阅读
硅谷之路——
黄仁勋硅谷之路的第一步,是加盟AMD公司并成为一名芯片设计师,这为他后来创办NVIDIA打下了最初的技术基础。两年之后,他跳槽到LSI Logic。这也是一家芯片公司,但主打业务并不是CPU,而比较倾向于芯片的图形处理。
不过在当时无论是CPU还是图形芯片,都没有出现如今天这样一两家企业垄断市场的局面,而是群雄逐鹿的格局。与格局相对明朗的行业相比,在这类创业型的公司里,更容易学会如何把握机会,也更容易尝到何为失败。
‘捌’ CUDA和OpenCL有什么区别
从很多方面来看,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,如果它们能够持续发展下去)。
‘玖’ 我安装了个英伟达的显卡驱动 怎么使用 (详解()
1、下载驱动http://www.nvidia.com/page/home.html在下下载的就是NVIDIA-Linux-x86-100.14.23-pkg1.run这个文件
2、删除原驱动包sudo apt-get --purge remove nvidia-glx然后删除 /lib/linux-restricted-moles/2.6.22-14-generic/文件夹下面带有nvidia字样的内容,这里是内核自带的驱动。再检查一下。/etc/init.d/nvidia-glx
/etc/init.d/nvidia-kernel这两个文件是否存在,删除。
3、安装要用到的软体sudo apt-get install build-essential pkg-config xserver-xorg-dev linux-headers-`uname -r`安装编译包
4、备份sudo cp /etc/default/linux-restricted-moles-common /etc/default/linux-restricted-moles-common.backup
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.backup
5、禁止系统使用默认的驱动sudo gedit /etc/default/linux-restricted-moles-common在最后的双引号中添加nv nvidia_new,即“”改成“nv nvidia_new”如果前面第二步删除完整了其实也可以不用执行这一步。
6、停止GDM进程sudo /etc/init.d/gdm stop按Ctrl+Alt+F1,登录后。
7、进入下好的驱动所在目录(用ls命令确认文件在不在)sudo sh NVIDIA-Linux-x86-100.14.23-pkg1.run安装过程中,如果提示有旧驱动,询问是否删除旧驱动,选Yes;如果提示缺少某某模块(moles),询问是否上网下载,选no;如果提示编译模块,询问是否进行编译,选ok;如果提示将要修改Xorg.conf,询问是否允许,选Yes;接下来就是等待安装完成。
8、安装完成就回到终端,重启GDMsudo /etc/init.d/gdm restartok了,当看到NV的logo后,安装成功。如果实在不想看NVIDIA的LOGO,可以修改 /etc/X11/xorg.conf在Section "Device"中添加Option "NoLogo" "True"如:Section "Device"
Identifier "通用显示卡"
Driver "nvidia"
Option "NoLogo" "True"
EndSection
以上就是Ubuntu安装NVIDIA显卡驱动的步骤。