-
Notifications
You must be signed in to change notification settings - Fork 24
# [FEA] Support ARM64 & update to RAPIDS 25.02, CUDA 12.8, Ubuntu 24.04 - Phase 1 #473
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
base: main
Are you sure you want to change the base?
# [FEA] Support ARM64 & update to RAPIDS 25.02, CUDA 12.8, Ubuntu 24.04 - Phase 1 #473
Conversation
… - Phase 1 * Update to RAPIDS 25.02 * Update to CUDA 12.8, drop CUDA 11.x support * Update to Ubuntu 24.04, drop Ubuntu 20.04 * Update to Python 3.12 * Add ARM64 (aarch64) support for GH200 Grace Hopper * Update Arrow 9.0.0 to 19.0.0 (enable S3, Acero) * Update nvcomp 2.4.1 to 4.2.0.11 (proprietary, ARM64 binaries) * Update build system: cmake-js 7.3.1, node-gyp 10.2.0 for Python 3.12 * Update TypeScript 4.5.5 to 5.3.3 * Update @typescript-eslint packages 5.30.0 to 6.21.0 for TypeScript 5.3 compatibility * Update Jest 26.5.3 to 29.7.0, ts-jest 26.5.3 to 29.2.5 * Update RMM bindings for RAPIDS 25.02 API changes * Remove BlazingSQL module (abandoned upstream) * Phase 1: core, cuda, rmm modules working with tests passing
modules/sql/.vscode/launch.json
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this update remove the blazingsql bindings? That makes me sad 😢
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I share your sadness about removing BlazingSQL. As you know, I was the first technical engineer and tech lead at BlazingSQL for years, and we collaborated on some great work together back in the early RAPIDS/cuDF days.
Since it's unmaintained upstream, I wasn't sure whether to try porting it or remove it. This PR is already complex with ARM64 + RAPIDS 25.02 + CUDA 12.8 + Ubuntu 24.04.
What's the RAPIDS team's policy: should unmaintained modules stay but be disabled, or is removal the right approach?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah I understand why you removed it. We'd been using a fork I maintained and updated as necessary to match changes in libcudf. It wasn't difficult, but I imagine it would be a large amount of work to get it up to this libcudf version.
| sudo apt install -y $APT_DEPS; | ||
| if [ -n "$INSTALLED_CLANGD" ]; then | ||
| sudo update-alternatives --install /usr/bin/clangd clangd /usr/bin/clangd-17 100 | ||
| sudo update-alternatives --install /usr/bin/clangd clangd /usr/bin/clangd-12 100 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
clangd-12 is incredibly old and likely broken for modern CUDA. clang-format-12 will also most likely regress from clang-format-17, which is not ideal. Is there a reason we're downgrading these?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good catch, this was part of my old tests, I updated it to clang 18 (which is compatible with ubuntu 24.04)
- Upgrade LLVM/Clang from version 17 to 18 (Ubuntu 24.04 default). - Modernize Docker scripts from deprecated docker-compose to docker compose. - Fix @types/minimatch dependency issue by pinning to 5.1.2.
|
I've successfully updated the toolchain ( A couple of questions:
For now, I've verified the modules build and work in the devel container. Let me know what else you need for review! |
|
@aucahuasi thanks for this PR, I'll try to review it this weekend. Typically we'd update the RAPIDS version across all the projects, but I should be able to handle that. There's also some housekeeping tasks, like sccache, that I can tackle. I'll push any updates to this branch if you don't mind, then approve and merge once I've double checked everything still works on my end. |
Thanks @trxcllnt! That's perfect! Please go ahead and push any updates to the branch. I appreciate you handling the version updates and For context on the Let me know if you need any additional work/testing or info from my end! |
Modernizes node-rapids to RAPIDS 25.02, CUDA 12.8, and Ubuntu 24.04 with ARM64 (aarch64) support for GH200 Grace Hopper platforms.
Changes
thrust::optionaltostd::optional, removed deprecated methods)Testing
Phase 1 modules (
core,cuda,rmm) all passing tests on Ubuntu 24.04 (x86_64 and ARM64), CUDA 12.8, Python 3.12, Node.js 16.15.1.Phase 2 (separate PR) will address
cudfmodule with its significant RAPIDS 25.02 API changes. Node.js version was kept at 16.x for this phase; Phase 2 may target Node.js 20.x depending on testing and compatibility requirements.