You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 9307f5e
Browse filesBrowse the repository at this point in the historyBrowse files
Added new functions saveQuregToFile() and createQuregFromFile(), which are optionally enabled through ADIOS2 with new CMake option QUEST_ENABLE_ADIOS2.
Ashmit added the core functionality, doc and prototyped tests. Tyson added input validation, bug fixes, and auto ADIOS2 downloading.
---------
Co-authored-by: Tyson Jones <tyson.jones.input@gmail.com>
Copy file name to clipboardExpand all lines: docs/cmake.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -44,6 +44,8 @@ make
44
44
|`QUEST_ENABLE_CUDA`| (`OFF`), `ON`| Determines whether QuEST will be built with support for NVIDIA GPU acceleration. If turned on, `CMAKE_CUDA_ARCHITECTURES` should probably also be set. |
45
45
|`QUEST_ENABLE_CUQUANTUM`| (`OFF`), `ON`| Determines whether QuEST will make use of the NVIDIA CuQuantum library. Cannot be turned on if `QUEST_ENABLE_CUDA` is off. |
46
46
|`QUEST_ENABLE_HIP`| (`OFF`), `ON`| Determines whether QuEST will be built with support for AMD GPU acceleration. If turned on, `CMAKE_HIP_ARCHITECTURES` should probably also be set. |
47
+
|`QUEST_ENABLE_ADIOS2`| (`OFF`), `ON`| Determines whether QuEST will be built with ADIOS2 to enable checkpointing, via functions `saveQuregToFile()` and `createQuregFromFile()`. |
48
+
|`QUEST_DOWNLOAD_ADIOS2`| (`ON`), `OFF`| Determines whether to download ADIOS2 from Github, when ADIOS2 is enabled but not found. |
47
49
|`QUEST_ENABLE_DEPRECATED_API`| (`OFF`), `ON`| Determines whether QuEST will be built with support for the deprecated (v3) API. ***Note**: this will generate compiler warnings and is not supported by MSVC.*|
48
50
|`QUEST_DISABLE_DEPRECATION_WARNINGS`| (`OFF`), `ON`| Whether to disable the compile-time deprecation warnings when using the deprecated (v3) API. |
49
51
|`USER_SOURCE_NAMES`| (Undefined), String | The source file for a user program which will be compiled alongside QuEST. `USER_OUTPUT_EXE_NAME`*must* also be defined. |
> -[`cmake.md`](cmake.md) for the full list of passable compiler variables.
@@ -689,3 +690,32 @@ Note that distributed executables are launched in a distinct way to the other de
689
690
> - UCX
690
691
> - launch flags
691
692
> - checking via reportenv
693
+
694
+
695
+
696
+
697
+
------------------
698
+
699
+
700
+
<!-- permit doxygen to reference section -->
701
+
<aid="compile_checkpointing"></a>
702
+
703
+
## Checkpointing
704
+
705
+
QuEST has optional facilities for _checkpointing_ a `Qureg`; writing its state to a file with [`saveQuregToFile()`](https://quest-kit.github.io/QuEST/group__experimental.html#gaf9a1aec34fdfdb3c650dc60e5a8ac9d9), to be later restored into a new `Qureg` with [`createQuregFromFile()`](https://quest-kit.github.io/QuEST/group__experimental.html#gab1ebe89e2ff15470fa340d4c2ced5703). This is useful for long-running jobs which risk timeout or failure - an evolving `Qureg` can be periodically saved and resumed in a subsequent process.
706
+
707
+
Checkpointing is built upon [ADIOS2](https://github.com/ornladios/ADIOS2) and is _disabled_ by default. To enable it, simply specify `QUEST_ENABLE_ADIOS2` at configuration:
708
+
```bash
709
+
# configure
710
+
cmake .. -D QUEST_ENABLE_ADIOS2=ON
711
+
712
+
# build
713
+
cmake --build . --parallel
714
+
```
715
+
716
+
If a compatible ADIOS2 is not found, it will be automatically downloaded and installed from the ADIOS2 [Github](https://github.com/ornladios/ADIOS2), unless `QUEST_DOWNLOAD_ADIOS2` is overridden to be `OFF`. If an existing ADIOS2 is installed in a non-standard location (such as `~/.local`), pass its prefix via [`CMAKE_PREFIX_PATH`](https://cmake.org/cmake/help/latest/variable/CMAKE_PREFIX_PATH.html):
0 commit comments