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
- added very cute, very essential emojis to markdown titles
- added a tutorial
- added a main docs/README.md
- added a main tests/README.md
- made markdown hyperlinks work on both Github and Doxygen
- made markdown files appear as Doxygen pages
- made macros appear in Doxygen docs via function/const/typedef spoofing
- patched code snippet syntax (from C++ to cpp; doxygen didn't recognise the former)
- renamed run.md to launch.md
See the commit breakdown in PR #585
The macro spoofing was necessary to workaround the Doxygen limitation described here:
https://stackoverflow.com/questions/79548865
Note that hyperlinks to sections within the markdown files (e.g. `[x](file.md#section)`) cannot be handled by Doxygen at all. A user clicking such a hyperlink in the generated html will hit a 404. These little user-traps have been marked with comments in the markdown files. Alas!
Copy file name to clipboardExpand all lines: README.md
+13-24Lines changed: 13 additions & 24 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -40,7 +40,7 @@
40
40
<!-- intro -->
41
41
42
42
> [!NOTE]
43
-
> QuEST `v4` has been released which re-designed QuEST from the ground up. Read about the exciting new features [here](/docs/v4.md).
43
+
> QuEST `v4` has been released which re-designed QuEST from the ground up. Read about the exciting new features [here](docs/v4.md).
44
44
45
45
The **Quantum Exact Simulation Toolkit** (QuEST) is a high-performance simulator of quantum statevectors and density matrices.
46
46
It hybridises **multithreading**, **GPU acceleration** and **distribution** to run lightning fast on laptops, desktops and
@@ -83,19 +83,16 @@ In particular, QuEST `v4` was made possible through the support of the UK Nation
83
83
84
84
</div>
85
85
86
-
To learn more:
87
86
87
+
<!-- <a> used below for doxygen compatibility -->
88
+
89
+
To learn more:
90
+
- view the <ahref="#main_documentation">documentation</a>
88
91
- visit the [website](https://quest.qtechtheory.org/)
89
-
- see some [examples](/examples/)
90
-
- view the [documentation](#documentation)
91
-
- browse the [API](https://quest-kit.github.io/QuEST/group__api.html)
92
92
- read the [whitepaper](https://www.nature.com/articles/s41598-019-47174-9), which featured in Scientific Report's [Top 100 in Physics](https://www.nature.com/collections/ecehgdfcba/):trophy:
93
93
94
-
<divalign="center">
95
94
96
95
97
-
</div>
98
-
99
96
---------------------------------
100
97
101
98
@@ -105,7 +102,7 @@ To learn more:
105
102
## 🎉 Introduction
106
103
107
104
QuEST has a simple interface which is agnostic to whether it's running on CPUs, GPUs or a networked supercomputer.
> not sure where to put below (snippet from DiRAC)
3
+
<!--
4
+
Doc overview
5
+
(this comment must be under the title for valid doxygen rendering)
4
6
5
-
gpu_launch.sh wrapper script
6
-
The gpu_launch.sh wrapper script is required to set the correct binding of GPU to MPI processes and the correct binding of interconnect interfaces to MPI process and GPU. We provide this centrally for convenience but its contents are simple:
7
+
@author Tyson Jones
8
+
-->
7
9
8
-
```
9
-
#!/bin/bash
10
+
<!-- @todo remove this when doc done -->
11
+
> [!IMPORTANT]
12
+
> QuEST's `v4` documentation is still under construction.
13
+
14
+
QuEST has been overhauled! See
15
+
16
+
- 🎉 [`v4.md`](v4.md) for the exciting new features.
17
+
18
+
To get started with QuEST, check out
19
+
20
+
- 🔧 [`compilers.md`](compilers.md) for a list of compatible compilers.
21
+
- 🔗 [`qtechtheory.org`](https://quest.qtechtheory.org/download/) for some help downloading compilers.
22
+
- 🛠️ [`compile.md`](compile.md) for instructions on compiling.
23
+
- ⚙️ [`cmake.md`](cmake.md) for a list of compiler variables.
24
+
- 🚀 [`launch.md`](launch.md) to learn how to run QuEST on laptops to supercomputers.
25
+
- 🎓 [`tutorial.md`](tutorial.md) for an introductory tutorial.
26
+
- 📋 [API](https://quest-kit.github.io/QuEST/group__api.html) for the documentation of each function.
10
27
11
-
# Compute the raw process ID for binding to GPU and NIC
12
-
lrank=$((SLURM_PROCID % SLURM_NTASKS_PER_NODE))
28
+
Interested in contributing? Then check out:
13
29
14
-
# Bind the process to the correct GPU and NIC
15
-
export CUDA_VISIBLE_DEVICES=${lrank}
16
-
export UCX_NET_DEVICES=mlx5_${lrank}:1
30
+
- ❤️ [`contributing.md`](contributing.md) to learn how to make a pull request.
31
+
- 🏗️ [`architecture.md`](architecture.md) to understand the code structure.
32
+
- 🎨 [`styleguide.md`](styleguide.md) for some tips on writing neat code.
33
+
34
+
Want to learn how what's under the hood? Read the
35
+
- 🏆 [whitepaper](https://www.nature.com/articles/s41598-019-47174-9) which featured in Scientific Report's [Top 100 in Physics](https://www.nature.com/collections/ecehgdfcba/)
36
+
- 📝 [preprint](https://arxiv.org/abs/2311.01512) which derives `v4`'s optimised algorithms.
37
+
- 🧪 [tests](/tests) which compare QuEST's outputs to non-optimised calculations.
38
+
- 📈 [benchmarks](https://www.youtube.com/watch?v=dQw4w9WgXcQ) which are coming soon!
39
+
40
+
41
+
If QuEST is useful to you, feel free to cite
42
+
```
43
+
@article{jones2019quest,
44
+
title={QuEST and high performance simulation of quantum computers},
45
+
author={Jones, Tyson and Brown, Anna and Bush, Ian and Benjamin, Simon C},
Copy file name to clipboardExpand all lines: docs/architecture.md
+3-2Lines changed: 3 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,11 +1,12 @@
1
+
# 🏗️ Architecture
2
+
1
3
<!--
2
4
Explanation of QuEST's software architecture
5
+
(this comment must be under the title for valid doxygen rendering)
3
6
4
7
@author Tyson Jones
5
8
-->
6
9
7
-
# Architecture
8
-
9
10
All user-visible API signatures are contained in `include/`, divided into semantic submodules (like `calculations.h` and `qureg.h`), but all exposed by `quest.h`. They are all strictly `C`_and_`C++` compatible, hence their `.h` file extension.
10
11
11
12
The source code within `src/` is divided between five subdirectories, listed below in order of increasing control flow depth. All code is parsed strictly by `C++`, hence all files have `.cpp` and `.hpp` extensions.
Copy file name to clipboardExpand all lines: docs/cmake.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,13 +1,13 @@
1
+
# ⚙️ CMake
2
+
1
3
<!--
2
4
Instructions for compiling QuEST with CMake
5
+
(this comment must be under the title for valid doxygen rendering)
3
6
4
7
@author Oliver Thomson Brown
5
8
@author Tyson Jones (test variables)
6
9
-->
7
10
8
-
9
-
# CMake Configuration Options in QuEST
10
-
11
11
Version 4 of QuEST includes reworked CMake to support library builds, CMake export, and installation. Here we detail useful variables to configure the compilation of QuEST. If using a Unix-like operating system any of these variables can be set using the `-D` flag when invoking CMake, for example:
0 commit comments