Skip to content

Conversation

@oleksandr-pavlyk
Copy link
Contributor

@oleksandr-pavlyk oleksandr-pavlyk commented Jun 7, 2024

This PR modifies build.sh to post-process the wheel and remove duplicate shared objects produced by Python packaging that follows symbolic links.

Symbolic links are restored for conda after wheel is installed.

The check test_service.py::test_syclinterface was modified to ignore presence of duplicate copies of the library shared objects if --no-sycl-interface-test option was specified to pytest.

The option is used in

  • coverage collection script scripts/get_coverage.py
  • in workflow which builds dpctl with nighly sycl bundle of intel/llvm.

  • 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?
  • Have you checked performance impact of proposed changes?
  • If this PR is a work in progress, are you opening the PR as a draft?

@github-actions
Copy link

github-actions bot commented Jun 7, 2024

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

@oleksandr-pavlyk oleksandr-pavlyk force-pushed the edit-to-pyproject branch 3 times, most recently from aa93945 to 5a7d273 Compare June 8, 2024 18:44
@github-actions
Copy link

github-actions bot commented Jun 8, 2024

Array API standard conformance tests for dpctl=0.18.0dev0=py310ha798474_84 ran successfully.
Passed: 889
Failed: 12
Skipped: 91

@github-actions
Copy link

github-actions bot commented Jun 8, 2024

Array API standard conformance tests for dpctl=0.18.0dev0=py310ha798474_78 ran successfully.
Passed: 889
Failed: 12
Skipped: 91

@github-actions
Copy link

github-actions bot commented Jun 8, 2024

Array API standard conformance tests for dpctl=0.18.0dev0=py310ha798474_79 ran successfully.
Passed: 889
Failed: 12
Skipped: 91

@github-actions
Copy link

github-actions bot commented Jun 8, 2024

Array API standard conformance tests for dpctl=0.18.0dev0=py310ha798474_79 ran successfully.
Passed: 889
Failed: 12
Skipped: 91

@github-actions
Copy link

github-actions bot commented Jun 8, 2024

Array API standard conformance tests for dpctl=0.18.0dev0=py310ha798474_80 ran successfully.
Passed: 889
Failed: 12
Skipped: 91

@github-actions
Copy link

github-actions bot commented Jun 9, 2024

Array API standard conformance tests for dpctl=0.18.0dev0=py310ha798474_79 ran successfully.
Passed: 889
Failed: 12
Skipped: 91

@github-actions
Copy link

github-actions bot commented Jun 9, 2024

Array API standard conformance tests for dpctl=0.18.0dev0=py310ha798474_80 ran successfully.
Passed: 889
Failed: 12
Skipped: 91

@oleksandr-pavlyk oleksandr-pavlyk marked this pull request as ready for review June 9, 2024 03:17
@oleksandr-pavlyk oleksandr-pavlyk mentioned this pull request Jun 9, 2024
6 tasks
@github-actions
Copy link

github-actions bot commented Jun 9, 2024

Array API standard conformance tests for dpctl=0.18.0dev0=py310ha798474_79 ran successfully.
Passed: 889
Failed: 12
Skipped: 91

@ZzEeKkAa
Copy link
Contributor

ZzEeKkAa commented Jun 11, 2024

@oleksandr-pavlyk should we just keep libdpctlsyclinterface.so.0.18 And teach dependent projects to import just it?

I'm mentioning that, because libdpctlsyclinterface.so.0.19 most likely will be incompatible with *.0.18. Dpctl can also provide API to dynamically link the library.

I also was surprised that windows contains .dll and .lib version. Why do we need both? Aren't dependent project should only dynamically link to the library?

@oleksandr-pavlyk
Copy link
Contributor Author

No, we must keep so.0.

In case of incompatibility, we must increment major version.

@oleksandr-pavlyk
Copy link
Contributor Author

oleksandr-pavlyk commented Jun 12, 2024

We need both .DLL and .LIB. The lib are static libraries used for linking (they are essentially loaders of DLL).

@oleksandr-pavlyk
Copy link
Contributor Author

No, we must keep so.0.

In case of incompatibility, we must increment major version.

For soversion-ed libraries, linker searches for so.0 as evidenced either ldd or readelf. If .so.0 is deleted in favor of keeping so.0.18, importing of dpctl would stop working

@github-actions
Copy link

Array API standard conformance tests for dpctl=0.18.0dev0=py310ha798474_116 ran successfully.
Passed: 894
Failed: 15
Skipped: 105

@github-actions
Copy link

Array API standard conformance tests for dpctl=0.18.0dev0=py310ha798474_83 ran successfully.
Passed: 894
Failed: 15
Skipped: 105

@ZzEeKkAa ZzEeKkAa force-pushed the feature/pyproject branch from 8ebbac1 to 679876c Compare July 16, 2024 18:20
This option allows skipping test for copies
of symbolic links which is needed in coverage
workflow, and in workflow that builds with
nightly sycl bundle build from intel/llvm
snapshots
@github-actions
Copy link

Array API standard conformance tests for dpctl=0.18.0dev0=py310ha798474_118 ran successfully.
Passed: 895
Failed: 14
Skipped: 105

Copy link
Contributor

@ZzEeKkAa ZzEeKkAa left a comment

Choose a reason for hiding this comment

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

LGMT!

@oleksandr-pavlyk oleksandr-pavlyk merged commit ebf409f into feature/pyproject Jul 17, 2024
@oleksandr-pavlyk oleksandr-pavlyk deleted the edit-to-pyproject branch July 17, 2024 01:46
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