Geforce 9500 GT可以运行CUDA Toolkit 5.0吗?
在主页:https://developer.nvidia.com/cuda-gpus
Geforce 9500 GT具有Compute Capability 1.0这意味着只运行CUDA 1.0?
我有一个cuda程序,我在680gtx上运行,同时测试不同的编译器选项,我注意到:
编译我的代码用于计算能力1.0和sm 1.0给出了47ms的运行时间
编译我的代码用于计算能力3.5(也是2.0)和sm 3.0给出了60ms的运行时间
这种结果可能是什么原因?
我正在编译Linux和CUDA 5.0上的nsight编译器,我的内核主要是内存绑定.
谢谢.
命令:
cc 1.0
nvcc --compile -O0 -Xptxas -v -gencode arch=compute_10,code=compute_10 -gencode arch=compute_10,code=sm_10 -keep -keep-dir /tmp/debug -lineinfo -pg -v -x cu -o "BenOlaCuda/src/main.o" "../BenOlaCuda/src/main.cu"
Run Code Online (Sandbox Code Playgroud)
cc 3.0
nvcc -lineinfo -pg -O0 -v -keep -keep-dir /tmp/debug -Xptxas -v -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -odir "BenOlaCuda/src" -M -o "BenOlaCuda/src/main.d" "../BenOlaCuda/src/main.cu"
Run Code Online (Sandbox Code Playgroud)
有关编译内核的更多信息:
cc 1.0
ptxas info : Compiling entry function '_Z15optimizePixelZ3tfPfS_S_S_tttttt' for 'sm_10'
ptxas info : Used 40 registers, 68 bytes smem, 64 bytes cmem[1], 68 bytes …Run Code Online (Sandbox Code Playgroud) 我想开始学习PTX,我应该从哪里开始学习?这有什么好书/资源吗?
如果这可能有帮助,我已经知道x86/x64 ASM(或多或少)
我需要确定给定的CUDA设备是否已连接显示器.我知道没有CUDA功能可以做到这一点.
在Windows上,我可以使用NVAPI获取连接显示器的数量以及每个设备的PCI总线/插槽ID.使用后者,我可以找到匹配的CUDA设备(通过调用cudaGetDeviceProperties).
如何在没有NVAPI的Linux上做同样的事情?
从技术上讲,我需要的是Linux替代以下代码:
NvAPI_Initialize();
NvPhysicalGpuHandle gpuHandles[64];
NvU32 numOfGPUs;
NvAPI_EnumPhysicalGPUs(gpuHandles, &numOfGPUs);
for (int i = 0; i < numOfGPUs; i++)
{
NvU32 connected_displays = 0;
NvU32 busId = 0;
NvU32 busSlotId = 0;
NvAPI_GPU_GetConnectedDisplayIds(gpuHandles[i], NULL, &connected_displays, NULL);
NvAPI_GPU_GetBusId(gpuHandles[i], &busId);
NvAPI_GPU_GetBusSlotId(gpuHandles[i], &busSlotId);
printf("Current device: %d\n", i);
printf("Number of connected displays: %u\n", connected_displays);
printf("Bus id: %u\tBus slot id: %u\n", busId, busSlotId);
}
NvAPI_Unload();
Run Code Online (Sandbox Code Playgroud) 我试图在C中使用带有CUDA 6和统一内存的流.我之前的流实现看起来像这样:
for(x=0; x<DSIZE; x+=N*2){
gpuErrchk(cudaMemcpyAsync(array_d0, array_h+x, N*sizeof(char), cudaMemcpyHostToDevice, stream0));
gpuErrchk(cudaMemcpyAsync(array_d1, array_h+x+N, N*sizeof(char), cudaMemcpyHostToDevice, stream1));
gpuErrchk(cudaMemcpyAsync(data_d0, data_h, wrap->size*sizeof(int), cudaMemcpyHostToDevice, stream0));
gpuErrchk(cudaMemcpyAsync(data_d1, data_h, wrap->size*sizeof(int), cudaMemcpyHostToDevice, stream1));
searchGPUModified<<<N/128,128,0,stream0>>>(data_d0, array_d0, out_d0 );
searchGPUModified<<<N/128,128,0,stream1>>>(data_d1, array_d1, out_d1);
gpuErrchk(cudaMemcpyAsync(out_h+x, out_d0 , N * sizeof(int), cudaMemcpyDeviceToHost, stream0));
gpuErrchk(cudaMemcpyAsync(out_h+x+N, out_d1 ,N * sizeof(int), cudaMemcpyDeviceToHost, stream1));
}
Run Code Online (Sandbox Code Playgroud)
但我找不到流和统一内存的例子,使用相同的技术,将数据块发送到GPU.我想知道是否有办法做到这一点?
我正在尝试将CUDA与GTX 570一起使用.我正在使用Ubuntu 14.04并且已成功安装CUDA.
我认为我应该使用带有板载VGA的桌面或gui接口,并仅为CUDA运行GTX 570,但似乎效果不佳.(我在BIOS中默认设置板载VGA,但安装CUDA后,Ubuntu只在GTX 570端口提供gui.)
那么,是否可以将GTX 570用于gui和CUDA?使用它的标准方法是什么?
我正在尝试使用cuSOLVER库实现Cholesky分解。我是一名初学者CUDA程序员,并且我一直指定块大小和网格大小,但是我无法找出程序员如何使用cuSOLVER函数显式设置它。
这是文档:http : //docs.nvidia.com/cuda/cusolver/index.html#introduction
QR分解是使用cuSOLVER库实现的(请参见此处的示例:http ://docs.nvidia.com/cuda/cusolver/index.html#ormqr-example1 ),即使在此处也未设置上述两个参数。
总结一下,我有以下问题
我使用此代码查找图形卡:
ManagementObjectSearcher searcher =
new ManagementObjectSearcher("SELECT * FROM Win32_DisplayConfiguration");
string graphicsCard = "";
foreach (ManagementObject mo in searcher.Get())
{
foreach (PropertyData property in mo.Properties)
{
if (property.Name == "Description")
{
graphicsCard += property.Value.ToString();
}
}
}
Run Code Online (Sandbox Code Playgroud)
但结果是:Nvidia Quadro K6000
如何查找所有图形卡?
import tensorflow as tf
Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/pywrap_tensorflow.py", line 58, in <module>
from tensorflow.python.pywrap_tensorflow_internal import *
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 28, in <module>
_pywrap_tensorflow_internal = swig_import_helper()
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 24, in swig_import_helper
_mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
File "/usr/lib/python3.5/imp.py", line 242, in load_module
return load_dynamic(name, filename, file)
File "/usr/lib/python3.5/imp.py", line 342, in load_dynamic
return _load(spec)
ImportError: libnvidia-fatbinaryloader.so.384.90: cannot open shared object file: No such file or directory
During handling of the above exception, another exception occurred:
Traceback …Run Code Online (Sandbox Code Playgroud) 根据NVIDIA开发人员网站的说法,您可以使用GPU来加快ffmpeg过滤器的渲染速度。
使用FFmpeg中的内置>过滤器创建高性能的端到端硬件加速视频处理,1:N编码和1:N转码管线
能够使用FFmpeg中的共享CUDA上下文实现添加自己的自定义高性能CUDA过滤器
我现在遇到的问题是如何使用GPU来加速多个ffmpeg过滤器处理?
例如:
ffmpeg -loop 1 -i dog.jpg -filter_complex "scale=iw*4:-1,zoompan=z='zoom+0.002':x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)':s=720x960" -pix_fmt yuv420p -vcodec libx264 -preset ultrafast -y -r:v 25 -t 5 -crf 28 dog.mp4
Run Code Online (Sandbox Code Playgroud) nvidia ×10
cuda ×7
gpu ×2
c# ×1
cudnn ×1
cusolver ×1
diagnostics ×1
ffmpeg ×1
gpgpu ×1
graphics ×1
linux ×1
nsight ×1
nvapi ×1
ptx ×1
python-3.x ×1
tensorflow ×1
ubuntu ×1
ubuntu-unity ×1
vga ×1
video ×1