Skip to content

Commit eefa94e

Browse files
authored
add gemini (#18)
* add gemini script * add gemini generation outputs * add results
1 parent dc89f2d commit eefa94e

File tree

9 files changed

+312
-33
lines changed

9 files changed

+312
-33
lines changed

drivers/cpp/models/cuda-driver.cu

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,14 @@ int main(int argc, char **argv) {
8383
/* initialize */
8484
Context *ctx = init();
8585

86+
/* validate */
87+
const bool isValid = validate(ctx);
88+
printf("Validation: %s\n", isValid ? "PASS" : "FAIL");
89+
if (!isValid) {
90+
destroy(ctx);
91+
return 0;
92+
}
93+
8694
/* benchmark */
8795
double totalTime = 0.0;
8896
CudaTimer timer;
@@ -110,10 +118,6 @@ int main(int argc, char **argv) {
110118
}
111119
printf("BestSequential: %.*f\n", DBL_DIG-1, totalTime / NITER);
112120

113-
/* validate */
114-
const bool isValid = validate(ctx);
115-
printf("Validation: %s\n", isValid ? "PASS" : "FAIL");
116-
117121
/* cleanup */
118122
destroy(ctx);
119123

drivers/cpp/models/hip-driver.cu

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,14 @@ int main(int argc, char **argv) {
8383
/* initialize */
8484
Context *ctx = init();
8585

86+
/* validate */
87+
const bool isValid = validate(ctx);
88+
printf("Validation: %s\n", isValid ? "PASS" : "FAIL");
89+
if (!isValid) {
90+
destroy(ctx);
91+
return 0;
92+
}
93+
8694
/* benchmark */
8795
double totalTime = 0.0;
8896
HipTimer timer;
@@ -110,10 +118,6 @@ int main(int argc, char **argv) {
110118
}
111119
printf("BestSequential: %.*f\n", DBL_DIG-1, totalTime / NITER);
112120

113-
/* validate */
114-
const bool isValid = validate(ctx);
115-
printf("Validation: %s\n", isValid ? "PASS" : "FAIL");
116-
117121
/* cleanup */
118122
destroy(ctx);
119123

drivers/cpp/models/kokkos-driver.cc

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,15 @@ int main(int argc, char **argv) {
4444
/* initialize */
4545
Context *ctx = init();
4646

47+
/* validate */
48+
const bool isValid = validate(ctx);
49+
printf("Validation: %s\n", isValid ? "PASS" : "FAIL");
50+
if (!isValid) {
51+
destroy(ctx);
52+
Kokkos::finalize();
53+
return 0;
54+
}
55+
4756
/* benchmark */
4857
double totalTime = 0.0;
4958
Kokkos::Timer timer;
@@ -67,10 +76,6 @@ int main(int argc, char **argv) {
6776
}
6877
printf("BestSequential: %.*f\n", DBL_DIG-1, totalTime / NITER);
6978

70-
/* validate */
71-
const bool isValid = validate(ctx);
72-
printf("Validation: %s\n", isValid ? "PASS" : "FAIL");
73-
7479
/* cleanup */
7580
destroy(ctx);
7681

drivers/cpp/models/mpi-driver.cc

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,18 @@ int main(int argc, char **argv) {
5252
/* initialize */
5353
Context *ctx = init();
5454

55+
/* validate */
56+
const bool isValid = validate(ctx);
57+
if (rank == 0) {
58+
printf("Validation: %s\n", isValid ? "PASS" : "FAIL");
59+
60+
if (!isValid) {
61+
destroy(ctx);
62+
MPI_Abort(MPI_COMM_WORLD, 0);
63+
return 0;
64+
}
65+
}
66+
5567
/* benchmark */
5668
double totalTime = 0.0;
5769
for (int i = 0; i < NITER; i += 1) {
@@ -85,12 +97,6 @@ int main(int argc, char **argv) {
8597
}
8698
MPI_Barrier(MPI_COMM_WORLD);
8799

88-
/* validate */
89-
const bool isValid = validate(ctx);
90-
if (rank == 0) {
91-
printf("Validation: %s\n", isValid ? "PASS" : "FAIL");
92-
}
93-
94100
/* cleanup */
95101
destroy(ctx);
96102

drivers/cpp/models/mpi-omp-driver.cc

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,18 @@ int main(int argc, char **argv) {
5555
/* initialize */
5656
Context *ctx = init();
5757

58+
/* validate */
59+
const bool isValid = validate(ctx);
60+
if (rank == 0) {
61+
printf("Validation: %s\n", isValid ? "PASS" : "FAIL");
62+
63+
if (!isValid) {
64+
destroy(ctx);
65+
MPI_Abort(MPI_COMM_WORLD, 0);
66+
return 0;
67+
}
68+
}
69+
5870
/* benchmark */
5971
double totalTime = 0.0;
6072
for (int i = 0; i < NITER; i += 1) {
@@ -88,12 +100,6 @@ int main(int argc, char **argv) {
88100
}
89101
MPI_Barrier(MPI_COMM_WORLD);
90102

91-
/* validate */
92-
const bool isValid = validate(ctx);
93-
if (rank == 0) {
94-
printf("Validation: %s\n", isValid ? "PASS" : "FAIL");
95-
}
96-
97103
/* cleanup */
98104
destroy(ctx);
99105

drivers/cpp/models/omp-driver.cc

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,14 @@ int main(int argc, char **argv) {
4747
/* initialize */
4848
Context *ctx = init();
4949

50+
/* validate */
51+
const bool isValid = validate(ctx);
52+
printf("Validation: %s\n", isValid ? "PASS" : "FAIL");
53+
if (!isValid) {
54+
destroy(ctx);
55+
return 0;
56+
}
57+
5058
/* benchmark */
5159
double totalTime = 0.0;
5260
for (int i = 0; i < NITER; i += 1) {
@@ -69,10 +77,6 @@ int main(int argc, char **argv) {
6977
}
7078
printf("BestSequential: %.*f\n", DBL_DIG-1, totalTime / NITER);
7179

72-
/* validate */
73-
const bool isValid = validate(ctx);
74-
printf("Validation: %s\n", isValid ? "PASS" : "FAIL");
75-
7680
/* cleanup */
7781
destroy(ctx);
7882

drivers/cpp/models/serial-driver.cc

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,14 @@ int main(int argc, char **argv) {
4444
/* initialize */
4545
Context *ctx = init();
4646

47+
/* validate */
48+
const bool isValid = validate(ctx);
49+
printf("Validation: %s\n", isValid ? "PASS" : "FAIL");
50+
if (!isValid) {
51+
destroy(ctx);
52+
return 0;
53+
}
54+
4755
/* benchmark */
4856
double totalTime = 0.0;
4957
for (int i = 0; i < NITER; i += 1) {
@@ -68,10 +76,6 @@ int main(int argc, char **argv) {
6876
}
6977
printf("BestSequential: %.*f\n", DBL_DIG-1, totalTime / NITER);
7078

71-
/* validate */
72-
const bool isValid = validate(ctx);
73-
printf("Validation: %s\n", isValid ? "PASS" : "FAIL");
74-
7579
/* cleanup */
7680
destroy(ctx);
7781

drivers/driver_wrapper.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ def are_all_valid(self) -> bool:
113113
def best_sequential_runtime(self) -> Optional[float]:
114114
""" Return the min value for sequential runtime. """
115115
if self.did_build() and self.did_any_run():
116-
return min(r.best_sequential_runtime for r in self.run_outputs if r.best_sequential_runtime is not None)
116+
return min((r.best_sequential_runtime for r in self.run_outputs if r.best_sequential_runtime is not None), default=None)
117117
else:
118118
return None
119119

0 commit comments

Comments
 (0)