Meta data improvements
Changes in this PR:
- Move all supported configuration to
pyproject.tomlfromsetup.pyandsetup.cfg(latest one was removed). - Populate additional fields to
projectandbuild-systemsections ofpyproject.toml. - Use build packages from pyproject's
build-systemsection in the condameta.yamlto keep it in sync. - Use package managed
versioneer.
Problems:
- wheel package removes symbolic links
Checklist:
- [x] 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?
coverage: 87.892%. remained the same when pulling 3d51b7cebf7d4ea6d6246f2c044da7ad49d55093 on feature/pyproject into 0df3bec1706dcf1477eaeef98c80194920386094 on master.
Deleted rendered PR docs from intelpython.github.com/dpctl, latest should be updated shortly. :crossed_fingers:
Array API standard conformance tests for dpctl=0.17.0dev0=py310ha798474_322 ran successfully. Passed: 870 Failed: 8 Skipped: 92
Array API standard conformance tests for dpctl=0.17.0dev0=py310ha798474_322 ran successfully. Passed: 870 Failed: 8 Skipped: 92
Array API standard conformance tests for dpctl=0.17.0dev0=py310ha798474_323 ran successfully. Passed: 870 Failed: 8 Skipped: 92
Array API standard conformance tests for dpctl=0.17.0dev0=py310ha798474_334 ran successfully. Passed: 870 Failed: 8 Skipped: 92
Array API standard conformance tests for dpctl=0.17.0dev0=py310ha798474_334 ran successfully. Passed: 870 Failed: 8 Skipped: 92
Array API standard conformance tests for dpctl=0.17.0dev0=py310ha798474_334 ran successfully. Passed: 870 Failed: 8 Skipped: 92
Array API standard conformance tests for dpctl=0.17.0dev0=py310ha798474_334 ran successfully. Passed: 870 Failed: 8 Skipped: 92
Array API standard conformance tests for dpctl=0.17.0dev0=py310ha798474_334 ran successfully. Passed: 870 Failed: 8 Skipped: 92
Array API standard conformance tests for dpctl=0.17.0dev0=py310ha798474_334 ran successfully. Passed: 870 Failed: 8 Skipped: 92
Array API standard conformance tests for dpctl=0.17.0dev0=py310ha798474_334 ran successfully. Passed: 870 Failed: 8 Skipped: 92
Array API standard conformance tests for dpctl=0.18.0dev0=py310ha798474_38 ran successfully. Passed: 890 Failed: 11 Skipped: 91
Removal of work-around kludge in setup.py that ensured symbolic links created by cmake stay symbolic in conda package is a change int the right direction, as the ecosystem moves to new generation packaging framework. But the change turns symbolic links into hard copies of shared objects, ballooning the size of both the conda package and wheel package.
I propose to modify build.sh to run python -m wheel unpack wheel_dir, remove duplicate copies of the library, e.g., libDPCTLSyclInterface.so and libDPCTLSyclInterface.so.0.18 while recording their names in script variables.
We would then python -m wheel pack wheel_dir, retag it, and run pip install to install into $PREFIX. We would them post-process the content of installed site-packages/dpctl to move actual libDPCTLSyclInterface.so.0 to libDPCTLSyclInterface.so.0.18 (we saved the filename earlier), and create symbolic links libDPCTLSyclInterface.so.0 -> libDPCTLSyclInterface.so.0.18 and libDPCTLSyclInterface.so -> libDPCTLSyclInterface.so.0.
This way conda package would contain symbolic links as it did previously.
Array API standard conformance tests for dpctl=0.18.0dev0=py310ha798474_76 ran successfully. Passed: 889 Failed: 12 Skipped: 91
Assuming my PR gh-1706 into this branch gets merged, the set of changes is a big step forward. Thank you @ZzEeKkAa for doing this work!
Array API standard conformance tests for dpctl=0.18.0dev0=py310ha798474_115 ran successfully. Passed: 894 Failed: 15 Skipped: 105
Array API standard conformance tests for dpctl=0.18.0dev0=py310ha798474_119 ran successfully. Passed: 894 Failed: 15 Skipped: 105
coverage: 87.967%. remained the same when pulling c243318474c9669af459737c193fcfb86b3521f6 on feature/pyproject into 6d34a6bebed9d92754ca83236801e98621f4d67d on master.
Array API standard conformance tests for dpctl=0.18.0dev0=py310ha798474_125 ran successfully. Passed: 894 Failed: 15 Skipped: 105