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

Transition dpnp build system to using scikit-build and cmake on all platforms #1349

Merged
merged 69 commits into from
Apr 8, 2023

Conversation

oleksandr-pavlyk
Copy link
Contributor

@oleksandr-pavlyk oleksandr-pavlyk commented Mar 22, 2023

This PR rewrites build system of dpnp to use scikit-build and cmake on all supported platforms.

CMake scripts leverage cmake integration in oneAPI DPC++, oneAPI MKL, oneAPI TBB and oneAPI DPL.

The oneAPI DPL conda packages are not yet packaging their cmake integration scripts, so a remaining to-do list is to vendor that script into dpnp/backend/cmake/ and make sure that it can be found.

  • Have you provided a meaningful PR description?
  • Have you added a test, reproducer or referred to 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?

To build dpnp, one one does

```bash
CC=icx CXX=icpx python setup.py develop -G Ninja -- -DDPCTL_MODULE_PATH=$(python -m dpctl --cmakedir)
```

or on Windows

```cmd
python setup.py develop -G Ninja -- -DDPCTL_MODULE_PATH=<path> -DCMAKE_C_COMPILER=icx -DCMAKE_CXX_COMPILER=icx
```

where the `<path>` is the output of `python -m dpctl --cmakedir`.
…dpnp_backend_c in target_link_libraries for CTest
@oleksandr-pavlyk
Copy link
Contributor Author

oleksandr-pavlyk commented Mar 23, 2023

The way to initiate the build is

CC=icx CXX=icpx DPL_ROOT_HINT=$DPL_ROOT python setup.py develop -G Ninja -- \
    -DDPCTL_MODULE_PATH=$(python -m dpctl --cmakedir) \
    -DCMAKE_VERBOSE_MAKEFILE=ON

vlad-perevezentsev and others added 28 commits April 4, 2023 20:36
Use `sys.executable` instead of `"python"` in `check_output` call
Adds a new github CI Action to generate coverage and upload to coveralls
@oleksandr-pavlyk oleksandr-pavlyk merged commit 12e791e into master Apr 8, 2023
@oleksandr-pavlyk oleksandr-pavlyk deleted the use-skbuild-and-cmake branch April 8, 2023 14:15
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.

3 participants