Skip to content

[SYCL][NFC] Get started guide clean-up #590

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 1 commit into from
Sep 5, 2019

Conversation

bader
Copy link
Contributor

@bader bader commented Sep 3, 2019

  • "Table of contents" is added
  • A few unnecessary sections are removed
  • Information for testing Intel SYCL implementation with Khronos
    SYCL conformance test suite is added
  • Minor style fixes (80-char lines, markdown style, etc.)
  • Link to CPU runtime is updated
  • Link to Intel FPGA selector is added
  • NEOGPUDeviceSelector example is fixed
  • Compiler invocation example is updated - no need to link OpenCL
    library
  • Visual Studio version requirement is updated

@bader bader force-pushed the get-started-guide branch from 498acaa to e19528e Compare September 3, 2019 12:31
@bader
Copy link
Contributor Author

bader commented Sep 3, 2019

@romanovvlad, I think I applied all your comments.
Please, check.

https://gcc.gnu.org/install/
* `python` - https://www.python.org/downloads/release/python-2716/
* `Visual Studio 2017` or later (Windows only) -
https://visualstudio.microsoft.com/downloads/
Copy link
Contributor

Choose a reason for hiding this comment

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

Please specify exact version (MSVC 19.15.26730.0 and higher). We are observing build failures on earlier versions.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Could you provide Visual Studio version, please?
https://docs.microsoft.com/en-us/visualstudio/releases/2019/release-notes

Copy link
Contributor

@v-klochkov v-klochkov Sep 3, 2019

Choose a reason for hiding this comment

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

We had no problems with MSVC2017 before. If It does not work we could fix it.
CLANG requires MSVC2017 or newer, why we would raise the bar?
BTW, The current words "16 or later" look good. I would only add .0 after 16: i.e. "16.0 or later"

* Intel GPU [Intel® Graphics Compute Runtime for
OpenCL™](https://github.com/intel/compute-runtime/releases)
* Intel CPU - [Experimental Intel® CPU Runtime for OpenCL™ Applications
with SYCL support](https://github.com/intel/llvm/releases/tag/2019-08)
Copy link
Contributor

Choose a reason for hiding this comment

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

for GPU you passed the general location for CPU RT you passed exact version.
Also different approach is used on Windows and Linux. Can we have common was of specifying RTs.

Copy link
Contributor

Choose a reason for hiding this comment

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

I think that is okay to put link to a general location here. Certain recommended version is changed from time to time and mentioned in release notes. So, probably it worth say that exact recommended version can be found in release notes

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Also different approach is used on Windows and Linux. Can we have common was of specifying RTs.

What do you mean by "different approach"? Could you clarify, please?

* Intel GPU [Intel® Graphics Compute Runtime for
OpenCL™](https://github.com/intel/compute-runtime/releases)
* Intel CPU - [Experimental Intel® CPU Runtime for OpenCL™ Applications
with SYCL support](https://github.com/intel/llvm/releases/tag/2019-08)
Copy link
Contributor

Choose a reason for hiding this comment

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

I think that is okay to put link to a general location here. Certain recommended version is changed from time to time and mentioned in release notes. So, probably it worth say that exact recommended version can be found in release notes

@agozillon
Copy link
Contributor

agozillon commented Sep 3, 2019

Might be worth fixing the GPU scheduler example while you're here so we can close this issue: #22

@bader
Copy link
Contributor Author

bader commented Sep 4, 2019

@vladimirlaz, @romanovvlad, please, review again to confirm that your concerns are resolved.

Copy link
Contributor

@romanovvlad romanovvlad left a comment

Choose a reason for hiding this comment

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

LGTM

@bader bader dismissed romanovvlad’s stale review September 4, 2019 12:31

Consider "LGTM" as "no changes required".

@bader bader requested a review from vladimirlaz September 4, 2019 12:35
vladimirlaz
vladimirlaz previously approved these changes Sep 4, 2019
- "Table of contents" is added
- A few unnecessary sections are removed
- Information for testing Intel SYCL implementation with Khronos
  SYCL conformance test suite is added
- Minor style fixes (80-char lines, markdown style, etc.)
- Link to CPU runtime is updated
- Link to Intel FPGA selector is added
- NEOGPUDeviceSelector example is fixed
- Compiler invocation example is updated - no need to link OpenCL
  library
- Visual Studio version requirement is updated

Signed-off-by: Alexey Bader <[email protected]>
@romanovvlad romanovvlad merged commit 9050a98 into intel:sycl Sep 5, 2019
@bader bader deleted the get-started-guide branch September 5, 2019 08:22
### Linux:
```bash
cd $SYCL_HOME
git clone https://github.com/KhronosGroup/OpenCL-ICD-Loader
Copy link
Contributor

Choose a reason for hiding this comment

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

Alexey, I missed the fact that you removed the build steps for ICD-Loader.
I believe that was not good move. make and nmake generators are stable, I also had some success with ninja during the main SYCL compiler build, but when ICD-Loader and Headers are not pre-built before the main SYCL build, ninja again gives this error:

D:\iusers\vklochko\ws\gs_public\build_ninja2>ninja sycl-toolchain
ninja: error: 'lib/OpenCL.lib', needed by 'bin/sycl.dll', missing and no known rule to make it

Copy link
Contributor

Choose a reason for hiding this comment

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

@v-klochkov, I encountered similar error (unfortunately, I've lost build logs) while using MSVC generator: we definitely have something misconfigured/missing

Copy link
Contributor Author

Choose a reason for hiding this comment

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

This looks like a bug in the cmake script, feel free to file a bug report!

aelovikov-intel pushed a commit to aelovikov-intel/llvm that referenced this pull request Feb 23, 2023
* [SYCL] Add gpu_aot_target_opts parameter

The gpu_aot_target_opts LIT parameter and the GPU_AOT_TARGET_OPTS CMake
variable is introduced to allow customization of the target device for
AOT compilation on GPU.

Co-authored-by: Alexey Bader <[email protected]>
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