标签: nvidia

Nvidia Cuda是否会影响调度程序的收益?

我已经阅读了Cuda编程指南,但仍然不清楚warp是否会产生支持其他准备执行的warp?有什么解释或指针吗?如果是,在什么条件下产生翘曲?

schedule cuda nvidia

1
推荐指数
1
解决办法
845
查看次数

NVidia的ISA语言

AMD为每个GPU系列定义其ISA.据我所知,ISA是一个指令集架构:类似汇编的"语言".怎样称为NVidia的GPU"汇编式语言"? - PTX?是否有像AMD或Intel离线编译器这样的工具为NVidia内核生成这样的程序集?谢谢

cuda gpu nvidia isa amd-processor

1
推荐指数
1
解决办法
1014
查看次数

CUDA驱动程序CUmodule

我试图理解CUmodule在CUDA驱动程序API函数中的实际应用.

许多CUDA驱动程序API函数都有一个CUmodule句柄,但它是什么?它是一个控制驱动程序调用过程的DLL的句柄,我可以调用像具有CUDA函数名称的GetProcAddress或什么?

请简单(简单的英文首选)

c++ cuda nvidia

1
推荐指数
1
解决办法
746
查看次数

CUDA:为什么Thrust在向GPU上传数据时这么慢?

我是GPU世界的新手,刚刚安装了CUDA来编写一些程序.我玩推力库但发现在将数据上传到GPU时速度太慢了.在我可怕的桌面上,主机到设备部分只有大约35MB/s.怎么回事?

环境:Visual Studio 2012,CUDA 5.0,GTX760,Intel-i7,Windows 7 x64

GPU带宽测试: 在此输入图像描述

它应该具有至少11GB/s的主机到设备的传输速度,反之亦然!但事实并非如此!

这是测试程序:

#include <iostream>
#include <ctime>
#include <thrust/device_vector.h>
#include <thrust/host_vector.h>

#define N 32<<22

int main(void)
{
    using namespace std;

    cout<<"GPU bandwidth test via thrust, data size: "<< (sizeof(double)*N) / 1000000000.0 <<" Gbytes"<<endl;
    cout<<"============program start=========="<<endl;

    int now = time(0);
    cout<<"Initializing h_vec...";
    thrust::host_vector<double> h_vec(N,0.0f);
    cout<<"time spent: "<<time(0)-now<<"secs"<<endl;

    now = time(0);
    cout<<"Uploading data to GPU...";
    thrust::device_vector<double> d_vec = h_vec;
    cout<<"time spent: "<<time(0)-now<<"secs"<<endl;

    now = time(0);
    cout<<"Downloading data to h_vec...";
    thrust::copy(d_vec.begin(), d_vec.end(), h_vec.begin());
    cout<<"time spent: "<<time(0)-now<<"secs"<<endl<<endl; …
Run Code Online (Sandbox Code Playgroud)

cuda gpu nvidia thrust

1
推荐指数
1
解决办法
1434
查看次数

CUDA如何处理内存地址的多个更新?

我编写了一个CUDA内核,其中每个线程都对特定的内存地址进行更新(使用int size).某些线程可能希望同时更新此地址.

CUDA如何处理这个问题?操作是否成为原子?这会以任何方式增加我的应用程序的延迟吗?如果是这样,怎么样?

parallel-processing cuda nvidia

1
推荐指数
1
解决办法
161
查看次数

nvidia kepler洗牌是"破坏性的"吗?

我正在使用新的kepler的shuffle指令实现CUDA上的并行缩减,类似于:http://devblogs.nvidia.com/parallelforall/faster-parallel-reductions-kepler/

我在给定矩阵中搜索行的最小值,并在内核的末尾我有以下代码:

my_register = min(my_register, __shfl_down(my_register,8,16));
my_register = min(my_register, __shfl_down(my_register,4,16));
my_register = min(my_register, __shfl_down(my_register,2,16));
my_register = min(my_register, __shfl_down(my_register,1,16));
Run Code Online (Sandbox Code Playgroud)

我的块是16*16,所以一切正常,使用该代码我在同一个内核中的两个子行中获得最小值.

现在我还需要返回矩阵每行中最小元素的索引,所以我打算用"if"语句替换"min"并以类似的方式处理这些索引,我对这段代码感到困惑:

if (my_reg > __shfl_down(my_reg,8,16)){my_reg = __shfl_down(my_reg,8,16);};
if (my_reg > __shfl_down(my_reg,4,16)){my_reg = __shfl_down(my_reg,4,16);};
if (my_reg > __shfl_down(my_reg,2,16)){my_reg = __shfl_down(my_reg,2,16);};
if (my_reg > __shfl_down(my_reg,1,16)){my_reg = __shfl_down(my_reg,1,16);};
Run Code Online (Sandbox Code Playgroud)

没有cudaErrors,但内核现在返回垃圾.不过我已经解决了这个问题:

myreg_tmp = __shfl_down(myreg,8,16);
if (myreg > myreg_tmp){myreg = myreg_tmp;};
myreg_tmp = __shfl_down(myreg,4,16);
if (myreg > myreg_tmp){myreg = myreg_tmp;};
myreg_tmp = __shfl_down(myreg,2,16);
if (myreg > myreg_tmp){myreg = myreg_tmp;};
myreg_tmp = __shfl_down(myreg,1,16);
if (myreg > …
Run Code Online (Sandbox Code Playgroud)

cuda nvidia kepler

1
推荐指数
1
解决办法
989
查看次数

什么是BaseMosaic(NVidia/X11)

我在NVidia X Server Settings小程序和我的xorg.conf中看到对BaseMosaic的引用,但我找不到它的好描述.它是什么,它做了什么?

x11 gpu nvidia xorg

1
推荐指数
1
解决办法
8476
查看次数

VirtualGL和TurboVNC:显示":0.0"时缺少"GLX"扩展名

我在AWS上有一台带有Nvidia GRID卡K520的远程计算机,想要远程渲染3D图形.我使用Ubuntu 14.04 - 64位.远程和本地.对于远程连接和OpenGL渲染,我们使用VirtualGL和TurboVNC(*amd64.deb).

我正确安装了VirtualGL和TurboVNC,我有Nvidia驱动程序.

据我所知,VirtualGL使用display:0和TurboVNC在远程机器上使用display:1.

当我连接到远程计算机并且我想运行3D应用程序(通过vglrun)时,它给了我错误:

显示":0.0"时缺少"GLX"扩展名.

我不介意VirtualGL如何在具有TurboVNC的远程机器上工作,它如何使用显示器:0,如果没关系.

我需要设置一些东西(.conf,图形驱动程序).我试着一遍又一遍地安装它,尝试了解答,但我没有找到解决方案.

opengl ubuntu nvidia

1
推荐指数
1
解决办法
5503
查看次数

如何在C/C++中了解我的Nvidia卡的计算能力?

许多框架要求您的nvidia显卡具有特定的计算能力版本.

我正在开发一个使用Cuda的C++应用程序.我应该通过代码获取此信息.这样我就可以为每个图形计算能力分配所需的框架.如何在C/C++中了解我的nvidia图形的计算能力?

c c++ cuda gpu nvidia

1
推荐指数
1
解决办法
619
查看次数

创建新的openGL版本的过程?

在阅读了这本在线书籍http://learnopengl.com/book/offline%20learnopengl.pdf之后,我脑子里开始出现一些关于如何创建更新版本的openGL的问题.根据在线阅读,显卡制造商负责创建更新版本的openGL.所以说Nvidia开发(假设)一个带有openGL版本4.3的GTX 700系列显卡.在此之后,他们决定开发900系列显卡,并对openGL的实现进行一些优化.在卡完成并进行优化后,他们将openGL的这些新优化标记为openGL 4.4.我的示例在新版本的创建方面是否正确?另外,如果是这样,那么kronos组(openGL的开发人员)实际上做了什么?他们是否有责任确保新版本的openGL符合所需规格?

opengl 3d graphics nvidia video-card

1
推荐指数
1
解决办法
43
查看次数

标签 统计

nvidia ×10

cuda ×7

gpu ×4

c++ ×2

opengl ×2

3d ×1

amd-processor ×1

c ×1

graphics ×1

isa ×1

kepler ×1

parallel-processing ×1

schedule ×1

thrust ×1

ubuntu ×1

video-card ×1

x11 ×1

xorg ×1