Jetpack 7.2 on Dev Kit reboot when running cuda kernel

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.

Hi,

Which power supply do you use? Do you use the one with the devkit?

Thanks.

Hi,

We test the kernel on the same environment for 10 times and all passed.

$ 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
10 operations passed
20 operations passed
30 operations passed
40 operations passed
50 operations passed
60 operations passed
70 operations passed
80 operations passed
90 operations passed
100 operations passed
110 operations passed
120 operations passed
130 operations passed
140 operations passed
150 operations passed
160 operations passed
170 operations passed
180 operations passed
190 operations passed
200 operations passed
210 operations passed
220 operations passed
230 operations passed
240 operations passed
250 operations passed
260 operations passed
270 operations passed
280 operations passed
290 operations passed
300 operations passed
310 operations passed
320 operations passed
330 operations passed
340 operations passed
350 operations passed
360 operations passed
370 operations passed
380 operations passed
390 operations passed
400 operations passed
410 operations passed
420 operations passed
430 operations passed
440 operations passed
450 operations passed
460 operations passed
470 operations passed
480 operations passed
490 operations passed
500 operations passed
510 operations passed
520 operations passed
530 operations passed
540 operations passed
550 operations passed
560 operations passed
570 operations passed
580 operations passed
590 operations passed
600 operations passed
610 operations passed
620 operations passed
630 operations passed
640 operations passed
650 operations passed
660 operations passed
670 operations passed
680 operations passed
690 operations passed
700 operations passed
710 operations passed
720 operations passed
730 operations passed
740 operations passed
750 operations passed
760 operations passed
770 operations passed
780 operations passed
790 operations passed
800 operations passed
810 operations passed
820 operations passed
830 operations passed
840 operations passed
850 operations passed
860 operations passed
870 operations passed
880 operations passed
890 operations passed
900 operations passed
910 operations passed
920 operations passed
930 operations passed
940 operations passed
950 operations passed
960 operations passed
970 operations passed
980 operations passed
990 operations passed
1000 operations passed
all operations passed

Could you help us to check if any error log is shown in the UART log?
Thanks

Thank you for the response.

We’ve had a usb-c cable extension that’s only support 100W. I plugged the power supply directly to the dev kit and the kernel run don’t shutdown the machine again.