Skip to content

[SYCL][DOC] Add build instructions for Windows to GetStartedWithSYCLC… #494

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
Aug 22, 2019

Conversation

v-klochkov
Copy link
Contributor

…ompiler.md

  1. Fixed an error in cmake command for Linux.
  2. Added steps for OpenCL-Headers and OpenCL-ICD-Loader components, which
    are required.
  3. Added Windows build instructions.
  4. Made the build process more verbose and clear. You can literally follow
    the guide step-by-step to build compiler and tools and run a simple test.

Signed-off-by: Vyacheslav N Klochkov [email protected]

@v-klochkov
Copy link
Contributor Author

See the final result as it appears in browser (not in editor) here: https://github.com/v-klochkov/llvm/blob/public_windows_getting_started/sycl/doc/GetStartedWithSYCLCompiler.md

mibintc
mibintc previously approved these changes Aug 12, 2019
Copy link

@mibintc mibintc left a comment

Choose a reason for hiding this comment

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

LGTM, I added a few inline comments. Thanks for documenting this!

set SYCL_HOME=%WORK_DIR%\sycl_workspace
```
---
## Get `OpenCL-Headers`
Copy link
Contributor

Choose a reason for hiding this comment

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

Please, clarify that this is an optional step.
CMake will automatically configure OpenCL headers and ICD loader if OpenCL_INCLUDE_DIR and OpenCL_LIBRARY variables are not set.

BTW, these part of the instructions are not related to Windows enabling, so it would be better to have it committed separately. It should be okay to have a separate commit in this PR as long as it documentation only.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I did not know that OpenCL-Headers and ICD-Loader parts were optional. Probably because I started SYCL build on some older machine with DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=1, etc.

Thank you. I am removing these 2 big blocks now.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Now I am not so sure that removing those two optional blocks (download OpenCL_Headers and download/build OpenCL-ICD-Loader) was good idea.
I am going to put them to this guide again.

The reason: even with this patch (that is in code-review now): #528 nmake and make work perfectly without those optional steps/blocks, while 'ninja' does not. Ninja (or our build scripts) have some problems with dependencies. Ninja does not build ICD-Loader before building sycl.lib. SYCL CMakeLists.txt look good to me.

bader
bader previously approved these changes Aug 18, 2019
Copy link
Contributor

@bader bader left a comment

Choose a reason for hiding this comment

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

I'd like to improve this document further including these changes, but we need to get them in first.

@v-klochkov
Copy link
Contributor Author

v-klochkov commented Aug 19, 2019

I updated the doc (added again those 2 optional steps for Headers and ICD-Loader).

BTW, The doc says:

clang++ -fsycl simple-sycl-app.cpp -o simple-sycl-app.exe -lOpenCL

Do we really need -lOpenCL now after we've got the PluginInterface. If there are no more direct calls of OpenCL functions, then -lOpenCL is not needed, right?

Edited (Aug21): I skip my question because from PRs like this (#517) I can see that direct calls of OpenCL functions are still exist in our sources.

…ompiler.md

1. Fixed an error in cmake command for Linux.
2. Added steps for OpenCL-Headers and OpenCL-ICD-Loader components, which
are required.
3. Added Windows build instructions.
4. Made the build process more verbose and clear. You can literally follow
the guide step-by-step to build compiler and tools and run a simple test.

Signed-off-by: Vyacheslav N Klochkov <[email protected]>
@v-klochkov v-klochkov force-pushed the public_windows_getting_started branch from af4eaa5 to 842cf2d Compare August 20, 2019 18:28
@v-klochkov v-klochkov requested review from valerydmit and bader August 21, 2019 20:44
@bader bader merged commit 2276a42 into intel:sycl Aug 22, 2019
@v-klochkov v-klochkov deleted the public_windows_getting_started branch January 10, 2020 00:42
vladimirlaz pushed a commit that referenced this pull request Apr 28, 2020
- Add support for "partial" move
- Teach the pass to look through addrspace cast
- Add support for multiple casts

Signed-off-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.

5 participants