[cfe-dev] openmp 4.5 and cuda streams

Finkel, Hal J. via cfe-dev cfe-dev at lists.llvm.org
Wed Oct 30 12:22:26 PDT 2019


On 10/30/19 1:48 PM, GMail wrote:
>
> I don't think it will be very easy. It requires some additional work 
> in libomptarget + some fixes in the clang itself. Otherwise there 
> might be some race conditions.
>

Can you be more specific? I thought that the mapping table, etc. were 
already appropriately protected.

As a general thought, we should probably have a mode in which the 
runtime is compiled with ThreadSanitizer to check for these kinds of things.

Thanks again,

Hal


> -------------
> Best regards,
> Alexey Bataev
> 30.10.2019 2:40 PM, Finkel, Hal J. via cfe-dev пишет:
>> [+Ye, Johannes]
>>
>> I recall that we've also observed this behavior. Ye, Johannes, we had a
>> work-around and a patch, correct?
>>
>>    -Hal
>>
>> On 10/30/19 12:28 PM, Alessandro Gabbana via cfe-dev wrote:
>>> Dear All,
>>>
>>> I'm using clang 9.0.0 to compile a code which offloads sections of a
>>> code on a GPU using the openmp target construct.
>>> I also use the nowait clause to overlap the execution of certain
>>> kernels and/or host<->device memory transfers.
>>> However, using the nvidia profiler I've noticed that when I compile
>>> the code with clang only one cuda stream is active,
>>> and therefore the execution gets serialized. On the other hand, when
>>> compiling with XLC I see that kernels are executed
>>> on different streams. I could not understand if this is the expected
>>> behavior (e.g. the nowait clause is currently not supported),
>>> or if I'm missing something. I'm using a NVIDIA Tesla P100 GPU and
>>> compiling with the following options:
>>>
>>> -target x86_64-pc-linux-gnu -fopenmp
>>> -fopenmp-targets=nvptx64-nvidia-cuda
>>> -Xopenmp-target=nvptx64-nvidia-cuda -march=sm_60
>>>
>>> best wishes
>>>
>>> Alessandro
>>>
>>> _______________________________________________
>>> cfe-dev mailing list
>>> cfe-dev at lists.llvm.org
>>> https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev

-- 
Hal Finkel
Lead, Compiler Technology and Programming Languages
Leadership Computing Facility
Argonne National Laboratory



More information about the cfe-dev mailing list