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, 21 October 2009

A CAL wrapper for getting AMD IL from OpenCL AMD GPU backend!

Posted on 18:09 by Unknown
I have implemented a wrapper around calclCompile primarly for getting AMD IL code as is gets generated by the OpenCL AMD GPU backend.
It prints these AMD IL code onto the stderr stream as well as AMD device assembly (using calclLink and calclDisassembleImage).
This is a temporary measure to get the AMD IL generated by OpenCL AMD GPU backend as of now is not possible to use in AMD OpenCL backend the facilities for getting
built device binaries offered by OpenCL. Also at the moment is not possible to use this device binaries to skip compiling the kernels on AMD backend, but this limitation could possibly be removed by using this wrapper jointly by with a similar and special made OpenCL wrapper. I will code one is some people send requests in my blog.

Note that assuming in future using AMD OpenCL backend you can get AMD IL code, then you can get assembly code running AMD SKA, assuming SKA gets updated or using caclLink in your code, but if AMD OpenCL binaries return assembly code there will not be an easy way of obtainig AMD IL code without my tool or another CAL wrapper.

The wrapper is named calclwrapper.dll or calclwrapper.so and you have to insert into the executable you want to get the AMD IL code from.
This wrapper should work with CAL executables and OpenCL executables using an OpenCL AMD GPU device.

You have a different method for every platform for loading the wrapper library:

* On Windows use the executable withdll.exe from Microsoft Detours library to force "insert a .dll" into the process.

* On Linux you can use the LD_PRELOAD env variable to force the load of a library by an executable.

I provide the source code for Windows & Linux as well as the wrapper library an example scripts to use it.
Currenlty it supports only Windows 32 bits. Also Linux library is tested on 32 bit platforms altough building it should be ok on Linux 64 bits.
Note it's currently impossible to use in the AMD GPU backend of Snow Leopard as this it isn't currently using (and possibly never?) CAL independent libraries/frameworks.

I have tested on Windows 7 x64 and Ubuntu 9.04 x32 on ATI 5850 using ATI 9.11 beta drivers.

Get it!
Email ThisBlogThis!Share to XShare to FacebookShare to Pinterest
Posted in | No comments
Newer 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)
    • ▼  October (21)
      • IBM OpenCL support!
      • Whises for OpenCL 1.1 and more!
      • 3D Vision and Direct3D 11
      • H264 harware decoding/ encoding GPUs
      • Interop GPU computing graphics apis stuff
      • 3D vision good stuff
      • Getting PTX, AMD_IL from languages:
      • Updated CUBLAS before CUDA 3.0
      • ATI and Nvidia extensions for DX11 and 10.1 ARBs
      • OpenGL 5870 extensions
      • Nvidia 195
      • News from the web!
      • Mem export in OpenCL
      • Double precision support in GPU computing APIs and...
      • Support 3d image write on CUDA and with OpenCL wra...
      • About OpenCL OpenGL interop..
      • Improved OpenCL-Z!
      • About binary compatiblity on OpenCL..
      • AMD IL backend for LLVM and getting AMD IL in MacOS?
      • Building OpenCL kernels from AMD IL code or device...
      • A CAL wrapper for getting AMD IL from OpenCL AMD G...
Powered by Blogger.

About Me

Unknown
View my complete profile