3.4k
Connect
  • GitHub
  • Mastodon
  • Twitter
  • Slack
  • Linkedin
Composable Software Stacks

CUDA is
Coming to Flox

CUDA development is about to get a lot smoother. The NVIDIA CUDA Toolkit will soon be available as a binary artifact in the Flox Catalog — alongside 180,000+ other packages — allowing you to build reproducible, full-stack CUDA development environments.

Sign up for early access
  • Easy Install

    Flexible Installation

    Get the complete NVIDIA CUDA Toolkit - including compilers, libraries, and debugging tools - with minimal fuss. Work within reproducible environments that layer on top of your base system.

  • Version flexibility
    ACTIVEACTIVEACTIVEACTIVE

    Effortless Version-Hopping

    Work with multiple CUDA versions side-by-side without conflicts. Switch between projects requiring different CUDA versions effortlessly, just by activating their different Flox environments.

  • Works with everything

    Seamless Integration

    Combine the CUDA Toolkit with Python, PyTorch, TensorFlow, and over 180,000+ other packages in the Flox catalog. Automate onboarding tasks, and share environments with colleagues.

  • No Compile Step

    Supercharged Nix with CUDA

    Nix users can take advantage of the Flox Binary Cache when creating expressions, flakes, and profiles that require the CUDA toolkit. No more building from source.

Frequently Asked Questions

Have questions about the CUDA Toolkit binary cache coming from Flox? Here are some answers to the most common questions we're receiving.

We are bringing the NVIDIA CUDA Toolkit to users of Flox, a software virtual environment manager, and Nix, a package management and system configuration tool. This will allow Flox users to install the CUDA Toolkit and CUDA-accelerated packages in their environments. Because we're distributing these packages as binaries, users can skip lengthy software builds when working with the CUDA Toolkit.

Flox is standing up infrastructure to redistribute the NVIDIA CUDA Toolkit as a series of user-space binary Nix packages. We will be performing the patchelf modifications in a legally compliant and reproducible way. This infrastructure will take the form of a build system and a Nix binary cache. This cache will work for Flox users out-of-the-box, or for users in the Nix community by adding a substituter.

There will be two ways to use the packages in this new binary cache: 1) installed like any other package using the Flox CLI, or 2) installed using a `nix.conf` with substituters and trusted-public-keys. Both methods provide access to the same pre-built binaries.

We maintain a fork of Nixpkgs that we use to guarantee reproducible builds. We introduce no new changes or patches in this downstream repository, though; all modifications to NVIDIA package definitions are made in Nixpkgs first. We track nixos-unstable and build packages from quantized daily commits to ensure consistency, while contributing to Nixpkgs as needed. We intend to continue this upstream-first practice with the CUDA binary cache.

The service is completely free with no subscription or authentication required. Users of the packages must comply with NVIDIA's End User License Agreement.

This does not include packaging or distribution of GPU drivers, which remain the responsibility of the host operating system.

If you're a Nix user, this service provides binary cache availability that can help you avoid lengthy CUDA builds from source, while maintaining full compatibility with your existing Nix workflows. If the package you need is available in our cache, you can download it. If not, building from source works exactly as before - you are never worse off.