我现在计划使用 BLCR 为 CUDA 应用程序制作 Checkpoint/Restart 库。
为此,我必须在进程运行期间完全销毁 CUDA 应用程序。
因为,如果进程仍在 GPU 上,BLCR 将无法运行 cr_checkpoint。实际上,我尝试在某个时候调用 cudaDeviceReset(),然后在调用 sleep(1000) 之后,在 sleep 系统调用期间,我发送了这样的信号; cr_checkpoint PID
. 这种情况下,我成功创建了 context.PID 文件,但无法像这样运行;cr_run context.PID
. 错误信息如下;
-mmap(0, 200000000, 2700000000, ...) = 0xfffffffffffffff4(失败)-thaw_threads 返回错误,中止。-12 重启失败:无法分配内存
有人对此有任何想法吗?总结如下。
- 我计划使用 BLCR 为 CUDA 应用程序制作 Checkpoint/Restart 库。
- 尝试调用cudaDeviceReset()函数,但重启失败(创建context.PID文件成功但重启失败)
- 我想知道如何在进程运行期间完全销毁或重置 CUDA 应用程序。
如果有人给我任何想法,我会应用它。