标签: gpu

CPU SIMD与GPU SIMD?

GPU使用SIMD范例,即,相同的代码部分将并行执行,并应用于数据集的各种元素.

但是,CPU也使用SIMD,并提供指令级并行.例如,据我所知,类似SSE的指令将处理具有并行性的数据元素.

虽然SIMD范例似乎在GPU和CPU中的使用方式不同,但GPU的SIMD功率是否比CPU更多?

在哪种方式中,CPU中的并行计算能力比GPU中的并行计算能力"弱"?

谢谢

parallel-processing cpu gpu simd

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

在一个GPU上运行多个CUDA应用程序

CUDA文档没有具体说明有多少CUDA进程可以共享一个GPU.例如,如果同一个用户在系统中只安装了一个GPU卡的情况下启动了多个CUDA程序,效果如何?它会保证执行的正确性吗?在这种情况下,GPU如何安排任务?

cuda gpu gpgpu nvidia

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

你能编写纯GPU游戏吗?

我是CS硕士生,下学期我将不得不开始研究我的论文.我在提出论文想法方面遇到了麻烦,但我认为它与计算机图形学有关,因为我对游戏开发充满热情,并希望有朝一日能够成为一名职业游戏程序员.

不幸的是,我对3D计算机图形学领域有点陌生,我参加了本科的本科课程,并希望下学期学习高级课程,而且我已经阅读了各种书籍和文章以了解更多信息.尽管如此,如果我现在提出一个总的论点想法,然后花时间学习它来准备我的论文提案,我的主管认为它会更好.我的主管为我提供了一些好主意,但我宁愿自己做一些更有趣的事情,这有希望与游戏有关,让我有更多机会了解更多有关该领域的知识.我不在乎它是否已经完成,对我而言,这篇论文更像是一个深入了解事物并自己做大量工作的机会.

我对GPU编程知之甚少,而且我还在学习像CUDA这样的着色器和语言.我的一个想法是在GPU上编程整个游戏(或尽可能多),包括所有游戏逻辑,AI和测试.这是通过阅读GPGPU论文和问题,如激发了这个,我不知道这是怎么可行的与我的知识,我的上司不知道了很多关于最近的GPU.我肯定有时间我可以自己回答这个问题,但是如果我事先能够知道答案那么它会很方便,所以我也可以考虑其他想法.

所以,如果你已经走到这一步,我的问题是:只使用着色器或像CUDA这样的东西,你能制作一个充分利用GPU的原始功能和并行性的简单3D游戏吗?或者我错过了GPU和CPU之间的一些限制或区别,这些限制或差异总会使我的大部分代码绑定到CPU?我已经读过关于在GPU上运行的物理引擎,为什么不是其他的呢?

gpu

23
推荐指数
2
解决办法
5624
查看次数

OpenCL - 如何查询设备的SIMD宽度?

在CUDA中,存在warp的概念,其被定义为可以在单个处理元件内同时执行相同指令的最大线程数.对于NVIDIA,目前市场上所有卡的经线尺寸均为32.

在ATI卡中,有一个类似的概念,但在这种情况下的术语是波前.经过一番狩猎后,我发现我所拥有的ATI卡的波前大小为64.

我的问题是,在运行时为OpenCL查询此SIMD宽度我该怎么办?

gpu gpgpu opencl

23
推荐指数
3
解决办法
5590
查看次数

开始OpenCL教程?

我看过一些关于OpenCL有多强大的视频和文章 - 而且我很迷茫.问题是那里有很少的资源可以帮助你使用OpenCL ..比如说OpenGL.

我正在寻找一些开始OpenCL(例如一个Hello World教程)教程和一些高级教程的指针,当我掌握它时.

另外 - 如何'跨平台'是OpenCL,有多少不同的操作系统(例如Windows,Linux,iOS和Android)可以运行OpenCL程序.

顺便说一句:我更喜欢使用OpenCL和C++(不是Java等)的教程:-)

编辑:如果我要开始在OpenCL开发,我需要在Windows系统上下载诸如header和.lib文件的下载(在Linux上你只需要键入sudo apt-get install opencl-dev&我认为Mac OS X已经安装了吗?).

c++ resources gpu cross-platform opencl

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

Vulkan中命令缓冲区之间的同步

有几种方法可以处理Vulkan中的同步.这就是我理解的方式:

  • Fences是GPU到CPU的同步.
  • 信号量是GPU到GPU的同步,它们用于同步队列提交(在相同或不同的队列上).
  • 事件更通用,在CPU和GPU上重置和检查.
  • 障碍用于命令缓冲区内的同步.

在我的情况下,我有两个命令缓冲区.我希望第二个命令缓冲区在第一个命令缓冲区之后执行.

submitInfo.pCommandBuffers = &firstCommandBuffer;
vkQueueSubmit(queue, 1, &submitInfo, VK_NULL_HANDLE);

// wait for first command buffer to finish
submitInfo.pCommandBuffers = &secondCommandBuffer;
vkQueueSubmit(queue, 1, &submitInfo, VK_NULL_HANDLE);
Run Code Online (Sandbox Code Playgroud)

什么样的同步最适合这个?如果我使用的vkQueueWaitIdle(queue)),是与使用栅栏相同的东西,或者我应该使用事件或信号量?

如果我同时向队列发送多个命令缓冲区:

std::vector<VkCommandBuffer> submitCmdBuffers = {
        firstCommandBuffer,
        secondCommandBuffer
    };
    submitInfo.commandBufferCount = submitCmdBuffers.size();
    submitInfo.pCommandBuffers = submitCmdBuffers.data();
Run Code Online (Sandbox Code Playgroud)

还有一种方法可以在第一个和第二个之间同步吗?

c++ synchronization gpu vulkan

23
推荐指数
2
解决办法
2644
查看次数

如何在 Macbook pro (M1) GPU 上运行 Pytorch?

我尝试在 Macbook pro 上使用 PyTorch 训练模型。它采用新一代苹果M1 CPU。但是,PyTorch 无法识别我的 GPU。

GPU available: False, used: False
TPU available: False, using: 0 TPU cores
IPU available: False, using: 0 IPUs
Run Code Online (Sandbox Code Playgroud)

有谁知道有什么解决办法吗?

我已将所有库更新到最新版本。

gpu pytorch apple-m1

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

如何在GPU阵列上运行已编写的并发程序?

我有一个用Erlang编写的神经网络,我刚买了一块带有240核GPU的GeForce GTX 260卡.使用CUDA作为粘合剂在显卡上运行它是否微不足道?

parallel-processing concurrency erlang cuda gpu

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

使用CentOS在AWS GPU实例上运行OpenGL

我需要使用CentOS在AWS EC2 GPU实例上执行一些离屏渲染程序.然而,虽然我发现Ubuntu很容易设置,但我不能让CentOS正常工作.

目标是在EC2 GPU实例上运行一些基本的实用程序/测试工具(没有屏幕或X客户端).在下面的文章中,我将描述如何设置Ubuntu以及CentOS/Amazon Linux AMI如何失败.

Ubuntu的

在ubuntu 12.04上,一切都很顺利.我使用的EC2环境是:

  • 实例类型:CG1和G2都经过测试并正常工作.
  • AMI映像:用于HVM实例的Ubuntu Server 12.04.3 LTS(美国东部的ami-b93264d0)
  • 大多数其他设置都是默认设置.

启动实例后,将执行以下命令:

# Install the Nvidia driver
sudo apt-add-repository ppa:ubuntu-x-swat/x-updates
sudo apt-get update
sudo apt-get install nvidia-current
# Driver installation needs reboot
sudo reboot now

# Install and configure X window with virtual screen
sudo apt-get install xserver-xorg libglu1-mesa-dev freeglut3-dev mesa-common-dev libxmu-dev libxi-dev
sudo nvidia-xconfig -a --use-display-device=None --virtual=1280x1024
sudo /usr/bin/X :0 &

# OpenGL programs are now workable. Ex. glxinfo, glxgears
DISPLAY=:0 glxinfo
Run Code Online (Sandbox Code Playgroud)

glxgears …

opengl gpu centos amazon-ec2 amazon-web-services

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

如何解释TensorFlow输出?

如何解释TensorFlow输出以在GPGPU上构建和执行计算图?

给定以下命令,使用python API执行任意tensorflow脚本.

python3 tensorflow_test.py> out

第一部分stream_executor似乎是它的加载依赖.

I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcublas.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcudnn.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcufft.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcuda.so.1 locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcurand.so locally
Run Code Online (Sandbox Code Playgroud)

什么是NUMA节点?

I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:900] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
Run Code Online (Sandbox Code Playgroud)

我认为这是它找到可用GPU的时候

I …
Run Code Online (Sandbox Code Playgroud)

python gpu tensorflow

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