Compare commits
2 Commits
0fa24404e5
...
895cd02778
| Author | SHA1 | Date | |
|---|---|---|---|
| 895cd02778 | |||
| 8efa3d911e |
21
README.org
21
README.org
@ -109,3 +109,24 @@ Notice that you can give a path for ctf for all of them by doing
|
|||||||
#+begin_src sh :eval no
|
#+begin_src sh :eval no
|
||||||
../../tools/configure-benches.sh --with-ctf=/absolute/path/to/ctf
|
../../tools/configure-benches.sh --with-ctf=/absolute/path/to/ctf
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
* Running benches
|
||||||
|
|
||||||
|
** Main benchmark
|
||||||
|
|
||||||
|
The main benchmark gets built in =bench/main= and is used to run an
|
||||||
|
atrip run with random tensors.
|
||||||
|
|
||||||
|
A common run of this script will be the following
|
||||||
|
|
||||||
|
#+begin_src sh
|
||||||
|
bench/main \
|
||||||
|
--no 100 \
|
||||||
|
--nv 1000 \
|
||||||
|
--mod 1 \
|
||||||
|
--% 0 \
|
||||||
|
--dist group \
|
||||||
|
--nocheckpoint \
|
||||||
|
--max-iterations 1000
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
|||||||
@ -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");
|
||||||
@ -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)
|
||||||
|
|||||||
@ -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)
|
||||||
|
|||||||
@ -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
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user