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, 9 December 2009

DirectCompute stuff!

Posted on 02:30 by Unknown
Some thoughts about Direct3D11 and DirectCompute:

1.Accessing it from .net:
If you want to use new Direct3D 11 features compute shader among them from a managed world (.net) you have only one option I'm aware of:
I think Managed DirectX has not been updated and not likely so.. now all managed efforts seems directed towards the XNA platform which by the way doesn't support Direct3D11(does it?)
Nor Windows API code pack samples include 11 support..
So right now the only option is to use SlimDX August 2009 SDK..

For OpenCL you have at least:
OpenTK..
OpenCL.net
http://www.hoopoe-cloud.com/Solutions/OpenCL.NET/Default.aspx

2.Code samples:
There are quite some codes of Compute Shader usage.
Currently the August 2009 SDK has these Compute samples:

1) Array A + Array B
2) BC6H BC7 encoding/decoding using CS 4.0
3) Bitonic sort using CS 4.0
4) NBody systems
5) Order Independent Transparency
6) Adaptive Tessellation using CS 4.0
7) HDR Tone Mapping

Nvidia DirectCompute samples part of GPU Computing SDK.. (includes perhaps the most complex code right now in Nvidia Ocean demo which includes a high perf FFT implementation as part of it, though remember you have csx library from Microsoft which is better for general usage..)
See video of it!

Also search web for:
NLM denoise CS in beyond3d forums

3.Tutorials
Of course be sure to read documentation in the SDK for theory and examples in that for practice :-)
Anyway you have at least:
http://openvidia.sourceforge.net/index.php/DirectCompute
more links of tutorial among them:
http://www.gamedev.net/community/forums/topic.asp?topic_id=516043
and also
Direct3D 11 Programming Tip #6: Compute Shader Addressing
In chronological order you have this conferences with some presentations:
Beyond programmable shading Siggraph course
Siggraph 2008
Siggraph Asia 2008
Siggraph 2009

GTCO9
DirectCompute (Pre-Conference Tutorial)
Length 90 min
View Streamed Recording
Download Video
Abstract

DirectCompute adds the new “Compute Shader” to its API, making possible GPU computing within the familiar programming environment. Compute shaders provide the programmer with greater flexibility and features such as thread cooperation, shared memory, and unordered data access. In this talk, we’ll introduce the DirectCompute API by way of building simple examples from the ground up to illustrate the new processing possibilities of DirectCompute.
Speaker: James Fung Developer Technology
SC09
I don't know if there is something in:
http://www.nvidia.com/sc09

PDC09
http://www.directx11tutorials.com/pdc-2009-talks
Blog with info about it:
http://blogs.microsoft.co.il/blogs/sasha/archive/2009/11/19/pdc-2009-day-3-directcompute-capturing-the-teraflop.aspx

4. D3DCSX:

Think of it as similar to CUDPP+CUFFT (is high perf lib with FFTs and some parallel primitives)

In order to use D3DCSX you'll need to include d3dcsx.h, link against d3dcsx.lib, and include d3dcsx_42.dll in your redist.

If you get d3dcsx.h compilation errors because the keyword __range cannot be recognized update the Windows SDK..
can be necessary if using the VS 2005 compiler.

5.
As much as I have done a recopilation of current bugs and issues in current OpenCL implementations I proceed to do the same for DirectCompute (all bugs I can find are compiler bugs so no AMD driver bugs?)..
The brief resume is:
For bugs, I've reported two and seen others on this forum: double precision inside dynamic loops always crashes the compiler, texture sampling instructions dropped entirely when cached into groupshared memory, requiring literals when indexing arrays inside structured buffers (but not broken for UAVs).
all can be found in
http://forums.xna.com/forums/t/41015.aspx
where advanced user also reports how hard is to get working state of the art CUDA kernels (radix sort,etc..)

Bug #1fxc not emitting texture load instruction
We recently found a bug where writing to multiple components when indexing within an element of a group shared array can result in those writes disappearing due to an internal error in the compiler. In order to work around it you can do this..
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)
      • GPU computing on AMD.. an history perspective!
      • Catalyst 9.12: hotfix (III)
      • Catalyst 9.12 Linux and Windows links and release ...
      • Source code of DirectCompute bechmark(OpenCL and D...
      • Catalyst 9.12 adds OpenGL 3.2 support (and more..)!
      • 16/12 news!
      • Catalyst 9.12 released
      • PS3 OpenCL work and AMD OpenCL ICD
      • Christmas Wish list (I): Monitors
      • 3d Stereoscopic players!
      • Today news!
      • What will I do if I have 3D Vision OpenGL QB
      • GLEW,GLUT,Freeglut, MesaGLUT and more
      • Nvidia 195 new drivers and Flash player beta 2!
      • Running ATI GPUs in Sisoft Sandra 2010!
      • Memcheck GPUs!
      • Emulate 3D kernel launch grid
      • things found in CUDA forums
      • Siggraph 2009 (Asia too..)!
      • Architecture ideas for future GPUs!
      • Dificulties in coding, achieving high perf an meas...
      • Learned from HPG09 stuff!
      • Nvidia driver 187.98 add new files!
      • What I would want to know and get from vendors par...
      • What I would want to know and get from vendors par...
      • Some news II (post #100!)
      • What I would want to know and get from vendors par...
      • physics on GPU: source code!
      • OpenCL with MingW! (and more)
      • Some news!
      • String matching on GPUs!
      • Lots of OpenCL soft coming!
      • 10 Raytracing GPU demos! (more or less)
      • New Nvidia tools and crossvendor GPU instrumentati...
      • About Catalyst 9.12 and 10.1!
      • CUDA 3.0 forums stuff!
      • Upcoming GPU tutorials!
      • News from the web! (9 December)
      • Compiling the CUDA compiler!
      • Understanding Nvidia GT200 GPU and CUDA implementa...
      • Open Source GPU Computing benchmarks
      • CUDA TopCoder contest stuff (with source code of t...
      • CUDPP news!
      • DirectCompute stuff!
      • Nvidia GPU computing news!
      • GPU Computing calendar for December 09 and January...
      • Nexus FAQ!
      • Nvidia Nexus beta1 GPU debugger shipped!
      • GPU virtualization (and what to expect in VMs)!
      • AMD OpenCL news! (almost all..)
      • News posted 2/12/2009! (megacompilation)
    • ►  November (53)
    • ►  October (21)
Powered by Blogger.

About Me

Unknown
View my complete profile