Skip to content

Commit 5ca3daa

Browse files
added reportScalar, reportStr and setNumReportedNewlines
to improve the user printing experience. Updated the examples to use these, and additionally made further patches to CI address sanitizer tests.
1 parent 0195c6a commit 5ca3daa

29 files changed

+367
-174
lines changed

.github/workflows/audit.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,9 @@ jobs:
9898
run: cmake --build ${{ env.build_dir }} --parallel
9999

100100
- name: Install valgrind
101-
run: sudo apt install -y valgrind
101+
run: >
102+
sudo apt-get update;
103+
sudo apt install -y valgrind
102104
103105
# make valgrind fail CI if detecting issue when running unit tests in a randomised order
104106
# TODO:

examples/numbers/arithmetic.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ int main() {
102102
x /= (double) 2;
103103
x /= (long double) 2;
104104

105-
reportQcomp(x);
105+
reportScalar("x", x);
106106
#endif
107107

108108
finalizeQuESTEnv();

examples/numbers/arithmetic.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ int main() {
1616
// use 1_i instead of 1i to make the complex literal precision agnostic
1717
qcomp x = 1.2 + 3.4_i;
1818

19-
// C with non-same-prec C
20-
x *= 1.5i - 2i - x + 3.5*x / 10.5_i;
19+
// C with non-same-prec C (does not change x to keep consistency with arithemtic.c)
20+
qcomp y = 1.5i - 2i - x + 3.5*x / 10.5_i;
2121

2222
// C + R
2323
x = x + (int) 3;
@@ -103,7 +103,7 @@ int main() {
103103
x /= (double) 2;
104104
x /= (long double) 2;
105105

106-
reportQcomp(x);
106+
reportScalar("x", x);
107107

108108
finalizeQuESTEnv();
109109
return 0;

examples/paulis/initialisation.c

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -17,26 +17,14 @@
1717

1818

1919

20-
/*
21-
* distributed printing
22-
*/
23-
24-
void rootPrint(const char* str) {
25-
26-
if (getQuESTEnv().rank == 0)
27-
printf("\n%s\n", str);
28-
}
29-
30-
31-
3220
/*
3321
* PauliStr
3422
*/
3523

3624

3725
void demo_getInlinePauliStr() {
3826

39-
rootPrint("[demo_getInlinePauliStr]");
27+
reportStr("[demo_getInlinePauliStr]");
4028

4129
// can specify indices as {...} without temporary-array syntax
4230
PauliStr a = getInlinePauliStr("XYZII", {4,3,2,1,0});
@@ -56,7 +44,7 @@ void demo_getInlinePauliStr() {
5644

5745
void demo_getPauliStr() {
5846

59-
rootPrint("[demo_getPauliStr]");
47+
reportStr("[demo_getPauliStr]");
6048

6149
// in-line via temporary array
6250
PauliStr a = getPauliStr("XYZ", (int[]) {5,6,7}, 3);
@@ -109,7 +97,7 @@ void demo_getPauliStr() {
10997

11098
void demo_createInlinePauliStrSum() {
11199

112-
rootPrint("[demo_createInlinePauliStrSum]");
100+
reportStr("[demo_createInlinePauliStrSum]");
113101

114102
// coeffs can be real, imag, or complex
115103
PauliStrSum a = createInlinePauliStrSum(
@@ -147,7 +135,7 @@ void demo_createInlinePauliStrSum() {
147135

148136
void demo_createPauliStrSum() {
149137

150-
rootPrint("[demo_createPauliStrSum]");
138+
reportStr("[demo_createPauliStrSum]");
151139

152140
// inline using temporary arrays
153141
PauliStrSum a = createPauliStrSum(
@@ -189,7 +177,7 @@ void demo_createPauliStrSum() {
189177

190178
void demo_createPauliStrSumFromFile() {
191179

192-
rootPrint("[demo_createPauliStrSumFromFile]");
180+
reportStr("[demo_createPauliStrSumFromFile]");
193181

194182
char *fn = "test.txt";
195183

@@ -216,7 +204,7 @@ void demo_createPauliStrSumFromFile() {
216204

217205
void demo_createPauliStrSumFromReversedFile() {
218206

219-
rootPrint("[demo_createPauliStrSumFromReversedFile]");
207+
reportStr("[demo_createPauliStrSumFromReversedFile]");
220208

221209
PauliStrSum a = createPauliStrSumFromReversedFile("test.txt");
222210
reportPauliStrSum(a);

examples/paulis/initialisation.cpp

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -15,26 +15,14 @@ using std::vector;
1515

1616

1717

18-
/*
19-
* distributed printing
20-
*/
21-
22-
void rootPrint(std::string str) {
23-
24-
if (getQuESTEnv().rank == 0)
25-
std::cout << std::endl << str << std::endl;
26-
}
27-
28-
29-
3018
/*
3119
* PauliStr
3220
*/
3321

3422

3523
void demo_getInlinePauliStr() {
3624

37-
rootPrint("[demo_getInlinePauliStr]");
25+
reportStr("[demo_getInlinePauliStr]");
3826

3927
// can specify indices as {...} without temporary-array syntax
4028
PauliStr a = getInlinePauliStr("XYZII", {4,3,2,1,0});
@@ -54,7 +42,7 @@ void demo_getInlinePauliStr() {
5442

5543
void demo_getPauliStr() {
5644

57-
rootPrint("[demo_getPauliStr]");
45+
reportStr("[demo_getPauliStr]");
5846

5947
// C++ can pass no indices to set Paulis upon rightmost qubits
6048
PauliStr a = getPauliStr("XYZ");
@@ -104,7 +92,7 @@ void demo_getPauliStr() {
10492

10593
void demo_createInlinePauliStrSum() {
10694

107-
rootPrint("[demo_createInlinePauliStrSum]");
95+
reportStr("[demo_createInlinePauliStrSum]");
10896

10997
// coeffs can be real, imag, or complex (via C++ raw multilines)
11098
PauliStrSum a = createInlinePauliStrSum(R"(
@@ -142,7 +130,7 @@ void demo_createInlinePauliStrSum() {
142130

143131
void demo_createPauliStrSum() {
144132

145-
rootPrint("[demo_createPauliStrSum]");
133+
reportStr("[demo_createPauliStrSum]");
146134

147135
// inline using C++ vector initialisers
148136
PauliStrSum a = createPauliStrSum(
@@ -180,7 +168,7 @@ void demo_createPauliStrSum() {
180168

181169
void demo_createPauliStrSumFromFile() {
182170

183-
rootPrint("[demo_createPauliStrSumFromFile]");
171+
reportStr("[demo_createPauliStrSumFromFile]");
184172

185173
std::string fn = "test.txt";
186174

@@ -208,7 +196,7 @@ void demo_createPauliStrSumFromFile() {
208196

209197
void demo_createPauliStrSumFromReversedFile() {
210198

211-
rootPrint("[demo_createPauliStrSumFromReversedFile]");
199+
reportStr("[demo_createPauliStrSumFromReversedFile]");
212200

213201
PauliStrSum a = createPauliStrSumFromReversedFile("test.txt");
214202
reportPauliStrSum(a);

examples/reporters/env.c

Lines changed: 6 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -14,20 +14,6 @@
1414

1515

1616

17-
/*
18-
* distributed printing
19-
*/
20-
21-
22-
void rootPrint(const char* mode) {
23-
24-
// cannot call this before initialising QuEST
25-
if (getQuESTEnv().rank == 0)
26-
printf("[%s]\n\n", mode);
27-
}
28-
29-
30-
3117
/*
3218
* environment deployments
3319
*/
@@ -41,7 +27,7 @@ void demo_serial() {
4127

4228
initCustomQuESTEnv(useDistrib, useGpuAccel, useMultithread);
4329

44-
rootPrint("serial");
30+
reportStr("serial");
4531
reportQuESTEnv();
4632
}
4733

@@ -54,7 +40,7 @@ void demo_multithreaded() {
5440

5541
initCustomQuESTEnv(useDistrib, useGpuAccel, useMultithread);
5642

57-
rootPrint("multithreaded");
43+
reportStr("multithreaded");
5844
reportQuESTEnv();
5945
}
6046

@@ -67,7 +53,7 @@ void demo_gpuAccelerated() {
6753

6854
initCustomQuESTEnv(useDistrib, useGpuAccel, useMultithread);
6955

70-
rootPrint("GPU-accelerated");
56+
reportStr("GPU-accelerated");
7157
reportQuESTEnv();
7258
}
7359

@@ -80,7 +66,7 @@ void demo_distributed() {
8066

8167
initCustomQuESTEnv(useDistrib, useGpuAccel, useMultithread);
8268

83-
rootPrint("distributed");
69+
reportStr("distributed");
8470
reportQuESTEnv();
8571
}
8672

@@ -93,7 +79,7 @@ void demo_all() {
9379

9480
initCustomQuESTEnv(useDistrib, useGpuAccel, useMultithread);
9581

96-
rootPrint("all");
82+
reportStr("all");
9783
reportQuESTEnv();
9884
}
9985

@@ -102,7 +88,7 @@ void demo_auto() {
10288

10389
initQuESTEnv();
10490

105-
rootPrint("auto");
91+
reportStr("auto");
10692
reportQuESTEnv();
10793
}
10894

examples/reporters/env.cpp

Lines changed: 6 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -14,20 +14,6 @@
1414

1515

1616

17-
/*
18-
* distributed printing
19-
*/
20-
21-
22-
void rootPrint(std::string mode) {
23-
24-
// cannot call this before initialising QuEST
25-
if (getQuESTEnv().rank == 0)
26-
std::cout << "[" << mode << "]" << std::endl << std::endl;
27-
}
28-
29-
30-
3117
/*
3218
* environment deployments
3319
*/
@@ -41,7 +27,7 @@ void demo_serial() {
4127

4228
initCustomQuESTEnv(useDistrib, useGpuAccel, useMultithread);
4329

44-
rootPrint("serial");
30+
reportStr("serial");
4531
reportQuESTEnv();
4632
}
4733

@@ -54,7 +40,7 @@ void demo_multithreaded() {
5440

5541
initCustomQuESTEnv(useDistrib, useGpuAccel, useMultithread);
5642

57-
rootPrint("multithreaded");
43+
reportStr("multithreaded");
5844
reportQuESTEnv();
5945
}
6046

@@ -67,7 +53,7 @@ void demo_gpuAccelerated() {
6753

6854
initCustomQuESTEnv(useDistrib, useGpuAccel, useMultithread);
6955

70-
rootPrint("GPU-accelerated");
56+
reportStr("GPU-accelerated");
7157
reportQuESTEnv();
7258
}
7359

@@ -80,7 +66,7 @@ void demo_distributed() {
8066

8167
initCustomQuESTEnv(useDistrib, useGpuAccel, useMultithread);
8268

83-
rootPrint("distributed");
69+
reportStr("distributed");
8470
reportQuESTEnv();
8571
}
8672

@@ -93,7 +79,7 @@ void demo_all() {
9379

9480
initCustomQuESTEnv(useDistrib, useGpuAccel, useMultithread);
9581

96-
rootPrint("all");
82+
reportStr("all");
9783
reportQuESTEnv();
9884
}
9985

@@ -102,7 +88,7 @@ void demo_auto() {
10288

10389
initQuESTEnv();
10490

105-
rootPrint("auto");
91+
reportStr("auto");
10692
reportQuESTEnv();
10793
}
10894

examples/reporters/matrices.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
#include <iostream>
1414

1515

16+
1617
void rootPrint(qindex num) {
1718

1819
if (getQuESTEnv().rank != 0)

0 commit comments

Comments
 (0)