Thursday, February 4, 2010

CUDA vs OpenCL vs DirectCompute Part II

Interop between compute and graphical API is very important thing. We can render generated geometry directly on GPU without additional data copy through system memory. For example in cloth simulation we can do physics and calculate tangent space entirely on GPU.

There are some tests of interop and compute API performance:

GTX260 OpenGL + CUDA (Windows7 128 FPS)


GTX260 OpenGL + CUDA (Linux 143 FPS)


GTX260 OpenGL + OpenCL (Windows7 151 FPS)


GTX260 OpenGL + OpenCL (Windows7 167 FPS)


GTX260 Direct3D11 (Windows7 100 FPS)


HD5850 Direct3D11 (Windows7 214 FPS)


Same GPU shows 50% difference in performance across different API. That is nightmare.

6 comments:

  1. frustum it is possible to compare tha OpenGL + OpenCL/CUDA using a Linux? By using Unigine OpenGL benchmarks in my WindowXP and in my Linux shows that OpenGL in linux is about 50% faster than in windows...

    ReplyDelete
  2. There are no 50% difference in performance between Windows7 and Linux. It's approximately 10%

    ReplyDelete
  3. Pick your poison. Optimizing for the proprietary CUDA or sticking to Open Standards like OpenCL and Microsofts DX11/DC.

    Wisdom calls for the later, Apple and Microsoft would be happy.

    ReplyDelete
  4. DX11 is an open standard ???

    grimpr go back to school ;P

    ReplyDelete
  5. You compare GTX260 with OpenGL + OpenCL and Windows7 twice. Is this an error or did you mean linux the 2nd time ?

    ReplyDelete
    Replies
    1. The one faster(167 frames) is actually Linux. Look at the screenshot. An error.

      Delete