Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/checkpoint-restore/criu.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRajneesh Bhardwaj <rajneesh.bhardwaj@amd.com>2021-12-15 22:18:02 +0300
committerAndrei Vagin <avagin@gmail.com>2022-04-29 03:53:52 +0300
commit55a5993bc73a6d2e9551f275c78e0907c5dff686 (patch)
treeaf358f8558042b0d6c04887d7f2718d3a8bf65e8 /Makefile
parent71ff9cc045634c86d446fd4c13df43895f39bd28 (diff)
criu/plugin: Support AMD ROCm Checkpoint Restore with KFD
To support Checkpoint Restore with AMDGPUs for ROCm workloads, introduce a new plugin to assist CRIU with the help of AMD KFD kernel driver. This initial commit just provides the basic framework to build up further capabilities. Like CRIU, the amdgpu plugin also uses protobuf to serialize and save the amdkfd data which is mostly VRAM contents with some metadata. We generate a data file "amdgpu-kfd-<id>.img" during the dump stage. On restore this file is read and extracted to re-create various types of buffer objects that belonged to the previously checkpointed process. Upon restore the mmap page offset within a device file might change so we use the new hook to update and adjust the mmap offsets for newly created target process. This is needed for sys_mmap call in pie restorer phase. Support for queues and events is added in future patches of this series. With the current implementation (amdgpu_plugin), we support: - Only compute workloads such (Non Gfx) are supported - GPU visible inside a container - AMD GPU Gfx 9 Family - Pytorch Benchmarks such as BERT Base amdgpu plugin dependes on libdrm and libdrm_amdgpu which are typically installed with libdrm-dev package. We build amdgpu_plugin only when the dependencies are met on the target system and when user intends to install the amdgpu plugin and not by default with criu build. Suggested-by: Felix Kuehling <felix.kuehling@amd.com> Co-authored-by: David Yat Sin <david.yatsin@amd.com> Signed-off-by: David Yat Sin <david.yatsin@amd.com> Signed-off-by: Rajneesh Bhardwaj <rajneesh.bhardwaj@amd.com>
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile13
1 files changed, 7 insertions, 6 deletions
diff --git a/Makefile b/Makefile
index 3f12ad3a0..9bb221796 100644
--- a/Makefile
+++ b/Makefile
@@ -284,9 +284,9 @@ clean mrproper:
$(Q) $(MAKE) $(build)=crit $@
.PHONY: clean mrproper
-clean-dummy_amdgpu_plugin:
+clean-amdgpu_plugin:
$(Q) $(MAKE) -C plugins/amdgpu clean
-.PHONY: clean dummy_amdgpu_plugin
+.PHONY: clean-amdgpu_plugin
clean-top:
$(Q) $(MAKE) -C Documentation clean
@@ -294,9 +294,9 @@ clean-top:
$(Q) $(RM) .gitid
.PHONY: clean-top
-clean: clean-top clean-dummy_amdgpu_plugin
+clean: clean-top clean-amdgpu_plugin
-mrproper-top: clean-top clean-dummy_amdgpu_plugin
+mrproper-top: clean-top clean-amdgpu_plugin
$(Q) $(RM) $(CONFIG_HEADER)
$(Q) $(RM) $(VERSION_HEADER)
$(Q) $(RM) $(COMPEL_VERSION_HEADER)
@@ -324,9 +324,9 @@ test: zdtm
$(Q) $(MAKE) -C test
.PHONY: test
-dummy_amdgpu_plugin:
+amdgpu_plugin: criu
$(Q) $(MAKE) -C plugins/amdgpu all
-.PHONY: dummy_amdgpu_plugin
+.PHONY: amdgpu_plugin
#
# Generating tar requires tag matched CRIU_VERSION.
@@ -408,6 +408,7 @@ help:
@echo ' unittest - Run unit tests'
@echo ' lint - Run code linters'
@echo ' indent - Indent C code'
+ @echo ' amdgpu_plugin - Make AMD GPU plugin'
.PHONY: help
lint: