-
Notifications
You must be signed in to change notification settings - Fork 60
Multi-threaded derivative #230
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
Multi-threaded derivative #230
Conversation
b9aed21 to
f34e746
Compare
|
I made the CI checks for compilation run even if the branch isn't master. Let me know if I should remove this. |
f34e746 to
5a363ac
Compare
|
First test:
|
|
Test: with But with this branch, we get: Admittedly it does take less time to get the wrong answer (11s -> 5s). |
|
Hmm... I am still getting bad results for |
|
OK, so now it works with Here Hmm... its also possible that It looks like there is now an instruction called |
…ich however we do not
…umbers to avoid segfault on linux
|
So now it works on my computer and gives the same results as on the hmc-clock branch. One weird thing is that the run time (measured using the |
|
I also see that the aarch64 build is failing now... |
|
Seems like updating the image from ubuntu-20.04 to ubuntu-22.04 may have fixed the aarch64 build. |
|
I tried to see why the multithreaded run isn't faster, and I found that with 6 threads it takes 5.8 seconds, but it defaults to 24 threads which takes 8.8 seconds. So maybe the changes that lower the magic multi-threading limit should be reverted. Or even raised (although I didn't do any benchmarks here). The weird thing is that all 24 threads appear to be continuously busy. In other cases, the program could be slow because one thread takes a long time, but other threads finish early and are doing nothing. However, here it seems like creating more threads also creates more work. Could some of the threads be doing duplicate work? |
…up/beagle-lib into multi-threaded-derivative
Allow multithreading for derivative operations. This PR is copying some changes from ji-group/action-dev.