[Openmp-commits] [PATCH] D62393: [OPENMP][NVPTX]Mark parallel level counter as volatile.

Johannes Doerfert via Phabricator via Openmp-commits openmp-commits at lists.llvm.org
Fri Jun 14 10:20:07 PDT 2019


jdoerfert added a comment.

In D62393#1542731 <https://reviews.llvm.org/D62393#1542731>, @ABataev wrote:

> In D62393#1542638 <https://reviews.llvm.org/D62393#1542638>, @jdoerfert wrote:
>
> > In D62393#1542513 <https://reviews.llvm.org/D62393#1542513>, @ABataev wrote:
> >
> > > In D62393#1542471 <https://reviews.llvm.org/D62393#1542471>, @jdoerfert wrote:
> > >
> > > > I want to investigate the racy accesses further and make sure it is not a miscompile inside LLVM.
> > >
> > >
> > > This is not a problem inside LLVM. The problem  appears after optimizations performed by the ptxas tool (when it compiles PTX to SASS) at O3 <https://reviews.llvm.org/owners/package/3/> with the inlined runtime.
> > >
> > > > I extracted the test case (see below) but I was not seeing the `ERROR`. How did you run the test case to see a different value for `Count`?
> > >
> > > You need to compile it with the inlined runtime at O2 <https://reviews.llvm.org/owners/package/2/> or O3 <https://reviews.llvm.org/owners/package/3/>.
> >
> >
> > When I run 
> >  `./bin/clang -fopenmp-targets=nvptx64-nvida-cuda -O3 -fopenmp --cuda-path=/soft/compilers/cuda/cuda-9.1.85  -Xopenmp-target -march=sm_70  -fopenmp=libomp  test.c -o test.ll -emit-llvm -S`
> >  I get
> >
> >   https://gist.github.com/jdoerfert/4376a251d98171326d625f2fb67b5259
> >
> > which shows the inlined and optimized libomptarget.
> >
> > > And you need the latest version of the libomptarget
> >
> > My version is from today Jun 13 15:24:11 2019, git: 3bc6e2a7aa3853b06045c42e81af094647c48676 <https://reviews.llvm.org/rG3bc6e2a7aa3853b06045c42e81af094647c48676>
>
>
> We have problems in Cuda 8, at least, for arch sm_35


I couldn't get that version to run properly so I asked someone who had a system set up. 
Unfortunately, the test.c [1] did not trigger the problem. In test.c we run the new test part in `spmd_parallel_regions.cpp` 1000 times and check the result each time.
It was run with Cuda 8.0 for sm_35, sm_37, and sm_70.

Could you share more information on how the system has to look to trigger the problem?
Could you take a look at the test case we run and make sure it triggers the problem on your end?

[1] https://gist.github.com/jdoerfert/d2b18ca8bb5c3443cc1d26b23236866f


Repository:
  rOMP OpenMP

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D62393/new/

https://reviews.llvm.org/D62393





More information about the Openmp-commits mailing list