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

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

Friday, 6 November 2009

Managing AMD OpenCL GPU devices and OpenCL backends in Linux..

Posted on 23:01 by Unknown
I have learn some things the hardway:

First using my  OpenCL-z for Linux I could really get 1 AMD GPU.
The problem lays in OpenCL backend wich in turn lies in CAL beckend..

This has all the bad and good things the CAL backend..
The worst is that is requires to have a X session for each device (well at least for 1 device this is how it is).. so you can't get working in console mode as with CUDA..
In CUDA and also OpenCL adding NVidia propietray kernel module and loading it and creating some /dev/nvidia things all works..

This way the only way to test ATI and Nvidia OpenCL implementations is to have Nvidia in this way..

FindNumDevices returns 1 device..
so I searched in the web and found  solution(assuming yo configured your xorg.conf to use all adapters:
aticonfig --initial --adapter=all)
I don't know if its required to have actually physically connected a screen in each device.. at least after configuring with two screens connected..


The trick is to use:
export DISPLAY=:0

Also I have tested and you can enable 1 device:

export DISPLAY=:0.0
export DISPLAY=:0.1
This for example allows AMD OpenCL examples using -device gpu to use realiably an specified GPU..
I use this to test:
CPU
./MatrixMultiplication --device cpu -x 2048 -y 2048 -z 2048 -t -q
GPU 0
export DISPLAY=:0.0
./MatrixMultiplication --device gpu -x 2048 -y 2048 -z 2048 -t -q
GPU1
export DISPLAY=:0.1
./MatrixMultiplication --device gpu -x 2048 -y 2048 -z 2048 -t -q


Now the second part with is of use to benchmark both OpenCL AMD and Nvidia drivers..
AMD needs
export ATISTREAMSDKROOT=..
export LD_LIBRARY_PATH=$ATISTREAMSDKROOT/lib/x86_64:$ATISTREAMSDKROOT/lib/x86:$LD_LIBRARY_PATH
stuff



For AMD tests not showing the name of GPU can be prone to error assuming a implementation is getting used..
the solution is to use ldd and see what library is getting used..
the bad thing is that while no ICD gets and Nvidia gets installed in /usr/lib this gets first in almost cases..
one way to fix that in Linux is to use:
export LD_PRELOAD=../ati-stream-sdk-v2.0-beta4-lnx32/lib/x86/libOpenCL.so
well not that isn't working I have to report in AMD forums..
I think Nvidia works LD_PRELOAD..
so the correct way is  setting first ati path:
export LD_LIBRARY_PATH=$ATISTREAMSDKROOT/lib/x86_64:$ATISTREAMSDKROOT/lib/x86:$LD_LIBRARY_PATH


 More aggressive way is renaming so only finds what is wanted
sudo mv /usr/lib/libOpenCL.so /usr/lib/libOpenCLn.so
testing with Nvidia
and then
sudo mv /usr/lib/libOpenCLn.so /usr/lib/libOpenCL.so
similar for ATI

See more of this followup test of a simple OpenCL benchmark tested with
this things..
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