AuroraPerego / pixeltrack-standalone

Standalone Patatrack pixel tracking
Apache License 2.0
0 stars 0 forks source link

Data race detected by the Intel inspector when creating a new queue #3

Open AuroraPerego opened 1 year ago

AuroraPerego commented 1 year ago

To reproduce it:

git clone -b dev_intel git@github.com:AuroraPerego/pixeltrack-standalone.git
cd pixeltrack-standalone/
# in the Makefile change the ONEAPI_BASE to ours (line 134)
make environment
. env.sh
make -j `nproc` sycl

Run the inspector with: /cvmfs/projects.cern.ch/intelsw/oneAPI/linux/x86_64/2022/inspector/latest/bin64/inspxe-cl --collect ti3 -- ./sycl --device cpu --maxEvents 2 --numberOfThreads 2

To obtain the output run: inpsxe-cl --report observations --result-dir r000ti3/ The output is:

/data/aperego/pixeltrack-standalone/src/sycl/SYCLCore/ScopedContext.cc(26): Error X1: P1: Data race: Write: Function cms::sycltools::impl::ScopedContextBase::ScopedContextBase(int): Module /data/aperego/pixeltrack-standalone/lib/sycl/libSYCLCore.so
  /data/aperego/pixeltrack-standalone/src/sycl/SYCLCore/ScopedContext.cc(26): Error X2: P1: Data race: Write: Function cms::sycltools::impl::ScopedContextBase::ScopedContextBase(int): Module /data/aperego/pixeltrack-standalone/lib/sycl/libSYCLCore.so

and the line 26 is the constructor of the queue. Note that the program runs on CPU with correct results even with more than one thread