[LLVMdev] [RFC][PATCH][OPENCL] synchronization scopes redux

Owen Anderson resistor at mac.com
Wed Jan 7 08:38:35 PST 2015


> On Jan 6, 2015, at 2:31 AM, Sahasrabuddhe, Sameer <Sameer.Sahasrabuddhe at amd.com> wrote:
> 
>> I probably *should* be in a position to be very interested in such a concept.... but honestly, I'm not. If I ever wanted to do something like this, I would just define the large-scale HPC system as the "system" and a single machine/node as some "local" scope.
> 
> I agree. The most accurate description of the highest scope is "address space scope", i.e., all threads that can access the address space being accessed. From that view, it does not matter if the threads are local, remote or situated on different devices, or such. It makes sense to not specify any keyword for this scope, and just say that "synchscope(0)" is default and need not be specified. Any other scope is an explicit optimization over a narrower set of threads.

I want to point out that “address space” is *not* sufficient for the highest scope.  It’s entirely possible to have a host and and an accelerator that do not have shared address spaces, but do need to communicate, particularly in job management code where the accelerator talks directly to the host-side driver.

—Owen
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150107/741e68df/attachment.html>


More information about the llvm-dev mailing list