x**********d 发帖数: 693 | 1 2048x2048 grid.
Arrayfire(Visual Studio, cuda_x64) vs. Matlab(2015a) gpuarray
FFT2: Arrayfire比matlab只快大约2.5倍
矩阵乘法: Arrayfire比matlab慢10倍????
感觉不make sense啊.....
GPU配置如下
---------------------------------------------------------------
Platform: CUDA Toolkit 8, Driver: CUDA Driver Version: 8000
[0] GeForce GT 720, 1024 MB, CUDA Compute 3.5
MultiprocessorCount: 2
---------------------------------------------------------------
【Update】 应该是显卡和主板等综合原因。。另外一台笔记本上AF比Matlab有快出10-
20倍,但是矩阵乘法仍然比台机上跑matlab慢。。c... 阅读全帖 |
|
x**********d 发帖数: 693 | 2 哦好吧,谢谢推荐。。我就是觉得很奇怪matlab竟然比af, which is a c++ wrapper
of Cuda 还快。。就矩阵乘法而言,用我目前的显卡,matlab gpuarray比cpu快30-40
倍, af下gpu和cpu基本持平 [facepalm] |
|
p**********i 发帖数: 276 | 3 那你试试用cuda,直接调用cublas就可以了。看看速度有没有变化。
: 哦好吧,谢谢推荐。。我就是觉得很奇怪matlab竟然比af, which is a c
wrapper
: of Cuda 还快。。就矩阵乘法而言,用我目前的显卡,matlab gpuarray比cpu快
30-40
: 倍, af下gpu和cpu基本持平 [facepalm]
|
|
E***e 发帖数: 3430 | 4 【 以下文字转载自 GPGPU_HC 俱乐部 】
发信人: Echte (Liebe), 信区: GPGPU_HC
标 题: GTX 580在MATLAB上第一跑
发信站: BBS 未名空间站 (Mon Mar 3 20:48:27 2014, 美东)
3 asset (correlated) basket option (barrier)
3,000,000模拟路
2*252时间步
全双精度
用时31.850787秒
相对i-7-3770有5.3倍性能提升
感觉已经是相当不错
另外由于是basket
每个路径都涉及矩阵运算
所以没法写成elementwise的程序
估计至少丢了1/3的性能,比较遗憾
tic
R = gpuArray(3000000);
dt = gpuArray(1/252);
sqrtdt = sqrt(dt);
TTM = gpuArray(3);
T = gpuArray(TTM/dt);
N = gpuArray(3);
SLAG = gpuArray([100 100 100]');
SLAG = repmat(SLAG,[1 R]);
W = gpu... 阅读全帖 |
|
C*****5 发帖数: 8812 | 5 相信有些人已经注意到了。
之前NVDA的GPU之所以独占DL是因为所有的主流Library只支持NVDA的Cuda,但是最近发现
Theano(几大主流库之一)已经预告未来他们将支持GPUArray。GPUArray其实是在
Cuda和AMD的OpenCL之上的一个库,通过GPUArray可以让DL程序同时支持Cuda和OpenCL
。相信其他主流库也会跟进。
此消彼长,这对AMD是好消息,对NVDA是坏消息,所以我会继续保持全仓持有NVDAMD,
但是会调整持股比例。适度加大AMD仓位。 |
|
s******e 发帖数: 2181 | 6 首先我有一些基本的问题想请教大拿,Nvidia的手册里找不到答案,sample code太简
单也太少。
1,多GPU并行的情况下,我要从GPU0拷贝数据到GPU1,使用cudaMemcpy()必须要在当
前选中的GPU1下执行么?还是0和1都可以?
2,我使用了SPMD并行模式,每一个计算机核下挂了一个GPU,照理来说数据都是独立的
,各个GPU内的同名变量其实数据不同且相互不可见,但如果是在unified address
space下呢,这些相同变量名的变量相互冲突吗?
我在matlab环境下用mexfunction编写的cuda,主程序是一个matlab program是一个
SPMD结构,SPMD结构里面调用mexfunction来实现GPU0内的数据传给GPU1,GPU1内的数
据传给GPU2。请高手指点哪里出了问题。MathWorks的技术客服远程登陆到我电脑上
debug两个小时没能解决问题。
spmd(3)
if labindex==1
A=gpuArray(zeros*(1));
elseif labindex==2
... 阅读全帖 |
|
e***e 发帖数: 3872 | 7 gpuArray支持混合精度:
S=exp(...); % all single operands. dunno if preallocation of S would help
SLAG=SLAG.*double(S);
Basket=W*SLAG;
... % HiBarrier: int32
当然如果单步迭代的误差需要在exp(10^-7)以下,never mind |
|
|
x**********d 发帖数: 693 | 9 就一般卡吧,3年前的dell desktop默认配的。难道是因为MultiprocessorCount太少了
,优越性体现不出来吗? |
|
|
x**********d 发帖数: 693 | 11 ...这对计算影响大吗? I mean 同一个卡跑af和matlab... |
|
t*******e 发帖数: 1633 | 12 这种超低端卡跑的快慢意义都不大,真有需要就买个好显卡,为了这种低端卡改程序根
本犯不上,锁男的时间也是钱 |
|
p**********i 发帖数: 276 | 13 卡太低端,显存太小,流处理器才两个,可能限制发挥了吧。 |
|
x**********d 发帖数: 693 | 14 本来用处也不是很大,但是最近写一个程序,一帧要跑1个多小时,调试起来太麻烦。
。。所以想上gpu,lab有workstation,但是我不太熟悉C++在linux上编程,想在自己
电脑上先试试,如果效果一般就算了。。PC有什么推荐的显卡吗? |
|
x**********d 发帖数: 693 | 15 有没有什么推荐的显卡呢?目前比较流行的都是几个处理器呢?我刚看我去年新买的笔
记本配的是GeForce GTX 960M,也只有5个MultiprocessorCount。。 |
|
F***Q 发帖数: 6599 | 16
a low-end GPU can easily be slower than a capable CPU. if you are low in
budget, a 1050Ti is a minimum for running anything meaningful. 980Ti and
1080 are selling around $300-$400, they are the bang for the buck ($ per
core).
apparently, the newer the generation, the more SMs, the better. |
|