标签: nvidia

glVertexPointer 的目的是什么?

我正在查看CUDA的粒子示例,但找不到它们在顶点数组和着色器中的变量之间建立链接的位置。从我读过的和实际上我一直在做的方式来看

...
glGenBuffers(1, &VBO);
glBindBuffer(GL_ARRAY_BUFFER, VBO);
glBufferData( ... )
glEnableVertexAttribArray(0);
glVertexAttribPointer( ... );
...
Run Code Online (Sandbox Code Playgroud)

然而我在 Nvidia 的例子中发现的看起来像

glBindBufferARB(GL_ARRAY_BUFFER_ARB, m_vbo);
glVertexPointer(4, GL_FLOAT, 0, 0);
glEnableClientState(GL_VERTEX_ARRAY);

if (m_colorVBO)
{
    glBindBufferARB(GL_ARRAY_BUFFER_ARB, m_colorVBO);
    glColorPointer(4, GL_FLOAT, 0, 0);
    glEnableClientState(GL_COLOR_ARRAY);
}

glDrawArrays(GL_POINTS, 0, m_numParticles);

glBindBufferARB(GL_ARRAY_BUFFER_ARB, 0);
glDisableClientState(GL_VERTEX_ARRAY);
glDisableClientState(GL_COLOR_ARRAY);
Run Code Online (Sandbox Code Playgroud)

我相信这与我所做的类似。所以我的问题是

  1. 这两种将数据传递给着色器的方式有什么区别?
  2. 我应该更喜欢一个吗?

opengl nvidia glsl

3
推荐指数
2
解决办法
3485
查看次数

Nvidia CUDA Profiler 的时间线包含很多大的缺口

我正在尝试使用 Nivida Profiler 分析我的代码,但我在时间线中出现了奇怪的差距,如下所示:

时间线差距

注意:间隙边缘的两个内核都是 CudaMemCpyAsync(主机到设备)

我在 Ubuntu 14.04 上运行最新版本的 CUDA、8.0.61 和最新的 Nvidia 显示驱动程序。

Intel 集成显卡用于显示器而不是 Nvidia。因此,Nvidia 显卡只运行代码,而不运行其他任何东西。

我也启用了 CPU Profiling 来检查这些差距,但没有显示任何内容!

已启用 CPU 分析

此外,没有启用调试选项(-G 或 -g),这是一个“发布版本”

没有启用调试选项

我的笔记本电脑规格:

  • 英特尔酷睿 i7 4720HQ
  • 英伟达 GTX 960m
  • 16GB DDR3 内存
  • 1 TB 硬盘

有没有办法追踪这些空时隙中发生的事情?

谢谢,

profile timeline cuda nvidia

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

Ubuntu 16.04 上的双 GPU 配置

客观的:

拥有一个多显示器扩展显示器,显示器位于两个相同的 GPU 上。

硬件:

  • Geforce GTX 970 (x2)
  • 戴尔 E207WFP 显示器 (x6)
  • Z97-PRO主板
  • i5-4690K CPU @3.50GHz
  • 24GB 内存

软件:

  • Ubuntu 16.04.04 LTS
  • 4.4.0-116-通用内核
  • NVIDIA 驱动程序版本 384.111

测试程序

1) 硬件测试

  • 测试了每台显示器及其端口。(成功)
  • 使用 GPU 和显示器一次一个地测试每个 Mobo PCI 端口。(成功)
  • 测试了每个 GPU 及其所有显示端口。(成功)

    注意:每个 GPU 有 1 个显示器、1 个 HDMI 和 2 个 DVI 端口。

    • 自己测试了每个端口。(成功)
    • 测试所有端口同时显示。(成功)
  • 单独测试了所有涉及的布线。(成功)

2) 软件测试

  • 测试 Ubuntu 是否可以在扩展模式下在 1 个 GPU 上处理 4 个显示器。(成功)
    • 监视器 1:全屏播放高清电影。
    • 监视器 2:玩方舟生存进化在最高质量的设置。
    • 监视器 3:Active …

multiple-monitors nvidia xorg multi-gpu ubuntu-16.04

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

cudaMemcpy 传输种类:默认 vs HostToDevice/DeviceToHost

cudaMemcpy 允许程序员明确指定内存传输的方向。

有手动指定存储器传输方向上的任何优点(cudaMemcpyDeviceToHost/ cudaMemcpyHostToDevice/ cudaMemcpyDeviceToDevice,而不是让CUDA自动推断()cudaMemcpyDefault从指针值)?

memory cuda nvidia

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

如何创建 NVIDIA OpenCL 项目

我想在 Visual Studio 2017 中用 NVIDIA OpenCL 编写应用程序,但不知道如何为此创建项目。

我有来自 NVIDIA (GeForce 940M) 和 Intel (HD Graphics 5500) 的 GPU,并且已经设法为 OpenCL 打开和运行 Intel 示例程序,但它们有近一千行代码,所以我决定尝试 NVIDIA OpenCL 但不知道如何。在一些论坛上,他们说我应该下载 CUDA 工具包并安装 OpenCL,其他人说我应该下载支持 OpenCL 的驱动程序,但我不知道哪个驱动程序合适。我已经从https://www.nvidia.pl/Download/index.aspx?lang=pl安装了 CUDA 和驱动程序,但我仍然无法在 Visual Studio 的 OpenCL 中创建 NVIDIA 项目。

c++ nvidia opencl visual-studio

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

Nvidia Jetson Tx1 与 jetson NANO(基准测试)

我目前正在尝试将 Jetson TX1 与 jetson NANO 进行基准测试,根据https://elinux.org/Jetson,它们都具有 maxwell 架构,其中 NANO 有 128 个 cuda 内核,TX1 有 256 个 cuda 内核。这意味着通常 Jetson NANO 的性能是 TX1 的一半。

为了测试这一点,我创建了一个单(浮点)运算乘法内核,如下所示:

__global__ void matrixMultiply(float* mat1, float* mat2, int nx, int ny)
    {
        unsigned int ix = threadIdx.x + blockDim.x*blockIdx.x;
        unsigned int iy = threadIdx.y + blockDim.y*blockIdx.y;
        int idx = iy*nx + ix;

        mat1[idx] = mat1[idx]*mat2[idx] ;

    }
Run Code Online (Sandbox Code Playgroud)

测试: TX1 = 130 ms 和 Jetson NANO = 150 ms 乘以 2“大小为 15000*15000 的浮点数组”。结果看起来很奇怪,就好像我没有使用 TX1 …

cuda nvidia nvidia-jetson

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

无法在 Ubuntu 16.04 上安装 CUDA

多年来,我一直以这种方式安装各种版本的 CUDA:

sudo apt-get update
sudo apt-get purge cuda --yes

# eg for 9.0:
wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_9.0.176-1_amd64.deb

sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub

sudo dpkg -i cuda-repo-ubuntu1604_9.0.176-1_amd64.deb

sudo apt-get install cuda=9.0.176-1 --yes
Run Code Online (Sandbox Code Playgroud)

这一直很有效,我在一个脚本中可以自动设置我的 CI 机器。但是今天我注意到事情不再起作用了:

sudo apt-get install cuda=9.0.176-1 --yes
E: Unable to locate package cuda
Run Code Online (Sandbox Code Playgroud)

显然,GPG 密钥已过期: https : //github.com/NVIDIA/nvidia-docker/issues/1081#issuecomment-533717708

要解决此问题,您现在需要执行以下操作:

curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey |  sudo apt-key add -
Run Code Online (Sandbox Code Playgroud)

但是,同样的错误!我也尝试过 CUDA 10.0 版,但它以同样的方式失败。

cuda nvidia

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

nvprof 命令错误:未找到cupti64_102.dll

当我尝试nvprof在命令提示符中运行命令时,系统错误会弹出并显示“代码执行无法继续,因为未找到 cupti64_102.dll。重新安装程序可能会解决此问题。”

我已经安装了 CUDA Toolkit 10.2 但cupti64_102.dll不在/bin.

系统:Windows 10、Quadro K4200、CUDA10.2、CUDA Toolkit 10.2

cuda nvidia nvcc nvprof

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

NVIDIA-SMI 失败,因为它无法与 NVIDIA 驱动程序通信。确保安装并运行了最新的 NVIDIA 驱动程序。为什么?

我正在尝试在 Google Colab 上运行 stylegan2,但使用我的 Drive 上的所有文件,并避免使用 !git clone 来自stylegan2github。这是我在特定单元格上的代码:

    %tensorflow_version 1.x
    %cd /content/drive/My Drive/stylegan2-master/
    !nvcc test_nvcc.cu -o test_nvcc -run
    print('Tensorflow version: {}'.format(tf.__version__) )
    !nvidia-smi -L
    print('GPU Identified at: {}'.format(tf.test.gpu_device_name()))
Run Code Online (Sandbox Code Playgroud)

结果:

/content/drive/My Drive/stylegan2-master CPU 打招呼。cudaErrorNoDevice:未检测到支持 CUDA 的设备 Tensorflow 版本:1.15.2 NVIDIA-SMI 失败,因为它无法与 NVIDIA 驱动程序通信。确保安装并运行了最新的 NVIDIA 驱动程序。

GPU 标识于:

为什么我无法获得 GPU?我是该领域的新手,所以我可能会遗漏一些非常简单的东西,但仍然无法在互联网上找到答案。

gpu nvidia tensorflow google-colaboratory

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

tensorflow docker gpu 图像未检测到我的 GPU

使用以下命令运行最新的 docker:

docker run -it -p 8888:8888 tensorflow/tensorflow:latest-gpu-jupyter jupyter notebook --notebook-dir=/tf --ip 0.0.0.0 --no-browser --allow-root --NotebookApp.allow_origin='https://colab.research.google.com'
Run Code Online (Sandbox Code Playgroud)

代码:

import tensorflow as tf
print("Num GPUs Available: ", len(tf.config.experimental.list_physical_devices('GPU')))
Run Code Online (Sandbox Code Playgroud)

给我:

2020-07-27 19:44:03.826149: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcuda.so.1
2020-07-27 19:44:03.826179: E tensorflow/stream_executor/cuda/cuda_driver.cc:313] failed call to cuInit: UNKNOWN ERROR (-1)
2020-07-27 19:44:03.826201: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:163] no NVIDIA GPU device is present: /dev/nvidia0 does not exist
Run Code Online (Sandbox Code Playgroud)

我在 Pop_OS 20.04 上,尝试从 Pop 存储库和 NVidia 安装 CUDA 驱动程序。没有骰子。任何帮助表示赞赏。

跑步

docker run --gpus all nvidia/cuda:10.0-base nvidia-smi
Run Code Online (Sandbox Code Playgroud)

给我:

+-----------------------------------------------------------------------------+ …
Run Code Online (Sandbox Code Playgroud)

linux nvidia docker tensorflow

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