Coder Social home page Coder Social logo

Comments (9)

vyasr avatar vyasr commented on May 28, 2024 1

I chose not to include cugraph-ops in this work because that package uses nanobind instead of Cython for its bindings, so it's not sensitive to rapids-cython changes. I also don't know much about its nanobind usage, and it looks like they do something bespoke with setting the CMake install directory. I'd rather leave that one to the devs to manage the transition since it doesn't impact rapids-cython at all.

from build-planning.

vyasr avatar vyasr commented on May 28, 2024 1

Good catches @jameslamb! Let me work through these. As far as build options we've just been removing the build options everywhere, so I'll do that, and hopefully the configure options are mostly fixed already since those need to be right for everything to work correctly.

from build-planning.

vyasr avatar vyasr commented on May 28, 2024 1

These are the remaining issues in repos that have made the scikit-build-core transition. We can close this issue once the following PRs are merged:

from build-planning.

jameslamb avatar jameslamb commented on May 28, 2024

I'm +1 on this.

For reference, the README has a thorough and direct list of differences between scikit-build and scikit-build-core: https://github.com/scikit-build/scikit-build-core

from build-planning.

bdice avatar bdice commented on May 28, 2024

@vyasr Would it be possible to migrate cugraph-ops as well? It seems that repo was missed. It'd be good to handle this while it's fresh on our minds.

https://github.com/rapidsai/cugraph-ops/blob/96a388691c8d42a9f3b7a56bf6f29d24d8ffe166/pylibcugraphops/pyproject.toml#L20
https://github.com/rapidsai/cugraph-ops/blob/96a388691c8d42a9f3b7a56bf6f29d24d8ffe166/docker/Dockerfile#L63

from build-planning.

bdice avatar bdice commented on May 28, 2024

Also, this might not need migrated, but rapids-cmake also relies on scikit-build as a test dependency (and cython>=0.29,<0.30 which might be possible to clean up at the same time).

https://github.com/rapidsai/rapids-cmake/blob/208b0d1240caaca41603fccc10b7ac44aea47477/dependencies.yaml#L146

from build-planning.

vyasr avatar vyasr commented on May 28, 2024

Regarding rapids-cmake, I'm pretty sure that dependency is superfluous and can be removed altogether. We never actually launch builds via Python in rapids-cmake. Removed that dependency in rapidsai/rapids-cmake#512.

from build-planning.

jameslamb avatar jameslamb commented on May 28, 2024

I think there's one more block of work that should be done as part of this.

There are some projects with configuration in environment variables that scikit-build recognized but scikit-build-core does not. From scikit-build-core's migration guide (docs)

The SKBUILD_CONFIGURE_OPTIONS environment variable is now named SKBUILD_CMAKE_ARGS for consistency.

The SKBUILD_BUILD_OPTIONS environment variable is not supported. Some specific features are accessible using alternative variables. In particular, use CMAKE_BUILD_PARALLEL_LEVEL or SKBUILD_CMAKE_VERBOSE to control build parallelism or CMake verbosity directly.

So I see 3 small pieces of additional work:

  • convert all uses of SKBUILD_CONFIGURE_OPTIONS to SKBUILD_CMAKE_ARGS
  • convert stuff like SKBUILD_BUILD_OPTIONS="-j4" to CMAKE_BUILD_PARALLEL_LEVEL=4
  • convert stuff like SKBUILD_BUILD_OPTIONS="-v" to SKBUILD_CMAKE_VERBOSE="true"

For all projects that have recently cut over to scikit-build-core.


I didn't find a ton of these from GitHub search (e.g. this link), but there are a few.

For example, cuml cut over to scikit-build-core (rapidsai/cuml#5693) but is still using SKBUILD_BUILD_OPTIONS to control parallelism (code link).

from build-planning.

vyasr avatar vyasr commented on May 28, 2024

Closing this now. All the associated work has been merged.

from build-planning.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.