renest 0.1.15

Answers

Why does ComfyUI say 'no kernel image is available' after I changed GPU?

Because the PyTorch build on this machine contains no GPU code for this card's generation: the files are fine, the build and the card don't match. Install a PyTorch build that covers this GPU, or rent the GPU generation the setup was built on. The other errors on this page are the same kind of problem: the machine, not your files.

Every error on this page comes from the machine, not from missing files. Copying the same folder again, or downloading the models again, won't change any of them. Each section gives the error as it is usually pasted, what it means, what to do, and where Renest helps and where it doesn't.

"CUDA error: no kernel image is available for execution on the device"

This means a compiled GPU package on this machine has no code for this card's generation. It is usually PyTorch itself. It can also be a package with its own GPU code, such as bitsandbytes, xformers or flash-attn. Each build carries machine code for a list of GPU generations. A card newer than the list, or an older one that the build dropped, gets this error the first time it runs real work. ComfyUI often starts normally and fails only when you queue a prompt.

What to do:

  • Check which generations the installed PyTorch was built for, and which one this card is:
Shell
$ python -c "import torch; print(torch.__version__, torch.version.cuda, torch.cuda.get_arch_list())"
$ python -c "import torch; print(torch.cuda.get_device_name(0), torch.cuda.get_device_capability(0))"
  • If the card's capability (for example (12, 0), written sm_120) is not in the list, install a PyTorch build that includes it, using the same Python that starts ComfyUI. The official install selector on pytorch.org gives the exact command for each CUDA build.
  • If the error names a different package in its traceback, that package needs a build for this card too. Replacing PyTorch alone won't fix it.
  • If you'd rather not change anything, rent the GPU generation the setup was built on. That is often the quickest fix on a rented machine.

"sm_120 is not compatible with the current PyTorch installation"

This is the warning PyTorch prints for the same mismatch, before it fails. sm_120 is the compute capability of NVIDIA's RTX 50-series (Blackwell) cards. PyTorch builds for CUDA releases older than 12.8 don't include it. The message lists the generations the installed build supports.

What to do: install a PyTorch build for CUDA 12.8 or newer into ComfyUI's own Python, and check the custom nodes that ship their own compiled code. The machine's driver must be new enough for that CUDA build, which is the next error on this page. On Windows Portable, downloading a recent Portable release, which ships a recent PyTorch, is often simpler than replacing PyTorch by hand.

"The NVIDIA driver on your system is too old"

This means the machine's GPU driver is older than the CUDA build of your PyTorch needs. The driver belongs to the machine, not to your environment. On a rented container you can't upgrade it. Some templates refuse to start for the same reason with a line like unsatisfied condition: cuda>=12.8.

What to do:

  • Rent a machine with a newer driver. On RunPod and vast.ai you can filter machines by the CUDA version their driver supports. Pick one at or above the CUDA version of your PyTorch build.
  • Or install a PyTorch build for an older CUDA release, if that build still covers your card. On a new card it often doesn't.
  • nvidia-smi prints the driver version and the highest CUDA version it supports in its top line.

"No CUDA GPUs are available"

On a rented machine this usually means the GPU can't be used at all, even though the machine was sold with one. Run nvidia-smi. If it fails, or answers simple questions but errors on real work, the machine's GPU is broken and nothing inside your environment can fix it. Other causes: the container was started without GPU access, CUDA_VISIBLE_DEVICES is set to an empty value, or the card isn't an NVIDIA card.

What to do on a cloud machine: stop or terminate it and rent another. Don't spend time reinstalling on a machine whose GPU doesn't answer.

"Torch not compiled with CUDA enabled"

This means a CPU-only PyTorch is installed where the GPU build used to be. The usual cause is a custom node's requirements.txt that installed or upgraded torch from the default package index, which replaced the GPU build. It happens most often on Windows, where the default index serves CPU-only builds.

What to do: remove the CPU-only build, then install the GPU build from PyTorch's own package index into ComfyUI's Python. The install selector on pytorch.org gives the exact command for each CUDA build; pick the one that matches your card and driver. Then check that it reports a CUDA version:

Shell
$ python -m pip uninstall -y torch torchvision torchaudio
$ python -c "import torch; print(torch.version.cuda, torch.cuda.is_available())"

The first command runs before the install from pytorch.org, the second after it. On Portable, run them with python_embeded\python.exe -s -m pip and python_embeded\python.exe instead of python -m pip and python. Afterwards, look at which custom node pulled in torch, or the next install will undo the fix.

"Illegal instruction (core dumped)"

This means the CPU, not the GPU, lacks an instruction a compiled package uses. On rented x86 machines the missing set is usually avx2, which many compiled packages in an AI environment assume. The process dies with no Python traceback, often while importing.

What to do: check the CPU's instruction sets, and if avx2 is missing, rent another machine. Software on that machine can't add it.

Shell
$ grep -o -w avx2 /proc/cpuinfo | head -1

An empty result means the CPU doesn't have avx2. The similar-looking error CUDA error: an illegal instruction was encountered is a different problem. It comes from GPU code, often after an update, not from the CPU.

What Renest checks before a restore, and what it doesn't do

A Renest restore checks the machine before it downloads anything, so these mismatches show up before the big download instead of after it. Before any file moves, it refuses:

  • A GPU outside the generations the nest's PyTorch was built for. If the build carries a forward-compatible form for newer cards, it warns instead of refusing.
  • A driver older than the nest's CUDA build needs.
  • An x86 CPU without avx2.

After it installs the dependencies, it asks the installed PyTorch which CUDA version it reports. If that is a CPU-only build, or a different CUDA build from the one the nest records, the restore stops there instead of handing you an environment that fails later. The messages, their exit codes and fixes are in If a restore stops.

What it doesn't do:

  • It doesn't swap your PyTorch version. A nest carries the versions that worked on the machine you packed on. Whether a newer PyTorch would still run your custom nodes is a guess, and Renest doesn't make it. To move to a new GPU generation, get the setup working on that generation once, then pack it there.
  • It can't detect every broken machine. The check looks for the common signs of a GPU that doesn't answer and warns. A machine can still pass the check and fail once real work starts, with No CUDA GPUs are available (what to do).
  • It doesn't fix the machine. When the machine is the problem, the answer is another machine. A restore code isn't tied to one machine, so you paste the same command on the next one.

Why a set of verified files can still fail on a new machine, with the cases we measured: Every file verified, environment still dead. How the driver check once turned away good machines, and how it was fixed: Right vendor table, wrong install path.

When Renest isn't the answer

  • You need your setup to run on a GPU generation it never ran on. That means new PyTorch builds and possibly new custom node versions. Do that work on the new card. Renest can carry the result once it works there.
  • The machine itself is broken: no GPU, wrong driver, no avx2. Replace the machine.
  • You run ComfyUI on your own Windows PC and changed the card. Update PyTorch inside the Portable folder. Renest restores onto Linux machines with an NVIDIA GPU; see When you don't need Renest.

Related: Custom nodes missing or IMPORT FAILED after a move · When is a moved setup actually working?

These docs describe renest 0.1.15, the latest release.

Open format

The docs describe a format you own.

Everything here is written against the open nest format. Every nest ships a plain restore.sh that brings back its files and dependencies with zero Renest code.