Skip to content

[SYCL] Enable native FP atomics by default #3869

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Jun 23, 2021

Conversation

AGindinson
Copy link
Contributor

@AGindinson AGindinson commented Jun 2, 2021

Since Intel GPU and CPU support the target, pass the required
macro by default during device FE compilation for SPIR non-FPGA
targets. This alleviates the users of the native FP atomic
functionality from passing the macro explicitly.

Tested in intel/llvm-test-suite#308.

Since Intel GPU and CPU support the target, pass the required
macro by default during device FE compilation for SPIR non-FPGA
targets. This alleviates the users of the native FP atomic
functionality from passing the macro explicitly.

Signed-off-by: Artem Gindinson <artem.gindinson@intel.com>
Pennycook
Pennycook previously approved these changes Jun 9, 2021
dm-vodopyanov
dm-vodopyanov previously approved these changes Jun 10, 2021
Copy link
Contributor

@dm-vodopyanov dm-vodopyanov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sycl/test LGTM. Can you please fix "Jenkins/Precommit"?

@AGindinson
Copy link
Contributor Author

AGindinson commented Jun 21, 2021

@dm-vodopyanov Done; an uplift of CPU RT version had been the only thing required. @mdtoguchi, could you please review now that CI is fine?

Signed-off-by: Artem Gindinson <artem.gindinson@intel.com>
@AaronBallman
Copy link
Contributor

I have no idea if the Jenkins failures are related to this patch or not. There's basically no useful information in this failure that I can find:

[2021-06-22T11:18:10.741Z] ******************** TEST 'SYCL :: Reduction/reduction_nd_s1_dw.cpp' FAILED ********************
[2021-06-22T11:18:10.741Z] Script:
[2021-06-22T11:18:10.741Z] --
[2021-06-22T11:18:10.741Z] : 'RUN: at line 1';    /netbatch/donb83696_00/runDir/jenkins-dir/workspace/SYCL_CI/intel/Lin/LLVM_Test_Suite/llvm.obj/bin/clang++     -fsycl -fsycl-targets=spir64-unknown-unknown-sycldevice /netbatch/donb83696_00/runDir/jenkins-dir/workspace/SYCL_CI/intel/Lin/LLVM_Test_Suite/llvm-test-suite/SYCL/Reduction/reduction_nd_s1_dw.cpp -o /netbatch/donb83696_00/runDir/jenkins-dir/workspace/SYCL_CI/intel/Lin/LLVM_Test_Suite/build/SYCL/Reduction/Output/reduction_nd_s1_dw.cpp.tmp.out
[2021-06-22T11:18:10.741Z] : 'RUN: at line 3';   true /netbatch/donb83696_00/runDir/jenkins-dir/workspace/SYCL_CI/intel/Lin/LLVM_Test_Suite/build/SYCL/Reduction/Output/reduction_nd_s1_dw.cpp.tmp.out
[2021-06-22T11:18:10.741Z] : 'RUN: at line 4';    env SYCL_DEVICE_FILTER=level_zero:gpu,host  /netbatch/donb83696_00/runDir/jenkins-dir/workspace/SYCL_CI/intel/Lin/LLVM_Test_Suite/build/SYCL/Reduction/Output/reduction_nd_s1_dw.cpp.tmp.out
[2021-06-22T11:18:10.741Z] : 'RUN: at line 5';   true /netbatch/donb83696_00/runDir/jenkins-dir/workspace/SYCL_CI/intel/Lin/LLVM_Test_Suite/build/SYCL/Reduction/Output/reduction_nd_s1_dw.cpp.tmp.out
[2021-06-22T11:18:10.741Z] --
[2021-06-22T11:18:10.741Z] Exit Code: -11
[2021-06-22T11:18:10.741Z] 
[2021-06-22T11:18:10.741Z] Command Output (stdout):
[2021-06-22T11:18:10.741Z] --
[2021-06-22T11:18:10.741Z] $ ":" "RUN: at line 1"
[2021-06-22T11:18:10.741Z] note: command had no output on stdout or stderr
[2021-06-22T11:18:10.741Z] $ "/netbatch/donb83696_00/runDir/jenkins-dir/workspace/SYCL_CI/intel/Lin/LLVM_Test_Suite/llvm.obj/bin/clang++" "-fsycl" "-fsycl-targets=spir64-unknown-unknown-sycldevice" "/netbatch/donb83696_00/runDir/jenkins-dir/workspace/SYCL_CI/intel/Lin/LLVM_Test_Suite/llvm-test-suite/SYCL/Reduction/reduction_nd_s1_dw.cpp" "-o" "/netbatch/donb83696_00/runDir/jenkins-dir/workspace/SYCL_CI/intel/Lin/LLVM_Test_Suite/build/SYCL/Reduction/Output/reduction_nd_s1_dw.cpp.tmp.out"
[2021-06-22T11:18:10.741Z] note: command had no output on stdout or stderr
[2021-06-22T11:18:10.741Z] $ ":" "RUN: at line 3"
[2021-06-22T11:18:10.741Z] note: command had no output on stdout or stderr
[2021-06-22T11:18:10.741Z] $ "true" "/netbatch/donb83696_00/runDir/jenkins-dir/workspace/SYCL_CI/intel/Lin/LLVM_Test_Suite/build/SYCL/Reduction/Output/reduction_nd_s1_dw.cpp.tmp.out"
[2021-06-22T11:18:10.741Z] note: command had no output on stdout or stderr
[2021-06-22T11:18:10.741Z] $ ":" "RUN: at line 4"
[2021-06-22T11:18:10.741Z] note: command had no output on stdout or stderr
[2021-06-22T11:18:10.741Z] $ "env" "SYCL_DEVICE_FILTER=level_zero:gpu,host" "/netbatch/donb83696_00/runDir/jenkins-dir/workspace/SYCL_CI/intel/Lin/LLVM_Test_Suite/build/SYCL/Reduction/Output/reduction_nd_s1_dw.cpp.tmp.out"
[2021-06-22T11:18:10.741Z] note: command had no output on stdout or stderr
[2021-06-22T11:18:10.741Z] error: command failed with exit status: -11
[2021-06-22T11:18:10.741Z] 
[2021-06-22T11:18:10.741Z] --
[2021-06-22T11:18:10.741Z] 

@AGindinson
Copy link
Contributor Author

AGindinson commented Jun 22, 2021

I have no idea if the Jenkins failures are related to this patch or not.

Thanks for highlighting - these probably shouldn't be related, but I'll make sure to check by restarting the CI via a stylistic fix.

Signed-off-by: Artem Gindinson <artem.gindinson@intel.com>
Copy link
Contributor

@AaronBallman AaronBallman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@AGindinson
Copy link
Contributor Author

/summary:run

Copy link
Contributor

@dm-vodopyanov dm-vodopyanov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sycl/test LGTM

@AGindinson
Copy link
Contributor Author

@bader, could you please merge the PR once convenient? Thanks!

@bader bader merged commit 0bbb68e into intel:sycl Jun 23, 2021
AGindinson pushed a commit to AGindinson/llvm that referenced this pull request Jun 23, 2021
Also includes a relevant stylistic fix suggested in
intel#3869 (comment).

Signed-off-by: Artem Gindinson <artem.gindinson@intel.com>
@AGindinson AGindinson deleted the default-native-atomics branch June 23, 2021 10:31
alexbatashev added a commit to alexbatashev/llvm that referenced this pull request Jun 24, 2021
* upstream/sycl: (489 commits)
  [SYCL][NFC] Lower overhead of making plugin calls (intel#3982)
  [SYCL][NFC] Use default macro initialization where applicable (intel#3979)
  [SYCL] Enable SPV_INTEL_fpga_invocation_pipelining_attributes extension (intel#3864)
  [SYCL] Disable reassociate pass to reduce register pressure (intel#3615)
  [Driver][SYCL][FPGA] Restrict -O0 for FPGA with hardware (intel#3966)
  [SYCL][NFC] Fix warnings coming out of SYCL headers. (intel#3978)
  [SYCL] Fix bugs with recursion in SYCL kernel (intel#3958)
  [SYCL][LevelZero] Add support to detect host->device and device->host transfers for USM (intel#3975)
  [SYCL] Enable native FP atomics by default (intel#3869)
  [sycl-post-link] Avoid copying from nullptr (intel#3963)
  [SYCL-PTX] Add warp-reduce path in sub-group reduce (intel#3949)
  [BuildBot] Uplift CPU/FPGAEMU RT version for CI Process (intel#3946)
  Fix handling of complex constant expressions
  Handle OpSpecConstantOp with CompositeExtract and CompositeInsert
  Handle OpSpecConstantOp with VectorShuffle
  [FuncSpec] Don't specialise functions with NoDuplicate instructions.
  [mlir][linalg] Support low padding in subtensor(pad_tensor) lowering
  [gn build] Port 208332d
  [AMDGPU] Add Optimize VGPR LiveRange Pass.
  [mlir][Linalg] NFC - Drop unused variable definition.
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants