-
Notifications
You must be signed in to change notification settings - Fork 6
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
feat: Parallel taso with crossbeam #113
Conversation
(still using the buggy version)
I moved the priority queue to the workers, leaving them to trim it instead of using a centralized one.
Here I'm thinking that Luca's multiple threads may work better now, since we can ensure that batched "good results" are distributed evenly between the workers 🤔 |
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.
Looking nice!
Co-authored-by: Luca Mondada <[email protected]>
Simplifies the multithreading logic by using a multi-consumer channel. Includes some small improvements to the TASO bin. Now, why is this a draft: I'm testing with `barenco_tof_5_rm` and `Nam_6_3_complete_ECC_set` on my 12-core laptop. Here are some results with a timeout of `10` seconds: | | circuits seen after 10s | best size after 10s | | ----------------- | ------ | ---- | | single-threaded | 7244 | 178 | | -j 2 | 31391 | 204 | | -j 10 | 42690 | 204 | There's something wrong somewhere :P (note that `-j N` means `N` worker threads, plus the master) --------- Co-authored-by: Luca Mondada <[email protected]> Co-authored-by: Luca Mondada <[email protected]>
Simplifies the multithreading logic by using a multi-consumer channel.
Includes some small improvements to the TASO bin.
Now, why is this a draft:
I'm testing with
barenco_tof_5_rm
andNam_6_3_complete_ECC_set
on my 12-core laptop. Here are some results with a timeout of10
seconds:There's something wrong somewhere :P
(note that
-j N
meansN
worker threads, plus the master)