-
Notifications
You must be signed in to change notification settings - Fork 16
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
some fixes to benchmark framework including weak scaling of wave equation #577
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.
Thanks for fixing the weak scaling issue.
"--different-devices", | ||
is_flag=True, | ||
default=False, | ||
help="Ensures there are no multiple ranks on one SYCL device", |
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.
help="Ensures there are no multiple ranks on one SYCL device", | |
help="Ensures there are not multiple ranks on one SYCL device", |
include/dr/mhp/global.hpp
Outdated
@@ -129,7 +129,8 @@ inline std::string hostname() { | |||
inline sycl::queue &sycl_queue() { return __detail::gcontext()->sycl_queue_; } | |||
inline auto dpl_policy() { return __detail::gcontext()->dpl_policy_; } | |||
|
|||
inline sycl::queue select_queue(MPI_Comm comm = MPI_COMM_WORLD) { | |||
inline sycl::queue select_queue(MPI_Comm comm, |
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.
inline sycl::queue select_queue(MPI_Comm comm, | |
inline sycl::queue select_queue( |
It is OK to delete the comm argument so the recommended usage can remain: select_queue()
. We don't support or test different comms anyway.
@@ -666,7 +673,8 @@ int main(int argc, char *argv[]) { | |||
|
|||
static void WaveEquation_DR(benchmark::State &state) { | |||
|
|||
int n = 4000; | |||
int n = ::sqrtl(default_vector_size); |
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.
It seems strange that the running time is only 1 second because 4000 * 4000 = 16M and default vector size is 2B, but I see you did an actual benchmarking run.
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.
It seems strange that the running time is only 1 second because 4000 * 4000 = 16M and default vector size is 2B, but I see you did an actual benchmarking run.
I need to rerun. I've checked this again and I saw that I had manually specified a size when creating my plot. It was smaller than default. Hence 1sec :( I need to wait with checking this until they devcloud will resolve Invalid account or account/partition combination specified problem.
Ugly hack is to add n/=4
line to change default just in this test. Nice way is to change size of this test in suite in python.
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.
@@ -447,6 +461,7 @@ def multi_node(base): | |||
base.vec_size = [vec_size] | |||
base.reps = reps | |||
base.weak_scaling = weak_scaling | |||
base.different_devices = different_devices |
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.
I am not happy with the code I wrote here. The redundancy in adding arguments is just 1 problem. Now that we understand better what the runner and plotter has to do, I expect something much simpler could work. Something to think about in the future....
The appropriate problem size depends on the benchmark. We need a size that will work for performance measurement and a size that is good for a quick test. Using --default-vector-size to control everything will not work. Something like:
|
I have an idea of writing suites in just flat way - no |
No description provided.