标签: nvidia

分析时,大部分时间都花在nvoglv64.dll上.我应该推断出什么?

我正在使用英特尔VTune放大器分析C++应用程序.在DrvPresentBuffers和/或KeSynchoronizeExecution中,大多数时间似乎更精确地花费在nvoglv64.dll中.请注意,我有一块NVIDA GeoForce显卡.

我是我正在分析的应用程序的新手,正在寻找瓶颈和低优化的成果.由于大部分时间似乎花费在这个NVIDIA dll上,我不知道如何解码分析结果.

我想知道来自我的应用程序端的那些调用,以便建立我的应用程序的知识.有人可以给我一些启示:

  • 什么时候应用程序调用DrvPresentBuffers,我应该看什么样的调用(在我的应用程序端)
  • 我在哪里可以获得有关如何分析,理解和优化图形卡dll中瓶颈的应用程序的更多信息.

opengl optimization profiling nvidia intel-vtune

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

CUDA调试,或如何在不禁用优化的情况下获取cuda-gdb中的源代码行?

我有一个相当大而复杂的CUDA代码,可以很好地挂起大量的块/线程.我试图找出代码挂起的确切位置.

当我运行代码时cuda-gdb,我可以看到哪些线程/块挂起,但我无法看到"虚拟PC"之外的位置.

如果我使用"-G"编译代码来获取调试信息,那么无论我运行多长时间,它都会运行得慢很多并且拒绝挂起.

有没有办法将"虚拟PC"映射到源代码中的一行代码,甚至大约?或者有没有办法在不关闭所有优化的情况下获取调试信息?

我尝试过使用"-G3",但无济于事.这只是给了我"#nvcc warning : Setting optimization level to 0 as optimized debugging is not supported" 类型的警告.我正在使用CUDA编译工具4.1版.

debugging cuda nvidia cuda-gdb

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

Julia Set - CUDA示例 - 帮我设置项目

我一直在Jason Sanders和Edward Kandrot的例子中阅读CUDA,他们遇到了第4章,他们用CUDA解决了Julia Set.此外,书籍页面上还有一个源代码; https://developer.nvidia.com/content/cuda-example-introduction-general-purpose-gpu-programming-0

当我尝试包含项目所需的所有文件(所有头文件和.cu文件)时,它将无法编译.我通常从头开始创建的CUDA项目没有问题(VS 2010,CUDA 5.0).

有没有人有同样的问题,你可以请指出每一步,以使这个朱莉娅集设置应该是吗?

PS这是一个在头文件中不起作用的代码:

/*
 * Copyright 1993-2010 NVIDIA Corporation.  All rights reserved.
 *
 * NVIDIA Corporation and its licensors retain all intellectual property and
 * proprietary rights in and to this software and related documentation.
 * Any use, reproduction, disclosure, or distribution of this software
 * and related documentation without an express license agreement from
 * NVIDIA Corporation is strictly prohibited.
 *
 * Please refer to the applicable NVIDIA end user license agreement …
Run Code Online (Sandbox Code Playgroud)

c cuda nvidia

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

Mathematica中NVIDIA K20 GPU的内核数量

我在Mathematica中使用NVIDIA K20 GPU.K20的白皮书规定了以下规格:

  1. 2496个单精度内核(每个多处理器192个,13个多处理器)
  2. 832个双精度内核(每个多处理器64个x 13个多处理器)
  3. 416个特殊功能单元(每个多处理器32个x 13个多处理器)

但是,当我启动Mathematica并在加载OpenCL或CUDA后查看GPU的规格时,它说我只有416个核心(我附上了Mathematica命令和报告规格的屏幕截图).这是否与双精度核心或特殊功能单元的数量有关?Mathematica在我告诉它将编写什么样的代码(例如双精度,超越函数)之前报告这些规范.在此输入图像描述

cuda wolfram-mathematica nvidia opencl

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

复制到CUDA常量内存时设备符号无效

我在图像处理中有一个应用程序的几个文件.由于在执行某些图像处理算法时图像的行数和列数没有变化,我试图将这些值放在常量内存中.我的应用看起来像:

Imageproc.cuh

...
...
__constant__ int c_rows;
__constant__ int c_cols;

#ifdef __cplusplus
   extern "C"
   {
#endif
   ...
   ...
#ifdef __cplusplus
   }
#endif
Run Code Online (Sandbox Code Playgroud)

Imageproc.cu

...
...

int algorithm(float *a, const int rows, const int cols){
   ...
   ...
   checkCudaError(cudaMemcpyToSymbol(&c_rows, &rows, sizeof(int)));
   checkCudaError(cudaMemcpyToSymbol(&c_cols, &cols, sizeof(int)));

   dim3 block(T, T);
   dim3 grid(cols/T+1, rows/T+1);

   kernel<<<grid, block>>>( ... );
   ...
   ...

}
Run Code Online (Sandbox Code Playgroud)

它编译得很好但是在尝试运行程序时我得到了 invalid device symbol cudaMemcpyToSymbol(&c_rows, &rows, sizeof(int))

我不能把这些变量放在常量内存中或者我缺少什么?

cuda nvidia

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

OpenCL荒谬CL_OUT_OF_RESOURCES

我的CL程序:

constant double LATTICEWEIGHTS[19] = { 1.0 / 36.0,

                                      .....

                                      1.0 / 36.0 };

void
computeFeq(
  double  density,
  double3 velocity,
  double* feq) {
  for (int i = 0; i < 19; ++i) {
    feq[i] = LATTICEWEIGHTS[i];         // Line 1
    //feq[i] = 2.0 * LATTICEWEIGHTS[i]; // Line 2
  }
}

__kernel void
Kernel(){

  .....

  double  density;
  double3 velocity;
  double  feq[19];

  computeFeq(density, velocity, feq);
}
Run Code Online (Sandbox Code Playgroud)

这段代码有效.但是如果我评论第1行并取消注释第2行,则会立即发生CL_OUT_OF_RESOURCES.

有任何想法吗?

我用NVIDIA GTX 670M测试它.

gpgpu nvidia opencl

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

Ubuntu kworker线程消耗100%的CPU

我有一个问题,但无法找到答案(很容易).在我的Ubuntu安装中,一个kworker线程占用了100%的CPU,这使得我的计算机非常慢或有时会崩溃.

cpu ubuntu nvidia

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

剖析cublas应用程序

我正在尝试配置我的应用程序,该应用程序在Windows上专门使用cuBLAS和Nvidia Visual Profiler,但它表明我的应用程序中根本没有GPU使用!也就是说,除了分析开销之外,时间线是完全空的.为了确保某人没有更改安全设置或我下面的内容,我使用内核和cudaMemcpy调用来分析应用程序,并对其进行了正确的分析.是什么赋予了?我错过了一个设置吗?链接到错误版本的cuBLAS库?或者它实际上并没有调用GPU(虽然对我来说似乎完全不可能......)?我正在使用英特尔的编译器进行64位支持,如果这有所不同的话.

谢谢!

c profiling cuda nvidia cublas

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

GPU Kepler CC3.0处理器不仅是流水线架构,还是超标量?

在CUDA 6.5的文档中写道:http://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#ixzz3PIXMTktb

5.2.3.多处理器级别

...

  • 8L用于计算能力3.x的设备,因为多处理器在一个时钟周期内每次发生一对指令,一次四个经线,如Compute Capability 3.x中所述.

这是否意味着GPU Kepler CC3.0处理器不仅是流水线架构,还是超标量?

  1. 流水线 - 这两个序列并行执行(一次执行不同的操作):

    • LOAD [addr1] - > ADD - > STORE [addr1] - > NOP
    • NOP - > LOAD [addr2] - > ADD - > STORE [addr2]
  2. 超标量 - 这两个序列并行执行(一次执行相同的操作):

    • LOAD [reg1] - > ADD - > STORE [reg1]
    • LOAD [reg2] - > ADD - > STORE [reg2]

cuda gpgpu nvidia gpu-programming kepler

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

无法安装nvidia驱动程序,在函数'block_cpu_fault_locked'中:错误隐式声明函数'task_stack_page

我试图在计算机崩溃后在台式计算机上重新安装Ubuntu和NVIDIA驱动程序.但崩溃后NVIDIA驱动程序无法成功安装.第一个问题是Ubuntu usb安装后计算机进入低分辨率模式,要求我"重新启动"计算机.我遇到的第二个问题是按ctrl-alt-F1切换到文本命令模式后屏幕变为黑屏.我学会了通过编辑解决黑屏文本命令模式 /etc/default/grub,并将'nomodeset'添加到GRUB_CMDLINE_LINUX_DEFAULT变量并重新启动计算机.

然后我下载https://us.download.nvidia.com/XFree86/Linux-x86_64/384.130/NVIDIA-Linux-x86_64-384.130.run 并安装此NVIDIA驱动程序.但由于以下错误导致安装失败:

/tmp/selfgz1982/NVIDIA-Linux-x86_64-384.130/krenel/nvidia-uvm/uvm8_va_block.c:在函数'block_cpu_fault_locked'中:
./ arch/x86/inlcude/asm/process.h:820:39:错误隐式声明函数'task_stack_page'[-Werror = implicit-function-declaration]
unsigned long __ptr =(unsigned long)task_stack_page(task);

显卡坏了吗?
nvidia驱动器在崩溃时是否会更改母偏置或显卡设置?
Ubuntu安装可以完成安装并显示出很好的分辨率.

我有什么建议可以解决它吗?

x11 graphics ubuntu nvidia

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