DEV Community

Cover image for Python 3.13 GPU on Jetson Nano with Headless Mac M3
Minwook Je
Minwook Je

Posted on • Edited on

Python 3.13 GPU on Jetson Nano with Headless Mac M3

I'll set up my Jetson Nano as a headless device, connecting it to my MacBook via USB-C to Ethernet. The Mac will be on Wi-Fi, sharing its internet with Jetson while I access it over SSH, ensuring Jetson operates without Wi-Fi.

1. Product

  • USB 3.1 c-type to RJ45

  • M3 Macbook

2. Setup

1. Physical Connection

  • Connect the Mac and Jetson using a USB-C to LAN adapter and an Ethernet cable.

2. Mac Configuration

  • System Preferences > Network > Ethernet(LAN):
    • Select "Configure Using DHCP" to automatically assign an IP (typically 192.168.2.1).
  • System Preferences > Sharing:
    • Enable "Internet Sharing".
    • Share from: Wi-Fi, To computers using: Ethernet(LAN).

3. Jetson Configuration

  • Install and enable SSH server:
$ sudo apt update
$ sudo apt install openssh-server
$ sudo systemctl enable ssh
$ sudo systemctl start ssh
Enter fullscreen mode Exit fullscreen mode
  • Disable Wi-Fi (use Mac connection only):
$ nmcli radio wifi off
Enter fullscreen mode Exit fullscreen mode
  • Set a static IP for the Ethernet interface:
$ sudo nmcli connection modify "Wired connection 1" ipv4.method manual ipv4.addresses "192168.2.2/24" ipv4.gateway "192.168.2.1" ipv4.dns "8.8.8.8"
$ sudo nmcli connection up "Wired connection 1"
Enter fullscreen mode Exit fullscreen mode

4. Verify Connection

  • SSH into Jetson from Mac:
$ ssh jetson@192.168.2.2
Enter fullscreen mode Exit fullscreen mode
  • Check internet connectivity from Jetson:
$ ping google.com
Enter fullscreen mode Exit fullscreen mode

4. Cuda12 & Pytorch2.*

$ sudo apt install -y python3.12
$ python3 --version

# cuda
$ sudo apt install -y ubuntu-drivers-common
$ sudo ubuntu-drivers autoinstall
$ sudo apt-get install -y cuda-toolkit-12-6

$ echo 'export PATH=/usr/local/cuda-12.6/bin:$PATH' >> ~/.bashrc
$ echo 'export LD_LIBRARY_PATH=/usr/local/cuda-12.6/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
$ source ~/.bashrc

$ nvidia-smi # check

# pytorch 2.x
$ python3.12 -m venv .venv
$ source .venv/bin/activate
$ pip install torch --index-url https://download.pytorch.org/whl/cu126
$ pip install torchvision torchaudio
$ python3 -c "import torch; print('PyTorch version:', torch.__version__); print('Device:', torch.device('cuda' if torch.has_cuda else 'cpu'))"
Enter fullscreen mode Exit fullscreen mode

Top comments (0)