标签: gpu

我可以在英特尔的集成图形处理器上运行CUDA吗?

我有一个非常简单的东芝笔记本电脑与i3处理器.另外,我没有任何昂贵的显卡.在显示设置中,我将英特尔(HD)图形视为显示适配器.我打算学习一些cuda编程.但是,我不确定,如果我可以在我的笔记本电脑上这样做,因为它没有任何nvidia的cuda启用GPU.

事实上,我怀疑,如果我有一个GPU o_o

所以,如果有人能告诉我是否可以使用当前配置进行CUDA编程,如果可能的话还让我知道英特尔(HD)图形意味着什么,我将不胜感激?

graphics cuda gpu gpu-programming

75
推荐指数
4
解决办法
12万
查看次数

GPU编程,CUDA还是OpenCL?

我是GPU编程的新手.我有一台配有NVIDIA GeForce GT 640卡的笔记本电脑.我面临两难困境,欢迎提出建议.

  1. 如果我选择CUDA - Ubuntu或Windows Clearly CUDA更适合Windows,而在Ubuntu上安装可能是一个严重的问题.我见过一些声称在Ubuntu 11.10Ubuntu 12.04上安装了CUDA 5的博客帖子.但是,我无法让他们工作.此外,标准CUDA教科书更喜欢在Windows域中工作,并且在Unix/Ubuntu安装和工作方面或多或少都是沉默的.

  2. CUDA或OpenCL - 现在这可能比我的第一个问题更棘手!我主要使用CUDA/Nvidia来接触GPGPU项目,但OpenCL可能是开源中的下一个最佳选择,在Ubuntu中安装可能不会成为问题,尽管这里的一些建议最有用.如果我选择OpenCL而不是CUDA,我会牺牲任何功能吗?

任何帮助或建议?

cuda gpu gpgpu gpu-programming

73
推荐指数
2
解决办法
5万
查看次数

Haskell Array.Accelerate - forkOS错误

试图绘制一些Data.Array.Accelerate计算的输出gnuplot我遇到了一个奇怪的问题.当通过解释器运行时,一切都很好,如绘制直接Haskell数据或仅打印Accelerate值,但是尝试绘制Accelerate数据失败.给出的错误是forkOS_entry: interrupted.

我已经意识到我应该更多UNIXy并在每个程序中做一件事(好).但我很想知道为什么会失败.我在下面添加了最少的代码示例.

import Prelude hiding (zip,zipWith)

import Graphics.Gnuplot.Simple
import Data.Array.Accelerate
-- import Data.Array.Accelerate.Interpreter
import Data.Array.Accelerate.CUDA

f :: Vector Float -> Vector Float -> Acc (Vector Float)
f xs ys = let xs' = use xs
              ys' = use ys
          in
             (zipWith (*) xs' ys')
n=10::Int

points = toList.run $ f (fromList (Z:.n) [1..10]) (fromList (Z:.n) [-5..4])

main = plotList [] points
Run Code Online (Sandbox Code Playgroud)

更新2014/09/11

根据user2141650建议(谢谢!)将最后一行更改为

plotList [] $! points
Run Code Online (Sandbox Code Playgroud)

解决了这个问题.事实上它使得情节实际上出现了,而没有这个,程序将有或没有错误完成,但实际上永远不会显示情节.我想我会接受这个作为答案,如果它被写了,但知道发生了什么仍然是很好的.

可能相关:

(顺便说一句,请停止尝试编辑语法.这个问题没有任何问题,我是母语人士并写下我的意思.感谢您的贡献.)

plot haskell gpu gnuplot

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

为什么GPU比CPU更强大

GPU如何比CPU更快?我读过有关GPU如何在破坏密码方面比CPU更快的文章.如果是这样的话那为什么CPU的设计不能像GPU一样速度均匀?

cpu gpu

63
推荐指数
2
解决办法
4万
查看次数

nvidia-smi易失性GPU利用率解释?

我知道这nvidia-smi -l 1将每秒钟提供一次GPU使用(类似于以下内容).但是,我很欣赏有关Volatile GPU-Util真正含义的解释.这是使用的SM数量超过总SM数,占用数量还是其他数量?

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 367.48                 Driver Version: 367.48                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  Tesla K20c          Off  | 0000:03:00.0     Off |                    0 |
| 30%   41C    P0    53W / 225W |      0MiB /  4742MiB |     96%      Default |
+-------------------------------+----------------------+----------------------+
|   1  Tesla K20c          Off  | 0000:43:00.0     Off |                    0 |
| 36% …
Run Code Online (Sandbox Code Playgroud)

cuda gpu gpgpu nvidia gpu-programming

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

使用GPU加速MATLAB代码?

AccelerEyes于2012年12月宣布,它与Mathworks在GPU代码上合作,并已停止其产品Jacket for MATLAB:

http://blog.accelereyes.com/blog/2012/12/12/exciting-updates-from-accelereyes/

不幸的是,他们不再销售Jacket牌照了.

据我所知,基于ArrayFire的Jacket GPU阵列解决方案比MATLAB提供的gpuArray解决方案快得多.

我开始使用gpuArray,但我发现很多函数都实现得很差.例如一个简单的

myArray(:) = 0 
Run Code Online (Sandbox Code Playgroud)

非常慢 我编写了一些自定义的CUDA内核,但是实现得很差的标准MATLAB功能增加了很多开销,即使在整个代码中使用gpuArrays也是如此.我通过用手写的CUDA代码替换MATLAB代码来解决一些问题 - 但我不想重新实现MATLAB标准功能.

我缺少的另一个功能是稀疏GPU矩阵.

所以我的问题是:

如何加快MATLAB提供的严格实现的默认GPU实现?特别是,如何使用GPU加速MATLAB中的稀疏矩阵运算?

matlab gpu gpgpu jacket

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

Python GPU编程

我目前正在研究python中的一个项目,我想利用GPU进行一些计算.

乍一看似乎有很多可用的工具; 乍一看,我觉得我错过了什么.

Copperhead看起来很棒,但还没有被释放.似乎我只限于编写低级CUDA或openCL内核; 没有推力,没有cudpp.如果我喜欢有东西排序,我将不得不自己做.

这对我来说似乎不对.我确实错过了什么吗?或者这个GPU脚本还没有完全实现炒作呢?

编辑:GPULIB似乎可能是我需要的.文档是基本的,python绑定只是顺便提一下,但我现在申请下载链接.任何人都有这方面的经验,或链接到类似的免费学术用途的GPU库?ReEdit:好的,python绑定实际上是不存在的.

编辑2:所以我想我最好的选择是用C/CUDA写一些东西并从python中调用它?

python cuda gpu

53
推荐指数
5
解决办法
7万
查看次数

什么时候调用cudaDeviceSynchronize?

什么时候cudaDeviceSynchronize真的需要调用这个函数?

据我从CUDA文档中了解,CUDA内核是异步的,因此我们应该cudaDeviceSynchronize在每次内核启动后调用它们.但是,cudaDeviceSynchronize在时间测量之前,除了一个之外,我尝试了相同的代码(训练神经网络).我发现我得到了相同的结果,但速度在7-12x之间(取决于矩阵大小).

所以,问题是是否有任何理由使用cudaDeviceSynchronize时间测量.

例如:

我应该放在cudaDeviceSynchronize两者之间吗?

从我的实验看来我没有.

为什么这么cudaDeviceSynchronize慢的程序呢?

cuda gpu gpgpu

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

是否可以在AMD GPU上运行CUDA?

我想将我的技能扩展到GPU计算.我熟悉光线跟踪和实时图形(OpenGL),但下一代图形和高性能计算似乎是在GPU计算或类似的东西.

我目前在家用电脑上使用AMD HD 7870显卡.我可以为此编写CUDA代码吗?(我的直觉不是,但是因为Nvidia发布了编译器二进制文件,我可能错了).

第二个更普遍的问题是,我从哪里开始GPU计算?我确定这是一个经常被问到的问题,但我看到的最好是从08'开始,我认为从那时起该领域发生了很大的变化.

cuda gpu gpgpu amd nvidia

52
推荐指数
6
解决办法
11万
查看次数

为什么抽奖电话很贵?

假设纹理,顶点和着色器数据已经在显卡上,您不需要向卡发送大量数据.有几个字节来识别数据,可能是一个4x4矩阵,以及一些其他各种参数.

那么所有的开销来自哪里?操作是否需要与gpu进行某种握手?

为什么发送包含一堆小模型的单个网格,在CPU上计算,通常比发送顶点id和转换矩阵更快?(第二个选项看起来应该发送更少的数据,除非模型小于4x4矩阵)

3d graphics optimization performance gpu

50
推荐指数
2
解决办法
4万
查看次数

标签 统计

gpu ×10

cuda ×6

gpgpu ×5

gpu-programming ×3

graphics ×2

nvidia ×2

3d ×1

amd ×1

cpu ×1

gnuplot ×1

haskell ×1

jacket ×1

matlab ×1

optimization ×1

performance ×1

plot ×1

python ×1