Ⅰ opencv_python4.1如何GPU加速,需不需要重新编译之类的
需要重新编译opencv 的,最后getCudaEnabledDeviceCount();这个函数返回值大于零才行 // first.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include #include "opencv2/opencv.hpp" #include "opencv2/gpu/gpu.hpp" #pragma co..
Ⅱ 为什么编译出的 gromacs 多 GPU 加速效果不好
一个可能的原因是 boost 的版本较低。
改进办法是执行如下命令:
# sudo apt-get install libboost-all-dev
然后按照文章步骤安装就可以了,为了便于阅览,我们把步骤也贴在这里:
机器操作系统为 Ubuntu14.04,安装了 CUDA7.5。
在家目录下建立 gromacs 目录做为工作目录下,拷贝了 4 个安装包:
openmpi-1.6.5.tar.gz
fftw-3.3.3.tar.gz
cmake-2.8.9.tar
gromacs-5.0.4.tar.gz
1.安装 openmpi
$cd ~/gromacs
$tar –xvf openmpi-1.6.5.tar.gz
$cd openmpi-1.6.5
$./configure --prefix=/opt/openmpi
$sudo make
$sudo make install
2.安装 fftw
$cd ~/gromacs
$tar –xvf fftw-3.3.3.tar.gz
$cd fftw-3.3.3
$./configure --prefix=/opt/fftw –enable-float –enable-shared
$sudo make
$sudo make install
3.安装 cmake
$cd ~/gromacs
$tar xvf cmake-2.8.9.tar
$cd cmake-2.8.9
$./bootstrap
$sudo make
$sudo make install
4.编译 gromacs GPU 版本
$cd ~/gromacs
$mkdir build-gpu
$cd build-gpu
$sudo cmake .. -DFFTWF_LIBRARY=/opt/fftw/lib/libfftw3f.so -DFFTWF_INCLUDE_DIR=/opt/fftw/include -DGMX_MPI=ON –DGMX_GPU=ON -DCMAKE_INSTALL_PREFIX=/opt/gromacs-5.0.4-gpu
$sudo make
$sudo make install
步骤 4 编译 gromacs 时,cmake 步骤如果有如下提示信息的话,说明 boost 版本低:
Ⅲ 有哪位大神用过ansys的GPU加速功能的
我用过,经常用,你有什么要问的?
Anys的GPU加速目前只支持开普勒架构的nVidia Qurado K5000以上级别的显卡,或者时Tesla运算卡,如果你想拿游戏显卡来做GPU加速,请绕道。。。。
Ⅳ Quadro P2000怎么开启AE2017显卡加速这可是专业显卡,不支持GPU加速有点过分了!
目前官方还不支持P2000,以下显卡则通过AE2017的认证:
Quadro K2000
Quadro K4000
Quadro K5000
Quadro K6000
我们是丽台DAILI,有问题HI。
Ⅳ PR2020 GPU加速改为CUDA视频黑屏,GPU加速改为opencl才不黑 有没有大神知道怎么回事
如果你不用CPU核显回放的话,请把首选项〉媒体〉启用加速 intel h.264解码去掉,然后重启下Pr。
Ⅵ tensorflow怎么gpu加速
安装GPU版本的tensorflow就可以了pipinstall--upgrade还需要安装GPU加速包,下载CUDA和cuDNN的安装包了,注意版本号分别是CUDA8.0和cuDNN5.1。如果都安装成功,运行程序时会自动使用GPU计算
Ⅶ tensorflow gpu版本运行时怎么知道有没有调用gpu以及cuda加速
首先需要看你的PC配置是否够,TF的GPU模式只支持N卡,然后计算能力高于3.0,具体可以查:安装教程可以参考:Ubuntu16.04上gtx1080的cuda安装July172016目前tensorflow是一个非常流行的深度学习计算框架,常规硬件及系统的安装方法官方的doc已经说的很清楚了,但是因为系统是ubuntu16.04,显卡是GTX1080,所以不可避免的要折腾起来。在上一篇已经在16.04上安装好了驱动。接下来其实重点安装的是CUDA和cuDNN.首先说为什么要安装CUDA和cuDNN,关于采用GPU计算比CPU有速度有多少提升的benchmark找找就有,这次重点是怎么让tensorflow充分用的上GTX1080能力。具体的就是如何把支持GTX1080的CUDA和cuDNN装起来,然后让tensorflow认识我们新装的CUDA和cuDNN。首先总体说下安装步骤:1首先要注册NVIDIAdeveloper的帐号,分别下载CUDA和cuDNN2确认准备gcc版本,安装依赖库sudoapt-getinstallfreegl3安装CUDA4解压cuDNN5clonetensorflow源码,configure配置6编译安装7最后一哆嗦,测试!准备工作在正式开始前,需要做几个准备工作,主要是大概先看下文档cudaFAQtensorflow的安装文档cuda-gpu的支持列表/计算能力/FAQcudnn5.1有多牛cudatookit下载页面CUDA_Installation_Guide_linux.pdfcudnnUserGuide文档看过之后接下来就是实际动手的过程:1注册NVIDIAdeveloper的帐号,分别下载CUDA和cuDNN1.1下载CUDA打开cudatoolkit下载页面,GTX1080要用的是CUDA8。先点击JOIN,注册帐号。完了后,再回到cudatoolkit下载页面。选择linux,x86-64,ubuntu,16.04,runfile(local)1.2下载cuDNN进入cudnn的下载页,一堆调查,日志写时下载的是[DownloadcuDNNv5(May27,2016),forCUDA8.0RC],点开选linux,不出意外的话这个就是下载地址.2确认GCC版本,安装依赖库确认本机gcc版本,16.04默认的是gcc5,这里安装需要的最高是gcc4.9。接下来就安装配置gcc4.9.2.1安装gcc4.9,并修改系统默认为4.9sudoapt-getinstallgcc-4.9gcc-4.9g++-4.9g++-4.9gcc--versionsudoupdate-alternatives--install/usr/bin/g++g++/usr/bin/g++-4.910sudoupdate-alternatives--install/usr/bin/cccc/usr/bin/gcc30sudoupdate-alternatives--setcc/usr/bin/gccsudoupdate-alternatives--install/usr/bin/c++c++/usr/bin/g++30sudoupdate-alternatives--setc++/usr/bin/g++gcc--version2.2一个小依赖sudoapt-getinstallfreegl3安装CUDA需要注意的是这个地方有个选择安装低版本驱动的地方,选n大致的安装流程如下:3.1安装CUDAchmod+x/cuda_8.0.27_linux.run./cuda_8.0.27_linux.run.?accept/decline/quit:-x86_64361.62?(y)es/(n)o/(q)uit:nInstalltheCUDA8.0Toolkit?(y)es/(n)o/(q)uit:yEnterToolkitLocation[defaultis/usr/local/cuda-8.0]:/usr/local/cuda?(y)es/(n)o/(q)uit:yInstalltheCUDA8.0Samples?(y)es/(n)o/(q)uit:yEnterCUDASamplesLocation[defaultis/home/h]:/home/h/Documents/cuda_samples.3.2写入环境变量vim~/.bashrc#添加下面变量exportPATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}exportLD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}3.3安装好后简单验证a.进入刚配置时指定的cudasample所在文件夹,NVIDIA_CUDA-8.0_Samples/b.cd0_Simple/asyncAPI;sudomakec.NVIDIA_CUDA-8.0_Samples/0_Simple/asyncAPI$./asyncAPI[./asyncAPI]-Starting…GPUDevice0:逗GeForceGTX1080地withcomputecapability6.1CUDAdevice[GeForceGTX1080]timespentexecutingbytheGPU:10.94timespentbyCPUinCUDAcalls:0.安装cuDNNh@h:~/Downloads$tarxvzfcudnn-8.0-linux-x64-v5.0-ga.tgzcuda/include/cudnn.hcuda/lib64/libcudnn.socuda/lib64/libcudnn.so.5cuda/lib64/libcudnn.so.5.0.5cuda/lib64/libcudnn_static.ah@h:~/Downloads$sudocp-Rcuda/lib64/usr/local/cuda/lib64h@h:~/Downloads$sudomkdir-p/usr/local/cuda/includeh@h:~/Downloads/cuda$sudocpinclude/cudnn.h/usr/local/cuda/include/sudochmoda+r/usr/local/cuda/include/cudnn.h/usr/local/cuda/lib64/libcudnn*5clone,configuretensorflow5.1clone源码$gitclone5.2configure配置整个配置流程应该跟下面的基本一样的h@h:~/Downloads/tensorflow$cd./tensorflow/h@h:~/Downloads/tensorflow$./.[Defaultis/usr/bin/python]:***?[y/N]N******?[y/N]y***thehostcompiler.[Defaultis/usr/bin/gcc]:**.RefertoREADME.mdformoredetails.[Defaultis/usr/local/cuda]:/usr/local/cuda-8.0****.[Leaveemptytousesystemdefault]:5.0.5****.0.5libraryisinstalled.RefertoREADME.mdformoredetails.[Defaultis/usr/local/cuda-8.0]:/usr/local/cuda**Pleasespecifyalistofcomma-.:**rbuildtimeandbinarysize.[Defaultis:"3.5,5.2"]:6.1**编译安装6.1编译工具Bazel安装配置先看一眼文档然后就执行下面的流程:#安装java1.8sudoadd-apt-repositoryppa:webupd8team/javasudoapt-getupdatesudoapt-getinstalloracle-java8-installer#安装好后车参考下java-version#添加源echo"deb[arch=amd64]stablejdk1.8"|sudotee/etc/apt/sources.list.d/bazel.listcurl|sudoapt-keyadd-#下载sudoapt-getupdate&&sudoapt-getinstallbazel#升级sudoapt-getupgradebazel6.2编译tensorflow的pip版本并安装$bazelbuild-copt//tensorflow/tools/pip_package:build_pip_package#TobuildwithGPUsupport:$bazelbuild-copt--config=cuda//tensorflow/tools/pip_package:build_pip_package$bazel-bin/tensorflow/tools/pip_package/build_pip_package/tmp/tensorflow_pkg#Thenameofthe..#注意编译完成后生成的文件名字和官方doc里面的是不一定一致的$sudopipinstall/tmp/tensorflow_pkg/tensorflow-0.*-linux_x86_64.whli6700k32g编译时间:只编译代码不带pipINFO:Elapsedtime:967.271s,CriticalPath:538.38sbazel-bin/tensorflow/tools/pip_package/build_pip_packageINFO:Elapsedtime:65.183s,CriticalPath:48.587最后测试前面都整完了,现在该测试了,注意前面有两个动态链接库的位置,cuDNN在/usr/local/cuda/lib64,而cuda在/usr/local/cuda-8.0/lib64,所以这个时候的bashrc应该这么写:exportPATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}exportLD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}写完后,source~/.bashrccdtensorflow/tensorflow/models/image/mnistpythonconvolutional.py成功的话会出现流畅的跑动:h@h:~/Downloads/tensorflow/tensorflow/models/image/mnist$pythonconvolutional.pyItensorflow/stream_executor/dso_loader.cc:108].solocallyItensorflow/stream_executor/dso_loader.cc:108].so.5.0.5locallyItensorflow/stream_executor/dso_loader.cc:108].solocallyItensorflow/stream_executor/dso_loader.cc:108].so.1locallyItensorflow/stream_executor/dso_loader.cc:108].solocallyExtractingdata/train-images-idx3-ubyte.gzExtractingdata/train-labels-idx1-ubyte.gzExtractingdata/t10k-images-idx3-ubyte.gzExtractingdata/t10k-labels-idx1-ubyte.gzItensorflow/stream_executor/cuda/cuda_gpu_executor.cc:925](-1),,/core/common_runtime/gpu/gpu_init.cc:102]Founddevice0withproperties:name:GeForceGTX1080major:6minor:1memoryClockRate(GHz)1.8475pciBusID0000:01:00.0Totalmemory:7.92GiBFreememory:7.41GiBItensorflow/core/common_runtime/gpu/gpu_init.cc:126]DMA:0Itensorflow/core/common_runtime/gpu/gpu_init.cc:136]0:YItensorflow/core/common_runtime/gpu/gpu_device.cc:838]CreatingTensorFlowdevice(/gpu:0)->(device:0,name:GeForceGTX1080,pcibusid:0000:01:00.0)Initialized!Step0(epoch0.00),8.4msMinibatchloss:12.054,learningrate:0.010000Minibatcherror:90.6%Validationerror:84.6%Minibatcherror:0.0%Validationerror:0.7%Step8500(epoch9.89),4.7msMinibatchloss:1.601,learningrate:0.006302Minibatcherror:0.0%Validationerror:0.9%Testerror:0.8%
Ⅷ 如何使用硬件加速或者GPU,使程序运行加速
DXVA是视频硬件加速的统称,不仅仅是视频数据解码(包括H261,MPEG1,MPEG2,H263,MPEG4), 还有Alpha blending, Picture resampling等。但对于播放时CPU利用率影响最大的,则是视频解码,尤其是HDTV的解码。对于低端系统来说,让GPU来负责硬件解码是不二之选。但使用硬件解码,在整个功能上也受到很多限制,尤其是解压以后的视频数据的后期处理(如deinterlace,锐化,去马赛克). 因此对于追求画质的烧友,宁可放弃硬件解码,当然代价是需要升级整个系统。稍后再谈。
硬件解码生效的时候,系统是怎么运转的呢?现在我们有两个处理器,CPU和GPU。他们通过PCI/AGP/PCIE总线交换数据。
1。CPU从文件系统里读出原始数据(DirectSHow的源滤镜),分离出压缩的视频数据(分离器)。放在系统内存中。 GPU 发呆
2。CPU把压缩视频数据交给GPU, 这时总线上开始忙了,压缩数据从系统内存拷贝到显卡上的显存里。
3. CPU要求 GPU开始硬件解码,现在 CPU进入发呆期,GPU开始忙。当然CPU会定期查询一下GPU忙的怎么样了。
4。GPU开始用自己的电路解码视频数据(已经在显存里了),解压后的数据还是放在显存里面。CPU继续发呆。
5. 视频数据刚解码完成以后还不能立刻拿去显示,因为还需要后期处理,如deinterlace, 3:2pulldown,等等。GPU再用自己的后期处理电路来进行处理。CPU还是发呆
6。后期处理以后的未压缩数据拿去显示到屏幕上, GPU再开始忙视频的缩放,亮度,gamma等事情。CPU还是闲
7. GPU终于忙完了,下面的视频数据在哪里?通知CPU,GPU先歇会。 CPU又开始忙了,回到第1步。
上面可以看到,硬件解码生效的时候,CPU真的可以很闲,但是为了让它生效,有些条件必须满足。最关键的原因是,与CPu->系统内存和GPU->显卡显存比起来,PCI、AGP、PCIE总线是龟速。PCI是133MB/S, AGP8X是2.1GB/S, PCIE16X是4GB/S, 而CPU-系统内存,GPU-显存则快若干倍。有兴趣的可以把不同时代的内存总线和AGP/PCIE总线速度进行一下对比。因为CPU和GPU互连的总线很慢,因此,视频数据(无论是解压前还是解压后)一旦交给GPU,GPU就要负责把它处理完,直到最终显示。
如果在前面1-5步里有哪一步GPU不能做或你不让它做,视频硬件解码就不生效,CPU要负责。
当然,你可能会问,也许CPU很慢,说不定在龟速总线上传输数据,GPU分担一部分工作,还是比全部CPU做要快呢? 也许如此,但在Directshow架构里,代表视频数据处理各环节的滤镜(分离器,解码器,后期处理,渲染器)需要协商出一个大家都接受的视频数据存储方式,如果某个滤镜说我只能在系统内存里玩,大家都得要在内存里玩,GPU和显存只好放弃。