I have a simple cuda kernel. When every I run this kernel, the machine rebooted.
python3 - <<'PY'
import torch
n = 2048
a = torch.randn((n, n), device="cuda", dtype=torch.float16)
b = torch.randn_like(a)
c = torch.empty_like(a)
torch.cuda.synchronize()
for i in range(1000):
torch.mm(a, b, out=c)
torch.cuda.synchronize()
if (i + 1) % 10 == 0:
print(f"{i + 1} operations passed", flush=True)
print("all operations passed", flush=True)
PY
However, doing a copy like this kernel is fine with GPU utilization at 100%
python3 - <<'PY'
import time
import torch
size_mib = 512
iterations = 1000
elements = size_mib * 1024 * 1024 // 4 # float32 = 4 bytes
print("GPU:", torch.cuda.get_device_name(0), flush=True)
print(f"Buffers: {size_mib} MiB each", flush=True)
src = torch.ones(elements, device="cuda", dtype=torch.float32)
dst = torch.empty_like(src)
torch.cuda.synchronize()
start = time.monotonic()
for i in range(iterations):
dst.copy_(src)
torch.cuda.synchronize()
if (i + 1) % 10 == 0:
elapsed = time.monotonic() - start
transferred_gib = (i + 1) * size_mib / 1024
bandwidth = transferred_gib / elapsed
print(
f"{i + 1} copies passed, "
f"elapsed={elapsed:.2f}s, "
f"average={bandwidth:.2f} GiB/s",
flush=True,
)
print("All copies passed", flush=True)
PY
My system info:
=== JetPack / L4T ===
# R39 (release), REVISION: 2.0, GCID: 45755727, BOARD: generic, EABI: aarch64, DATE: Mon Jun 1 09:28:48 PM UTC 2026
# KERNEL_VARIANT: oot
TARGET_USERSPACE_LIB_DIR=nvidia
TARGET_USERSPACE_LIB_DIR_PATH=usr/lib/aarch64-linux-gnu/nvidia
nvidia-jetpack 7.2-b187
nvidia-l4t-core 39.2.0-20260601141651
Linux pandawn-thor-devkit-1 6.8.12-1021-tegra #1 SMP PREEMPT Mon Jun 1 13:25:46 PDT 2026 aarch64 aarch64 aarch64 GNU/Linux
=== GPU ===
Sat Jul 11 01:05:02 2026
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 595.78 Driver Version: 595.78 CUDA Version: 13.2 |
+-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 NVIDIA Thor Off | 00000000:01:00.0 Off | N/A |
| N/A 33C N/A 1W / N/A | Not Supported | 0% Default |
| | | Disabled |
+-----------------------------------------+------------------------+----------------------+
+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| 0 N/A N/A 3071 G /usr/lib/xorg/Xorg 48MiB |
| 0 N/A N/A 3170 G /usr/bin/gnome-shell 13MiB |
+-----------------------------------------------------------------------------------------+
NV Power Mode: 120W
1
=== PyTorch / CUDA ===
PyTorch version: 2.13.0+cu132
Built with CUDA: 13.2
CUDA available: True
cuDNN version: 92000
Device count: 1
GPU 0:
Name: NVIDIA Thor
Compute capability: 11.0
Multiprocessors: 20
Total memory: 122.80 GiB
I wonder if I setup/flashed the system wrong or is it just a programming error I didn’t know.