GPU computing Stay up to date in OpenCL, DirectCompute, CUDA, CAL and OpenGL information

  • Subscribe to our RSS feed.
  • Twitter
  • StumbleUpon
  • Reddit
  • Facebook
  • Digg

Wednesday, 25 November 2009

Benchmarking stientific kernels on OpenCL!

Posted on 11:10 by Unknown
I hope you're interested in measuring OpenCL perf.!
I expect to have some updates on my blog that would concern your interest!
Here is things I plan to do this coming weeks:
In case you're interested in measuring OpenCL perf on key scientific kernels I will try to test:

*Peak flops: What perf I'm able to get by using a kernel of mads (multiply and add) in integers, floats, double's and integer with 24 bits of precision..
*Dense linear algebra:BLAS code (matmul for example): linear algebra perf... Linpack uses BLAS calls..
*FFT code (fast fourier transforms): Useful in image processing/ compression and scientific simulations
*Sparse linear algebra: sparse matrix vector product
*Multiprecision int: cryptography

I'm posting soon (hope this week or next) benchmarking code for getting FFT (basically a port for Windows of Apple FFT library .. http://developer.apple.com/mac/library/samplecode/OpenCL_FFT/index.html) and exploitable gflops peaks (in single, integer, integer24 and double operations)..
Also perhaps this month some integer multiprecision perf and sparse matrix perf (conjugate gradients)..
Also may concern you I have posted already some old (but still interesting) benchmark of a very high efficient code for testing matmul perf. (in CAL, CUDA, and multicore SSE)
http://oscarbg.blogspot.com/2009/11/matmul-bench-for-cuda-cal-and-multicore.html
This tool is of much interest now note that matmul perf. of Larrabe was unveiled at SC09 by Rattner a week ago to be near 800Gflops using my tool on 5850 i get nearly 750Gflops..
Nvidia GTX 275 only 400-450Gflops (Fermi will double that I hope).. so seems all GPUs are currently similar in matmul perf..
Currently matmul perf on OpenCL seems to be low (at least 2x slower..) .. but that can be to currently avaiable OpenCL code in SDKs not optimized for either Nvidia and AMD..
I will try to get an efficient port at least for Nvidia before end of the year.. Hopefully also efficient for CPUs and AMD GPUs..
Sparse matrix multiply of Larrabee also was unveiled to be 8Gflops..
Note but that specific sparse matrix format was not unveilled (that can have an impact in perf.).. see current most efficient implementation on Nvidia GPUs (CUDA based) http://www.nvidia.com/object/nvidia_research_pub_013.html
the code is here:
http://cusp-library.googlecode.com/files/sc2009_spmv.zip
I will try to get binaries for Windows testing..
Currently you can test a efficient code in CUDA of this kernel using "Concurrent Number Cruncher" from Inria.. well it won't work because of compiled in CUDA 1.0 and doesn't work (altough CUDA seems to be binary compatible in last releases and it's meant to be it seems that binaries compiled for CUDA 1.0 aren't) so you have to recompile with
new CUDA libs.. I have these new binaries I can supply you with..
I'm getting between 3-5Gflops but note these kernels are bandwith bound no computation bound, so it really depend of memory bandwith and perhaps of memory perf..
so Fermi with cached global mem will get possibly more than 2X increase.. http://www.nvidia.com/content/PDF/fermi_white_papers/NVIDIA_Fermi_Compute_Architecture_Whitepaper.pdf
OpenCL limited BLAS and conjugate gradient seems seems to be avaiable from:
http://sourceforge.net/projects/openclblas/
I have to test tough I remember seeing in a blog that this is Nvidia optimized..
Regarding OpenCL integer multiprecision you have an excellent tutorial with code snippets here:
http://www.bealto.com/mp-gpu.html
Note he benches also arithmetic kernel and mem perf. with latest 195 drivers.. (Nvidia only)

Later I will try to compile OpenMM 1.0beta with OpenCL support and bench it.. (moluecular code kernel of Folding@Home)
Note the binaries provided are CUDA capable only.. https://simtk.org/home/openmm

Note I'm providing with the latest things I'm aware of..
Email ThisBlogThis!Share to XShare to FacebookShare to Pinterest
Posted in | No comments
Newer Post Older Post Home

0 comments:

Post a Comment

Subscribe to: Post Comments (Atom)

Popular Posts

  • Porting CUDA to OpenCL!
    Well so you want to port CUDA code to OpenCL: you are in AMD GPU competition of porting Cuda codes to opencl (see previous post) or you are ...
  • Megapost!
    Today fools{ *GTX 485 is 512 cores 3gbytes gddr5 and 850/1750 shaders.. *ati 5990 has 4 gpus in board.. *bulldozer benchmarks }end fools.. A...
  • About ATI and Nvidia drivers (OCL included)!
    Hi I have been investigating AMD and Nvidia drivers.. for 10.3 there are 3d hooks support for 120hz monitors but is d3d9 d3d10 or d3d11 enab...
  • things found in CUDA forums
    Also some CUDA news: Mandelbulb stereo angalyph -> have to port to 3D Vision http://forums.nvidia.com/index.php?showtopic=150985&st=2...
  • opencl/opengl linux interop! seen in opencl cuda 3.0 sdk samples
    Following my OpenCL/OpenGL Window interop work: now has come to Linux  for Nvidia GPU computing registered developers via 195.17 driver! Als...
  • State of the blog..
    Sorry for the delay guys of posting code of Apple OpenCL demos port.. the blog has been with no updated for more than 2 weeks in this rapid ...
  • Optix and OpenCL SDKs with Visual Studio 2010
    Optix 1.0 ========= install cg download Cmake 2.80 cmake says error dumpbin not found and it is cuda doesn't work with vc2010 so copy pt...
  • CUDA 3.0 forums stuff!
    1.Getting CUBIN instead of ELF If you need the older text format, you can disable ELF cubins in nvcc.profile by changing "CUBINS_ARE_EL...
  • News from the web!
    Some things learned in AMD forums: 1.Why 3xxx no OpenCL: Compute shader mode is a hardware feature that did not exist in the HD38XX line of ...
  • Shaders: measuring perf, source translation and parsing different languages!
    Hi, I hope to be pretty exhaustive of options for parsing and translating between graphics and compute shaders ( some open source) For DX sh...

Blog Archive

  • ►  2013 (5)
    • ►  September (1)
    • ►  March (3)
    • ►  February (1)
  • ►  2012 (1)
    • ►  December (1)
  • ►  2010 (46)
    • ►  July (4)
    • ►  May (1)
    • ►  April (3)
    • ►  March (9)
    • ►  February (15)
    • ►  January (14)
  • ▼  2009 (125)
    • ►  December (51)
    • ▼  November (53)
      • Two big games coming today: State of the art Direc...
      • News from the web (IV) (big compilation)
      • Wishes in GPU drivers before Q2 2009!
      • CUDA Atomics perf!
      • GPU Compute benchmark results!
      • Interesting AMD Stream forums posts! (old posts)
      • Testing my apps with 8600GTS and WinXP!
      • A lot of Catalyst AMD drivers!
      • News from the web III
      • News from the web II (big compilation)
      • News from OpenCL forums!
      • Bugs in OpenGL AMD drivers: Geometry shader and te...
      • Testing LDS perf in OpenCL!
      • OpenCL bugs!
      • Benchmarking OpenCL and DirectCompute!
      • Benchmarking stientific kernels on OpenCL!
      • News from the web!
      • OpenCL learning and tutorials!
      • Porting CUDA to OpenCL!
      • GPU computing programming contests..
      • AMD 5xxx series overclocking..
      • OpenCL on Apple: update!
      • State of the blog..
      • Places where OpenCL shines!
      • Running Optix with Geforce in Linux
      • New exciting soft and info coming this year!
      • Matmul bench for CUDA, CAL, and MultiCore CPUs!
      • More than 10 places where DX Compute 5.0 is better...
      • CUDA 3.0 has CUBLAS functions for MAGMA with compl...
      • About IBM OpenCL
      • OpenGL interop perf in CUDA and OCL in Linux
      • Fraps like for Linux and for Windows DX11!
      • opencl/opengl linux interop! seen in opencl cuda 3...
      • AMD OpenCl forums (I)
      • About CUDA 3.0 (II)
      • About CUDA 3.0 (I)
      • CAL 2.0 vs 1.4 API
      • Naive OpenCL benchmarks..
      • Managing AMD OpenCL GPU devices and OpenCL backend...
      • About Xvba VAAPI backend..
      • CUDA 3.0 released
      • About Khronos ICD model..
      • Exploring Nvidia OpenCL 195.39 drivers:Bugs , perf...
      • Nvidia OpenCL samples with AMD OpenCL drivers!
      • Nvidia OpenCL samples on Nvidia 195 OpenCL drivers!!
      • AMD OpenCL samples on Nvidia 195 OpenCL drivers!!
      • Optix and OpenCL SDKs with Visual Studio 2010
      • OpenCL on AMD GPUs!
      • Dreaming about Ubuntu 10.04
      • News from the web!
      • OpenCL-z is here!
      • Port of Apple demos to Windows..
      • Shared memory names..
    • ►  October (21)
Powered by Blogger.

About Me

Unknown
View my complete profile