-
Notifications
You must be signed in to change notification settings - Fork 112
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improvements to main.cpp #186
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minor nitpicks and one major change (no using namespace std;
)
EDIT: will do this in a sub-sequent PR using I've noticed while testing on GPUs with more than 104 GB of memory that the results were "wrong". Fixing this required using |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the refactor, @gonzalobg! This is looking great - just the ordering of the execution to invert in two places and then I think it's good to go.
Co-authored-by: Tom Deakin <[email protected]>
Co-authored-by: Tom Deakin <[email protected]>
@tomdeakin finished the changes :) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ordering LGMT now - thanks.
Just some weird mixed tab/space issues causes misaligned indenting so we need to run a tabs->spaces conversion to fix that.
Co-authored-by: Tom Deakin <[email protected]>
Co-authored-by: Tom Deakin <[email protected]>
@tomdeakin fixed. |
Thanks @gonzalobg ! |
This PR gives a pass to
main.cpp
to make it much easier to add newer benchmarks in the future.Main changes are:
--only
option enables specifying different groups or individual benchmarks, e.g.,--only Classic
runs the classic 5 benchmarks,--only All
runs all benchmarks (e.g. including nstream), and--only Triad
runs only triad, etc.--triad-only
/--nstream-only
options removed (replaced by--only Triad
and--only Nstream
).--only Triad
now runstriad
in the exact same way as all other benchmarks, i.e., timing each individual iteration. Before, the outer loop was being timed.--gigabytes
and similar option print the bandwidths in GB/s (or GiB/s, MB/s, MiB/s)Bug fixes:
Init
were incorrect; the timers fromRead
were incorrectly used for bothInit
andRead
.Future:
Scan
is pretty straightforward: bump benchmark count by 1, and add them to all places in the code that fail (runner, checker, and that's it..).