Skip to content
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

Work-around for not applying -fsycl-device-code-split=per_kernel on Windows #1083

Merged
merged 4 commits into from
Feb 23, 2023

Conversation

oleksandr-pavlyk
Copy link
Collaborator

@oleksandr-pavlyk oleksandr-pavlyk commented Feb 23, 2023

Tweaked bld.bat to account for possible folder names in Library\lib\clang.

Made the logic of patching Windows-IntelLLVM.cmake in conda package for cmake 3.22 dependent of existence of the folder.

Modified CMakeLists.txt to ensure that SDL flags /NXCompat /DynamicBase are correctly applied on Windows.

Worked around issue of oneAPI DPC++ integration with cmake 3.22 to ensure that -fsycl-device-code-split=per_kernel is correctly passed to the linker driver.

Also ensure that -fsycl-link-huge-device-code is only added on Linux (option is not supported on Windows).

The following line python -c "import dpctl.tensor as dpt; print(dpt.arange(10)) can now execute on Windows machine with Iris Xe card.

  • Have you provided a meaningful PR description?
  • Have you added a test, reproducer or referred to an issue with a reproducer?
  • Have you tested your changes locally for CPU and GPU devices?
  • Have you made sure that new changes do not introduce compiler warnings?
  • If this PR is a work in progress, are you filing the PR as a draft?

@github-actions
Copy link

@coveralls
Copy link
Collaborator

coveralls commented Feb 23, 2023

Coverage Status

Coverage: 82.316%. Remained the same when pulling 73437f6 on fix-windows-code-split into 3247a80 on master.

@github-actions
Copy link

Array API standard conformance tests for dpctl=0.14.1dev2=py310h76be34b_44 ran successfully.
Passed: 33
Failed: 801
Skipped: 280

@github-actions
Copy link

Array API standard conformance tests for dpctl=0.14.1dev2=py310h76be34b_43 ran successfully.
Passed: 33
Failed: 801
Skipped: 280

@github-actions
Copy link

Array API standard conformance tests for dpctl=0.14.1dev2=py310h76be34b_45 ran successfully.
Passed: 33
Failed: 801
Skipped: 280

@github-actions
Copy link

Array API standard conformance tests for dpctl=0.14.1dev2=py310h76be34b_46 ran successfully.
Passed: 33
Failed: 801
Skipped: 280

@github-actions
Copy link

Array API standard conformance tests for dpctl=0.14.1dev2=py310h76be34b_47 ran successfully.
Passed: 33
Failed: 801
Skipped: 280

@github-actions
Copy link

Array API standard conformance tests for dpctl=0.14.1dev2=py310h76be34b_48 ran successfully.
Passed: 33
Failed: 801
Skipped: 280

@github-actions
Copy link

Array API standard conformance tests for dpctl=0.14.1dev2=py310h76be34b_49 ran successfully.
Passed: 33
Failed: 801
Skipped: 280

@github-actions
Copy link

Array API standard conformance tests for dpctl=0.14.1dev2=py310h76be34b_50 ran successfully.
Passed: 33
Failed: 801
Skipped: 280

@github-actions
Copy link

Array API standard conformance tests for dpctl=0.14.1dev2=py310h76be34b_52 ran successfully.
Passed: 33
Failed: 801
Skipped: 280

@github-actions
Copy link

Array API standard conformance tests for dpctl=0.14.1dev2=py310h76be34b_54 ran successfully.
Passed: 33
Failed: 801
Skipped: 280

@github-actions
Copy link

Array API standard conformance tests for dpctl=0.14.1dev2=py310h76be34b_46 ran successfully.
Passed: 33
Failed: 801
Skipped: 280

Use semicolon to specify multiple linker flags in SYCL_LDFLAGS
In cmake 3.22 using target_link_options result in option inserted
in LINK_FLAGS which places it after -link option and passed directly
to the underlying linker where it is ignored.

This is fixed in cmake 3.25

Also make sure to apply -fsycl-link-huge-device-code on Linux only,
the option is not supported on Windows.
@github-actions
Copy link

Array API standard conformance tests for dpctl=0.14.1dev2=py310h76be34b_49 ran successfully.
Passed: 33
Failed: 801
Skipped: 280

@oleksandr-pavlyk oleksandr-pavlyk changed the title Adjusted bld.bat Work-around for not applying -fsycl-device-code-split=per_kernel on Windows Feb 23, 2023
@oleksandr-pavlyk oleksandr-pavlyk merged commit 4b77e94 into master Feb 23, 2023
@oleksandr-pavlyk oleksandr-pavlyk deleted the fix-windows-code-split branch February 23, 2023 20:34
@github-actions
Copy link

Deleted rendered PR docs from intelpython.github.com/dpctl, latest should be updated shortly. 🤞

@github-actions
Copy link

Array API standard conformance tests for dpctl=0.14.1dev2=py310h76be34b_49 ran successfully.
Passed: 33
Failed: 801
Skipped: 280

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.

2 participants