linuxcuda挖矿
Ⅰ linux中哪些工具可以测试cuda程序,监控gpu内存性能
nvcc 编译代码
nvcc -o squareSum squareSum.cu运行结果:
CUDA initialized.
(GPU) sum:29909398 time:787124792
(CPU) sum:29909398 time:10000
从执行的结果可以看出, GPU 中运行的程序居然要比 CPU 中的消耗的时钟周期还要多得多。这是有原因的。
因为程序之中并没有使用 CUDA 并行执行的优势。
这里分析一下 GPU 运行的性能。
此 GPU 消耗的时钟周期: 787124792 cycles
GeForce G 103M 的 clockRate: 1.6 GHz
所以可以计算出 GPU 上运行时间是: 时钟周期 / clockRate = 0.49195 s
1 M 个 int 型数据有 4M Byte 的数据量,实际使用的 GPU 内存带宽是:数据量 / 运行时间 = 8.13 MB/s
可见这个程序没有很好的发挥 GPU 的性能,使用的内存带宽很小。
没有有效利用 GPU 性能的原因???
在 CUDA 中,一般的数据复制到的显卡内存的部份,称为 global memory。这些内存是没有 cache 的,而且,存取 global memory 所需要的时间(即 latency)是非常长的,通常是数百个 cycles。
由于我们的程序只有一个 thread,所以每次它读取 global memory 的内容,就要等到实际读取到数据、累加到 sum 之后,才能进行下一步。这就是为什么它的表现会这么的差。实际上 GPU 一直在等待上一个数据运行的结束,然后再拷贝一个内存数据,所以使用的时钟周期自然就长了。
由于 global memory 没有 cache,所以要避开巨大的 latency 的方法,就是要利用大量的 threads。假设现在有大量的 threads 在同时执行,那么当一个 thread 读取内存,开始等待结果的时候,GPU 就可以立刻切换到下一个 thread,并读取下一个内存位置。因此,理想上当 thread 的数目够多的时候,就可以完全把 global memory 的巨大 latency 隐藏起来了。
Ⅱ 请教有没有在Linux使用cuda的朋友
在安装cuda前,你必须检测自己的显卡是否支持cuda,如何检查自己的显卡型号:
lspci | grep "NVIDIA"查看是否英伟达显卡,或者lspci | grep "VGA"直接查看显卡信息;
在英伟达官方可以查看支持cuda显卡的型号,顺便记得在官方下载你所需的cuda版本。我选择的是最新版的CUDA-7
我的系统版本centos6.5(finall),我下载的是.run文件。
文件下载成功,转到下载目录,首先需要修改.run文件的rwx权限:
chmod 755 cuda_7.0.28_linux.run
还有一些前提工作需要完善
1:确保文本界面:vi /etc/inittab 把最下面一行的:5:改成:3: 然后用esc,:wq保存并且退出。(如果你没有找到,可以INIT3直接进入文本界面)
(2.3.4这种操作是因为台式机双显卡的缘故貌似) 2:拉黑nouveau. 执行以下步骤:vi /etc/modprobe.d/blacklist.conf 在此文件后面添加:blacklist nouveau
3:使用 dracut重新建立 initramfs image file: mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname-r).img.bak
4:重新建立 the initramfs file: dracut -v /boot/initramfs-$(uname -r).img $(uname -r)
(如果不拉黑nouveau会出现两种问题,我在笔记本上出现的问题是安装完成后无法进入图形界面,我在服务器上出现的问题是无法安装,当然,可能还有其他问题,但是我没有遇到#24)
reboot重新启动电脑,然后就可以执行之前的.run 文件了
安装成功以后,你还需要配置nvcc:find -name "nvcc" (找到nvcc所在位置);vi /root/.bashrc(编辑.bashrc文件) ;加入alias nvcc="你查询到的nvcc所在位置";export nvcc;
至此,你就可以使用nvcc编译你的.cu文件了!::nvcc –cuda xxxxx.cu
Ⅲ CUDA在Linux中好用还是在window中好用在Linux中32Ubuntu能安装CUDA吗
1、在英伟达的官网上下载对应系统版本的cuda5.5工具包,我的笔记本是32位的,下载的包是cuda_5.5.22_linux_32.run,当然下载deb包也可以,deb包可双击安装。推荐使用run包。
2、检查自己的系统是否符合安装条件,这一点很重要,我开始没有检测GCC,导致后面几次安装失败。命令$lspci | grep -i nvidia ,检测电脑是否安装NVIDIA显卡,命令$gcc --version,检测GCC版本,注意:CUDA5.5只支持GCC4.6版本,如果显示的不是下图所示,则需要重新将GCC链接。同时安装头文件和编译环境$sudo apt-get install linux-headers-$(uname -r) build-essential
3、gcc版本是4.6的跳过此步。如果gcc版本不是4.6的,则需要将GCC重新链接,在目录/usr/bin下,只需两个命令即可完成重新链接。
$sudo mv gcc gcc.bak
$sudo ln -s gcc-4.6 gcc
4、删除之前的Ubuntu nvidia驱动包,$sudo apt-get –purge remove nvidia*,并将开源驱动nouveau屏蔽掉,使用命令$sudo vim /etc/modprobe.d/blacklist.conf,添加blacklist vga16fb blacklist nouveau blacklist rivafb blacklist nvidiafb blacklist rivatv。
5、关闭图形环境,$sudo stop lightdm,按Ctrl+Alt+F1,打开一个终端,登录。进入下载的Ubuntu nvidia驱动安装文件所在目录,$sudo sh ./cuda_5.5.22_linux_32.run命令进行安装。如果遇到failed,不用着急,打开安装log,排查问题,warning不用管,看ERROR。
6、安装完成后,需要重启。此时电脑清晰多了,说明安装成功。 从事GPU开发的我们还需要装上cuda和openCL库的支持:$sudo apt-get install nvidia-current-dev。
注意事项
ubuntu不需要重新编译内核,记得centos和red hat需要,命令也简单:$sudo dracut -v /boot/initramfs-$(uname -r).img $(uname -r)
Ⅳ 如何利用cuda8.0安装包在linux下安装
1、安装nvidia驱动
首先去官网上查看适合你GPU的驱动。
例如,本人的GPU适合的驱动如图:
执行如下语句,安装
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-367
sudo apt-get install mesa-common-dev
sudo apt-get install freeglut3-dev123456123456
执行完上述后,重启:
sudo reboot11
输入:
nvidia-smi
如果出现了你的GPU列表,则说明驱动安装成功了。另外也可以通过:
Ⅳ 多少个 cuda 核心 查询 linux
nvidia-cuda-mps-control -h
{{{
CUDA MPS Control for Linux/Unix.
Copyright (C) 2003 - 2013 NVIDIA Corporation.
This program allows multiple CUDA processes to share a single GPU context. For information on how to use the CUDA MPS, see the nvidia-cuda-mps-control manual page.
}}}
Ⅵ 在Linux环境下混合开发C++/cuda程序什么样的IDE比较方便
CUDA开发环境配置 依次安装 Driver,Toolkit,SDK。注意最好安装路径中不含空格。 使用开勇的CUDA_VS_Wizard (http://sourceforge.net/projects/cudavswizard/)
Ⅶ linux系统下面CUDA 配置问题,我配置CUDA以后,马上运行,没有错,但no CUDA-capable device is detected
看看驱动程序吧,是不是装好了。另外再检查下是不是缺少什么依赖包。
Ⅷ 最新版GuiMiner不支持N卡的CUDA功能挖矿吗我惦记新建CUDA采矿器,设置好后惦记“开始采矿”没反应啊
放弃吧,还是用A卡或是买机器
Ⅸ 怎么用N卡的cuda挖矿
比特币800是提供比特币资讯,比特币客户端,比特币教程,比特币挖矿,比特币行情等比特币相关信息的比特币中文门户。
Ⅹ linux下CUDA程序一般怎么编译
我写过一个Makefile,统一用nvcc编译和链接就可以了,nvcc是兼容gcc和g++的。具体的可以模仿Nsight的编译和链接选项,你在Nsight IDE里面build你的工程试试,terminal里面会打印出IDE的编译和链接选项的,都是用的nvcc,依葫芦画瓢搬到你的Makefile里面就行了