Fix Linux release build exceeding 4GB PyInstaller limit

Install CPU-only PyTorch on Linux and exclude nvidia modules from
non-CUDA PyInstaller builds.
This commit is contained in:
Jamie Pine
2026-03-13 21:19:24 -07:00
parent 9044b986f3
commit f3fc63942f
2 changed files with 17 additions and 6 deletions
+12
View File
@@ -90,6 +90,18 @@ def build_server(cuda=False):
'--hidden-import', 'torch.cuda',
'--hidden-import', 'torch.backends.cudnn',
])
else:
# Exclude NVIDIA CUDA packages from CPU-only builds to keep binary under 4GB.
# On Linux, pip may pull CUDA-enabled PyTorch by default which includes ~3GB
# of NVIDIA shared libraries that PyInstaller would bundle.
nvidia_packages = [
'nvidia', 'nvidia.cublas', 'nvidia.cuda_cupti', 'nvidia.cuda_nvrtc',
'nvidia.cuda_runtime', 'nvidia.cudnn', 'nvidia.cufft', 'nvidia.curand',
'nvidia.cusolver', 'nvidia.cusparse', 'nvidia.nccl', 'nvidia.nvjitlink',
'nvidia.nvtx',
]
for pkg in nvidia_packages:
args.extend(['--exclude-module', pkg])
# Add MLX-specific imports if building on Apple Silicon (never for CUDA builds)
if is_apple_silicon() and not cuda: