相关疑难解决方法(0)

OpenCL或CUDA调用的开销?

我正在编写一个执行大量BLAS gemv操作的函数.

我希望能够在GPU上做到这一点,我尝试过使用cuBlas.

我的问题是我的矩阵和向量相当小,100x100矩阵和100向量.与CPU相比,CuBlas需要更长的时间,我知道为什么,cpu上的快速缓存和执行GPU调用的大量开销.

因此,我试图找出一种智能的方法来测量将呼叫通信到GPU所需的时间.

这是CUDA设置调用并将其发送到图形处理器所需的时间 - 不计算实际进行矩阵向量乘法所需的时间.

我该怎么做呢?

c++ cuda gpgpu timing opencl

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

为什么Windows上的FFTW比Linux更快?

我使用fftw库(fftw3.a,fftw3.lib)在Linux和Windows中编写了两个相同的程序,并计算fftwf_execute(m_wfpFFTplan)语句的持续时间(16-fft).

10000次运行:

  • 在Linux上:平均时间是0.9
  • 在Windows上:平均时间为0.12

我很困惑为什么在Windows上这比在Linux上快9倍.

处理器:Intel(R)Core(TM)i7 CPU 870 @ 2.93GHz

每个操作系统(Windows XP 32位和Linux OpenSUSE 11.4 32位)都安装在同一台计算机上.

我从互联网上下载了fftw.lib(适用于Windows)并且不知道配置.一旦我使用此配置构建FFTW:

/configure --enable-float  --enable-threads --with-combined-threads  --disable-fortran  --with-slow-timer  --enable-sse  --enable-sse2  --enable-avx   
Run Code Online (Sandbox Code Playgroud)

在Linux中,它产生的lib比默认配置(0.4 ms)快四倍.

linux windows performance fft fftw

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

标签 统计

c++ ×1

cuda ×1

fft ×1

fftw ×1

gpgpu ×1

linux ×1

opencl ×1

performance ×1

timing ×1

windows ×1