Add --max-iterations to main bench

This commit is contained in:
Alejandro Gallo 2022-12-06 20:38:38 +01:00
parent 0fa24404e5
commit 8efa3d911e
3 changed files with 12 additions and 6 deletions

View File

@ -16,7 +16,7 @@
int main(int argc, char** argv) { int main(int argc, char** argv) {
MPI_Init(&argc, &argv); MPI_Init(&argc, &argv);
size_t checkpoint_it; size_t checkpoint_it, max_iterations;
int no(10), nv(100), itMod(-1), percentageMod(10); int no(10), nv(100), itMod(-1), percentageMod(10);
float checkpoint_percentage; float checkpoint_percentage;
bool bool
@ -30,6 +30,9 @@ int main(int argc, char** argv) {
app.add_option("--no", no, "Occupied orbitals"); app.add_option("--no", no, "Occupied orbitals");
app.add_option("--nv", nv, "Virtual orbitals"); app.add_option("--nv", nv, "Virtual orbitals");
app.add_option("--mod", itMod, "Iteration modifier"); app.add_option("--mod", itMod, "Iteration modifier");
app.add_option("--max-iterations",
max_iterations,
"Maximum number of iterations to run");
app.add_flag("--keep-vppph", keepVppph, "Do not delete Vppph"); app.add_flag("--keep-vppph", keepVppph, "Do not delete Vppph");
app.add_flag("--nochrono", nochrono, "Do not print chrono"); app.add_flag("--nochrono", nochrono, "Do not print chrono");
app.add_flag("--rank-round-robin", rankRoundRobin, "Do rank round robin"); app.add_flag("--rank-round-robin", rankRoundRobin, "Do rank round robin");
@ -48,11 +51,11 @@ int main(int argc, char** argv) {
#if defined(HAVE_CUDA) #if defined(HAVE_CUDA)
size_t ooo_threads = 0, ooo_blocks = 0; size_t ooo_threads = 0, ooo_blocks = 0;
app.add_option("--ooo-blocks", app.add_option("--ooo-blocks",
ooo_blocks, ooo_blocks,
"CUDA: Number of blocks per block for kernels going through ooo tensors"); "CUDA: Number of blocks per block for kernels going through ooo tensors");
app.add_option("--ooo-threads", app.add_option("--ooo-threads",
ooo_threads, ooo_threads,
"CUDA: Number of threads per block for kernels going through ooo tensors"); "CUDA: Number of threads per block for kernels going through ooo tensors");
#endif #endif
CLI11_PARSE(app, argc, argv); CLI11_PARSE(app, argc, argv);
@ -199,6 +202,7 @@ int main(int argc, char** argv) {
.with_iterationMod(itMod) .with_iterationMod(itMod)
.with_percentageMod(percentageMod) .with_percentageMod(percentageMod)
.with_tuplesDistribution(tuplesDistribution) .with_tuplesDistribution(tuplesDistribution)
.with_maxIterations(max_iterations)
// checkpoint options // checkpoint options
.with_checkpointAtEveryIteration(checkpoint_it) .with_checkpointAtEveryIteration(checkpoint_it)
.with_checkpointAtPercentage(checkpoint_percentage) .with_checkpointAtPercentage(checkpoint_percentage)

View File

@ -86,7 +86,7 @@ namespace atrip {
ADD_ATTRIBUTE(bool, rankRoundRobin, false) ADD_ATTRIBUTE(bool, rankRoundRobin, false)
ADD_ATTRIBUTE(bool, chrono, false) ADD_ATTRIBUTE(bool, chrono, false)
ADD_ATTRIBUTE(bool, barrier, false) ADD_ATTRIBUTE(bool, barrier, false)
ADD_ATTRIBUTE(int, maxIterations, 0) ADD_ATTRIBUTE(size_t, maxIterations, 0)
ADD_ATTRIBUTE(int, iterationMod, -1) ADD_ATTRIBUTE(int, iterationMod, -1)
ADD_ATTRIBUTE(int, percentageMod, -1) ADD_ATTRIBUTE(int, percentageMod, -1)
ADD_ATTRIBUTE(TuplesDistribution, tuplesDistribution, NAIVE) ADD_ATTRIBUTE(TuplesDistribution, tuplesDistribution, NAIVE)

View File

@ -773,6 +773,8 @@ Atrip::Output Atrip::run(Atrip::Input<F> const& in) {
Atrip::chrono["iterations"].stop(); Atrip::chrono["iterations"].stop();
// ITERATION END %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%{{{1 // ITERATION END %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%{{{1
if (in.maxIterations != 0 && i >= in.maxIterations) break;
} }
// END OF MAIN LOOP // END OF MAIN LOOP