AMDGPU_PLUGIN(1)
β¨ NAME β¨
okay bestie, meet amdgpu_plugin π¦, a plugin extension for CRIU that adds checkpoint/restore in userspace for AMD GPUs. it's giving main character energy π
π CURRENT SUPPORT π
here's what's already working, no cap π₯
- Single and Multi GPU systems (Gfx9)
- Checkpoint / Restore on different system
- Checkpoint / Restore inside a docker container
- Pytorch
- Tensorflow
- Using CRIU Image Streamer
πΈ DESCRIPTION πΈ
so criu is literally a great tool for checkpointing and restoring running apps π₯Ή but it has some limits. like, it can't handle apps that have device files open π which is a big problem for ROCm stuff. so to make ROCm workloads work with criu, we need to level up criu's core functionality with a plugin-based extension mechanism β¨. that's where amdgpu_plugin comes in. it gives criu the support it needs to do Checkpoint / Restore with ROCm π
π§© Dependencies
- amdkfd support β to snapshot the VRAM and other GPU device states, we need an updated amdkfd(amdgpu) driver. the kernel patches are under review currently π«Ά
criu 3.16β this work is rebased on the latest criu release available at this time π
π OPTIONS π
bestie, the optional parameters are passed in as environment variables before you run the criu command. it's so easy π§
KFD_FW_VER_CHECKβ flip the firmware version check on or off. when it's on, the firmware version on the restored gpu has to be greater than or equal to the firmware version on the checkpointed gpu.Default:Enabled
E.g:
KFD_FW_VER_CHECK=0
KFD_SDMA_FW_VER_CHECKβ same vibe, but for the SDMA firmware version check. when it's on, the SDMA firmware version on the restored gpu has to be greater than or equal to the SDMA firmware version on the checkpointed gpu.Default:Enabled
E.g:
KFD_SDMA_FW_VER_CHECK=0
KFD_CACHES_COUNT_CHECKβ enable or disable the caches count check π. if it's on, the caches count on the restored gpu needs to be greater than or equal to the caches count on the checkpointed gpu.Default:Enabled
E.g:
KFD_CACHES_COUNT_CHECK=0
KFD_NUM_GWS_CHECKβ enable or disable the num_gws check β. if it's on, the num_gws on the restored gpu has to be greater than or equal to the num_gws on the checkpointed gpu.Default:Enabled
E.g:
KFD_NUM_GWS_CHECK=0
KFD_VRAM_SIZE_CHECKβ enable or disable the VRAM size check π. if it's on, the VRAM size on the restored gpu needs to be greater than or equal to the VRAM size on the checkpointed gpu.Default:Enabled
E.g:
KFD_VRAM_SIZE_CHECK=0
KFD_NUMA_CHECKβ enable or disable the NUMA CPU region check π§ . if it's on, the plugin will restore GPUs that belong to one CPU NUMA region to the same CPU NUMA region.Default:Enabled
E.g:
KFD_NUMA_CHECK=1
KFD_CAPABILITY_CHECKβ enable or disable the capability check π. if it's on, the capability on the restored gpu needs to be equal to the capability on the checkpointed gpu.Default:Enabled
E.g:
KFD_CAPABILITY_CHECK=1
π«Ά AUTHOR π«Ά
the AMDKFD team, who are honestly so talented π₯Ίπ
π¦ COPYRIGHT π¦
Copyright (C) 2020-2021, Advanced Micro Devices, Inc. (AMD)
π that's the whole tea, bestie. this page is from ROCM SUPPORT(1), dated 08/24/2025. stay iconic π πΈ
π¦ where this page comes from
- debian bookworm: criu 3.17.1-2+deb12u2 Β· GPL-2.0-only
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms