{"id":28909,"date":"2025-07-29T19:41:25","date_gmt":"2025-07-29T19:41:25","guid":{"rendered":"https:\/\/docs.rc.fas.harvard.edu\/?p=28909"},"modified":"2026-05-19T19:34:55","modified_gmt":"2026-05-19T19:34:55","slug":"distributed-multithreaded-checkpointing","status":"publish","type":"post","link":"https:\/\/docs.rc.fas.harvard.edu\/distributed-multithreaded-checkpointing\/","title":{"rendered":"Distributed MultiThreaded CheckPointing"},"content":{"rendered":"<h3>Overview<\/h3>\n<p><a href=\"https:\/\/github.com\/dmtcp\/dmtcp\">Distributed MultiThreaded CheckPointing<\/a> (DMTCP) is a library that can be used to add checkpointing to your code without having to do a code rewrite. DMTCP is designed to work codes that are serial or threaded, allowing users to create restarts on the fly.\u00a0 DMTCP will not work with non-GPU, non-MPI codes. You will want to make sure to have sufficient storage space for any checkpointing dumps created by DMTCP.<\/p>\n<h3>Usage<\/h3>\n<p>DMTCP is provided as a <a href=\"https:\/\/docs.rc.fas.harvard.edu\/kb\/modules-intro\/\">module<\/a> and can be loaded using\u00a0<code>module load dmtcp<\/code>. It is recommended that users select a specific version of DMTCP and note which version they are using as different versions of DMTCP may not be compatible with each other. For more see the <a href=\"https:\/\/github.com\/dmtcp\/dmtcp\/blob\/main\/QUICK-START.md\">DMTCP documentation<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Overview Distributed MultiThreaded CheckPointing (DMTCP) is a library that can be used to add checkpointing to your code without having to do a code rewrite. DMTCP is designed to work codes that are serial or threaded, allowing users to create restarts on the fly.\u00a0 DMTCP will not work with non-GPU, non-MPI codes. You will want [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[9],"tags":[312,313],"class_list":["post-28909","post","type-post","status-publish","format-standard","hentry","category-software","tag-checkpointing","tag-restart"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/docs.rc.fas.harvard.edu\/wp-json\/wp\/v2\/posts\/28909","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/docs.rc.fas.harvard.edu\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/docs.rc.fas.harvard.edu\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/docs.rc.fas.harvard.edu\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/docs.rc.fas.harvard.edu\/wp-json\/wp\/v2\/comments?post=28909"}],"version-history":[{"count":1,"href":"https:\/\/docs.rc.fas.harvard.edu\/wp-json\/wp\/v2\/posts\/28909\/revisions"}],"predecessor-version":[{"id":28910,"href":"https:\/\/docs.rc.fas.harvard.edu\/wp-json\/wp\/v2\/posts\/28909\/revisions\/28910"}],"wp:attachment":[{"href":"https:\/\/docs.rc.fas.harvard.edu\/wp-json\/wp\/v2\/media?parent=28909"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/docs.rc.fas.harvard.edu\/wp-json\/wp\/v2\/categories?post=28909"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/docs.rc.fas.harvard.edu\/wp-json\/wp\/v2\/tags?post=28909"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}