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

Add initial OCI container support #172

Merged
merged 1 commit into from
Dec 15, 2023

Conversation

jmbaur
Copy link
Contributor

@jmbaur jmbaur commented Dec 14, 2023

Description of changes

These changes add OCI container support for Tegra devices on NixOS. This is accomplished using NVIDIA's newer nvidia-ctk tooling, which uses the CDI spec. Docker does not yet support this spec in any released version, but will have experimental support for it in their next release. Podman has supported this spec for a few years. See changes to README.md for more notes.

Closes #5
Closes #117

Testing

Tested running a simple cuda program on an orin-agx-devkit0 with the nvcr.io/nvidia/l4t-base:35.3.1 image.

pkgs/containers/nvidia-ctk.nix Outdated Show resolved Hide resolved
default.nix Outdated Show resolved Hide resolved
modules/default.nix Outdated Show resolved Hide resolved
modules/default.nix Outdated Show resolved Hide resolved
pkgs/containers/l4t.json Outdated Show resolved Hide resolved
default.nix Outdated Show resolved Hide resolved
flake.lock Outdated Show resolved Hide resolved
@danielfullmer
Copy link
Collaborator

Could you also add an automated test for this functionality to our internal nightly tests?

@jmbaur
Copy link
Contributor Author

jmbaur commented Dec 15, 2023

Could you also add an automated test for this functionality to our internal nightly tests?

Already added!

pkgs/containers/nvidia-ctk.nix Outdated Show resolved Hide resolved
@jmbaur jmbaur force-pushed the tegra-containers branch 2 times, most recently from 4dd4200 to c9504eb Compare December 15, 2023 21:15
These changes add OCI container support for Tegra devices on NixOS. This
is accomplished using NVIDIA's newer nvidia-ctk tooling, which uses the
CDI spec. Docker does not yet support this spec in any released version,
but will have experimental support for it in their next release. Podman
has supported this spec for a few years. See changes to README.md for
more notes.
@danielfullmer danielfullmer merged commit 319750c into anduril:master Dec 15, 2023
@jmbaur jmbaur deleted the tegra-containers branch December 15, 2023 21:20
@GTrunSec
Copy link

Notice (outdated nvidia-container-toolkit): It has been quite some time since I last upgraded the version of the nvidia-container-toolkit. If you have the time, please look at how to update the nvidia-container-toolkit to the latest version? The current version of nvidia-container-toolkit is outdated. thanks

@jmbaur
Copy link
Contributor Author

jmbaur commented Dec 16, 2023

@GTrunSec I'll draft up a PR for nixpkgs targeting Nvidia container toolkit v1.15.0. This PR is highly focused on tegra support, but it would be great to use the same stuff on x86_64 too.

@GTrunSec
Copy link

GTrunSec commented Jan 4, 2024

@jmbaur, sweet, thanks for your efforts. Feel free to ping me to review that code once you are ready.

@hacker1024
Copy link
Contributor

How do NixOS/nixpkgs#284507 and NixOS/nixpkgs#291828 relate to this?

@jmbaur
Copy link
Contributor Author

jmbaur commented Mar 6, 2024

How do NixOS/nixpkgs#284507 and NixOS/nixpkgs#291828 relate to this?

The goal is to have all CDI support come from nixpkgs and eventually remove the tegra specific CDI support from this project. We need to verify that the newly added CDI support in nixpkgs works on tegra devices.

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.

Enable support for nvidia-container
4 participants