Results 1 to 2 of 2

Thread: ATI and NVIDIA from OpenCL perspective

  1. #1
    Junior Member
    Join Date
    Jun 2010
    Posts
    11

    ATI and NVIDIA from OpenCL perspective

    Hi,
    I have some experience in NV CUDA and recently switched to OpenCL. So far I always targeted Nvidia architecture and optimized my kernels accordingly: coalesced memory access, no divergent branches inside warps, avoiding shared (or local in OpenCL terminology) memory bank conflits etc.

    Now I would like to write OpenCL kernels in such way to achieve optimal performance on both NVIDIA's and ATI's architectures - is it even possible?
    I don't know ATI architecture, ATI Stream, never used it. Is it similar to NVIDIA? Does both require from programmer the same optimization techniques? What are the main differences?
    Thank You!

  2. #2
    Member
    Join Date
    Nov 2009
    Location
    Scotland
    Posts
    72

    Re: ATI and NVIDIA from OpenCL perspective

    I think in many respects the architectures are similar. Both, ATI Stream and NVIDIA CUDA are SIMD architectures, i.e. divergent branches are expensive. Also memory coalescing is important on both architectures.

    The major difference is probably that ATI is vector-based, whereas CUDA is scalar-based. So to get the best performance on an ATI GPU, you want to vectorize your code.

    In terms of local memory, they're pretty much the same. Although the trade-offs (e.g. when is it worth loading data to local memory) might be different...

    There's an OpenCL programming guide for ATI GPUs which explains things in more detail.

    In general I'd say that it's not possible to write a kernel that achieves the optimal performance on both architectures. However, it may still be possible to get good performance on both architectures with the same kernel...

Similar Threads

  1. Replies: 1
    Last Post: 12-13-2012, 03:13 AM
  2. NVIDIA + ATI hardware in the same Computer
    By cknopp in forum OpenCL
    Replies: 8
    Last Post: 03-17-2010, 03:00 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •