Skip to content

DavidCatalano/lxd-remote-cuda-dev

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

lxd-remote-cuda-dev

A comprehensive setup guide for containerized remote development environments using LXD on Ubuntu, with NVIDIA GPU passthrough for CUDA development. Designed for developers who need access to high-performance computing resources from lightweight client machines.

Use Cases

  • CUDA development from macOS - Access NVIDIA GPUs for machine learning, data science, and compute workloads from your MacBook
  • Clean project isolation - Test and develop without polluting your local environment
  • Reproducible dev environments - Create, snapshot, and share standardized setups across teams
  • GPU-intensive applications - Run CUDA workloads remotely without impacting local machine performance
  • Custom container workflows - Maintain clean environments for Docker development and testing

What This Guide Provides

  • LXD containerization with NVIDIA GPU passthrough
  • Container snapshots using ZFS storage backend
  • Pre-configured profiles for different development needs
  • Audio passthrough for applications requiring sound
  • Remote access via SSH and web UI
  • Standardized workflows for creating and managing custom images

Documentation Index

Core Setup

  1. Host Setup
  2. Initialize LXD
  3. Networking Configuration
  4. Remote Access & Web UI
  5. Local Mac/Linux Client Setup

Container Configuration & Usage

  1. Audio Passthrough
  2. LXD Profiles
  3. Creating & Starting Containers
  4. Custom Image Workflow
  5. LXC Command Reference
  6. Custom Image Details: sbox-lg

Appendices

Configuration Notes

This documentation originated as internal setup notes, so you'll need to update several environment-specific values:

  • Server name: References to Devbox
  • IP addresses: Primary server (10.0.0.10), client placeholder (10.0.0.254), static IP container range (10.0.0.150-155)
  • Container Username: Default ubuntu user
  • SSH keys: Placeholder keys in ssh-*.yaml profiles
  • Network interface: eno1 in bridge configuration
  • Storage: ZFS pool path /data/fast/sandboxes/zfs.img

Contributing

Contributions, bug reports, and suggestions are welcome. Please open an issue or submit a pull request.

About

Containerized remote development environment with LXD and NVIDIA GPU passthrough for CUDA development

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages