4 Replies Latest reply on Oct 7, 2010 10:17 PM by MicahVillmow

    How to bind a uav arena in Catalyst 10.9



      I just updated my Catalyst driver to version 10.9 and I am having problems with:

      calModuleGetName(&uav1Name, context, module, "uav1")

      which is declare as 'dcl_arena_uav_id(1)' in the module. Did something change between Catalyst 10.4 and 10.9 in the way to bind a uav arena?

      Thank you.

        • How to bind a uav arena in Catalyst 10.9

          Only one arena UAV is supported, and for some reason AMD always calls that one uav8, no matter what ID you give it in IL.


          • How to bind a uav arena in Catalyst 10.9
            Roddomi, there has been a major change in how Arena UAV's are used in SDK 2.2. There are now 1024 arena UAV id's that are supported, however, they are virtual UAV id's used to let the compiler know different memory segments. They all alias to the same hardware UAV's(8-10) which support dword, short and byte access respectively. However, UAV's 9 and 10 are setup for you when you bind UAV 8, so you only need to bind UAV 8. So for example you have a kernel with 3 different pointers, you can create 3 arena UAV's in the IL. However, they all must point to the same memory resource, but different offsets, 256 byte aligned, within that memory resource. What his allows the compiler to do is to optimize the different segments of memory differently. So if segment 1 uses bytes and dwords, segment 2 uses dwords, then segment 1 memory access will utilize the complete path and segment 2 access will use the fast path.

            I know our documentation here is lacking, will look into improving it for the upcoming release.
            • How to bind a uav arena in Catalyst 10.9
              That is correct.