Skip to content

Commit 71dd568

Browse files
Round up scaled iteration count to ensure growth
1 parent 6642c9a commit 71dd568

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

libc/benchmarks/gpu/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ add_unittest_framework_library(
5050
libc.src.__support.CPP.atomic
5151
libc.src.__support.CPP.array
5252
libc.src.__support.FPUtil.fp_bits
53+
libc.src.__support.FPUtil.nearest_integer_operations
5354
libc.src.__support.FPUtil.sqrt
5455
libc.src.__support.fixedvector
5556
libc.src.__support.GPU.utils

libc/benchmarks/gpu/LibcGpuBenchmark.cpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
#include "src/__support/CPP/atomic.h"
66
#include "src/__support/CPP/string.h"
77
#include "src/__support/FPUtil/FPBits.h"
8+
#include "src/__support/FPUtil/NearestIntegerOperations.h"
89
#include "src/__support/FPUtil/sqrt.h"
910
#include "src/__support/GPU/utils.h"
1011
#include "src/__support/fixedvector.h"
@@ -134,7 +135,7 @@ void print_results(Benchmark *b) {
134135
cpp::atomic_thread_fence(cpp::MemoryOrder::RELEASE);
135136

136137
LIBC_NAMESPACE::printf(
137-
"%-24s |%15.0f |%9.0f |%8llu |%8llu |%11llu |%9u |\n",
138+
"%-24s |%15.0f |%9.0f |%8llu |%8llu |%15llu |%9u |\n",
138139
b->get_test_name().data(), final_result.cycles,
139140
final_result.standard_deviation,
140141
static_cast<unsigned long long>(final_result.min),
@@ -149,7 +150,7 @@ void print_header() {
149150
benchmarks[0]->get_suite_name().data());
150151
LIBC_NAMESPACE::printf("%s", RESET);
151152
cpp::string titles = "Benchmark | Cycles (Mean) | Stddev | "
152-
" Min | Max | Iterations | Threads |\n";
153+
" Min | Max | Iterations | Threads |\n";
153154
LIBC_NAMESPACE::printf(titles.data());
154155

155156
cpp::string separator(titles.size(), '-');
@@ -228,7 +229,8 @@ BenchmarkResult benchmark(const BenchmarkOptions &options,
228229
change_ratio < options.epsilon)
229230
break;
230231

231-
iterations = static_cast<uint32_t>(iterations * options.scaling_factor);
232+
iterations = static_cast<uint32_t>(
233+
fputil::ceil(iterations * options.scaling_factor));
232234
}
233235

234236
const auto &estimator = rep.get_estimator();

0 commit comments

Comments
 (0)