3.3k
Connect
  • GitHub
  • Mastodon
  • Twitter
  • Slack
  • Linkedin
Virtual 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 virtual CUDA development environments.

  • One-Command Install

    Flexible Installation

    Get the complete NVIDIA CUDA Toolkit - including compilers, libraries, and debugging tools - with a single install command. Work within virtual environments, and pin your versions with lockfiles.

  • 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.

  • Substitutors For the Win

    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.

Virtual Environments

About Flox

Flox is a virtual environment manager that makes it easy to create and share reproducible software stacks. Flox helps teams eliminate "it works on my machine" problems, quickly onboard new contributors, and streamline their development workflows.

Get Notified

Be the first to know when the NVIDIA CUDA Toolkit binary artifacts become available in the Flox Catalog. We'll send you an email as soon as they are ready for use in your development environments.

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 create virtual environments containing specific versions of the CUDA Toolkit, alongside over 180,000 packages available in the Flox Catalog. It will allow users of Nix to avoid lengthy software builds when working with the CUDA Toolkit. We believe it will take the pain out of setting up CUDA environments for developers and operators everywhere.

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) use the Flox CLI with `flox install` commands, or 2) configure 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.