5 Replies Latest reply on Oct 10, 2012 2:24 AM by spectral

    barrier or write_mem_fence




      I have some doubts about the use of 'write_mem_fence' and 'barrier'.


      Here is my code :


      __local WorkItemData workItemData;
      const size_t lid     = get_local_id(0);
           if (lid < 1)
                workItemData.sky                         = sky;
                workItemData.lightsCount               = lightsCount;
                workItemData.emitters                    = emitters;
           //---- Sync : wait that 'workItemData' is fully initialized


      The goal is to insure that the variable 'workItemData is well initialized'. Can I use a write_mem_fence ? Will it be faster and more efficient ?


      Is there some other way to improve performance in this case, by example if I put more operation between the initialization and use, sometimes I don't need to synchronize (But it is dangerous) ! Maybe there are some other ways.