Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions _data/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ apis:
# enable or disable links; 0 = disabled, 1 = enabled
legacy: 1
stable: 1
nightly: 1
nightly: 0
cuproj:
name: cuProj
path: cuProj
Expand All @@ -78,7 +78,7 @@ apis:
# enable or disable links; 0 = disabled, 1 = enabled
legacy: 1
stable: 1
nightly: 1
nightly: 0
cusignal:
name: cusignal
path: cusignal
Expand Down Expand Up @@ -205,7 +205,7 @@ libs:
# enable or disable links; 0 = disabled, 1 = enabled
legacy: 1
stable: 1
nightly: 1
nightly: 0
libcuproj:
name: libcuproj
path: libcuproj
Expand Down
41 changes: 32 additions & 9 deletions _includes/selector.html
Original file line number Diff line number Diff line change
Expand Up @@ -317,7 +317,7 @@
<div class="option-label"><!-- Second row of packages --></div>
<template x-for="package in additional_pip_packages">
<div x-on:click="(e) => packagesClickHandler(e, package)"
x-bind:class="{'active': active_packages.includes(package)}" class="option"
x-bind:class="{'active': active_packages.includes(package), 'disabled': disableUnsupportedPackage(package)}" class="option"
x-text="package"></div>
</template>
</div>
Expand Down Expand Up @@ -572,7 +572,15 @@
if (this.active_packages.length === 1 && this.active_packages[0] === "Choose Specific Packages") {
return "Select at least one package.";
} else if (this.active_packages[0] === 'Standard') {
var pkgs = this.additional_pip_packages.flatMap(libraryToPkg);
var pkgs_to_show = this.additional_pip_packages;

// Hide cuSpatial and cuProj for Nightly
if (this.active_release === "Nightly") {
pkgs_to_show = pkgs_to_show.filter(pkg => pkg !== "cuSpatial" && pkg !== "cuProj");
}
Comment on lines +577 to +580
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
// Hide cuSpatial and cuProj for Nightly
if (this.active_release === "Nightly") {
pkgs_to_show = pkgs_to_show.filter(pkg => pkg !== "cuSpatial" && pkg !== "cuProj");
}
// possibly filter out any packages that are disabled in specific settings
pkgs_to_show = pkgs_to_show.filter(pkg => !disableUnsupportedPackage(pkg))

My JavaScript is not the best, but is it possible to do something like this everywhere, instead of repeating the literals "cuSpatial" and "cuProj" in so many places?

Putting those filters in place would make it easier to do this kind of thing in the future, and reduce the effort to update the selector again when 25.06 becomes the stable version.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Sort of. In theory this is a good idea. In practice, disableUnsupportedPackage accepts button labels as its argument, like cuSpatial/cuProj while we need to use actual package names like cuspatial and cuproj here. Someday we need to rewrite the selector logic from the ground up.

Copy link
Member

Choose a reason for hiding this comment

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

blegh ok I see, I'd missed that distinction. Thanks for considering it.


var pkgs = pkgs_to_show.flatMap(libraryToPkg);

var additional_pip_commands = libraryToPkg("nx-cugraph");
pkgs = pkgs.concat(additional_pip_commands);
} else {
Expand Down Expand Up @@ -644,25 +652,32 @@
},
getDockerNotes() {
var notes = [];
if (this.active_docker_cuda_ver.startsWith("12") && this.active_release === "Stable") {
var pkgs_html = this.rapids_meta_pkgs.map(pkg => "<code>" + pkg + "</code>").join(", ");
notes = [...notes]
} else {
var pkgs_html = this.rapids_meta_pkgs.map(pkg => "<code>" + pkg + "</code>").join(", ");
var pkgs_to_show = this.rapids_meta_pkgs;

// Hide cuSpatial and cuProj for Nightly
if (this.active_release === "Nightly") {
pkgs_to_show = pkgs_to_show.filter(pkg => pkg !== "cuSpatial" && pkg !== "cuProj");
}

var pkgs_html = pkgs_to_show.map(pkg => "<code>" + pkg + "</code>").join(", ");
notes = [...notes, "The selected image contains the following packages:<br>" + pkgs_html];
return notes.map(note => this.note_prefix + " " + note);

},
getCondaNotes() {
var notes = [];
if (this.active_conda_cuda_ver.startsWith("11")) {
notes = [...notes, "RAPIDS on CUDA 11 doesn't support <code>channel_priority: strict</code>; use <code>channel_priority: flexible</code> instead"];
}

var pkgs_to_show = this.rapids_meta_pkgs;

// Hide cuSpatial and cuProj for Nightly
if (this.active_release === "Nightly") {
pkgs_to_show = pkgs_to_show.filter(pkg => pkg !== "cuSpatial" && pkg !== "cuProj");
Copy link
Contributor

Choose a reason for hiding this comment

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

If you select stable, Choose specific packages, and select cuspatial. Then switch to Nightly, the cuspatial button is disabled, but the install script will still include the packages.

image

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Ah, great. I'll try to fix.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Fixed in af79499. Merging.

}

if (this.active_packages.length === 1 && this.active_packages[0] === "Standard") {
var pkgs_html = this.rapids_meta_pkgs.map(pkg => "<code>" + pkg + "</code>").join(", ");
var pkgs_html = pkgs_to_show.map(pkg => "<code>" + pkg + "</code>").join(", ");
notes = [...notes, "The <code>Standard</code> selection contains the following packages:<br>" + pkgs_html];
}

Expand Down Expand Up @@ -756,6 +771,9 @@
},
disableUnsupportedPackage(package) {
var isDisabled = false;
if (this.active_release === "Nightly" && package === "cuSpatial/cuProj") {
isDisabled = true;
}
return isDisabled;
},
isDisabled(e) {
Expand Down Expand Up @@ -785,6 +803,11 @@
if (!supported_docker_cuda_versions.includes(this.active_docker_cuda_ver)) {
this.active_docker_cuda_ver = supported_docker_cuda_versions[supported_docker_cuda_versions.length - 1];
}

/* Remove cuSpatial/cuProj from active packages if in Nightly */
if (this.active_release === "Nightly") {
this.active_packages = this.active_packages.filter(pkg => pkg !== "cuSpatial/cuProj");
}
},
imgTypeClickHandler(e, type) {
if (this.isDisabled(e.target)) return;
Expand Down
2 changes: 1 addition & 1 deletion install/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ If conda has incorrectly identified the CUDA driver, you can [override by settin
<i class="fas fa-exclamation-triangle"></i> RAPIDS `23.08` brought significant Docker changes. <br/>
To learn more about these changes, please see the [RAPIDS Container README](https://hub.docker.com/r/rapidsai/base){: target="_blank"}. Some key notes below:
- `Development` images are no longer being published, RAPIDS now uses [Dev Containers](https://code.visualstudio.com/docs/devcontainers/containers){: target="_blank"} for development
- See cuSpatial for an example and information on [RAPIDS' usage of Dev Containers](https://github.com/rapidsai/cuspatial/tree/main/.devcontainer){: target="_blank"}
- See cuDF for an example and information on [RAPIDS' usage of Dev Containers](https://github.com/rapidsai/cudf/tree/main/.devcontainer){: target="_blank"}
- All images are Ubuntu-based
- CUDA 12.5+ images use Ubuntu 24.04
- All other images use Ubuntu 22.04
Expand Down