-
Notifications
You must be signed in to change notification settings - Fork 5.3k
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
WIP: Threading upgrade #1350
WIP: Threading upgrade #1350
Conversation
@dogancan, are you still planning to work on this? |
@danpovey, @jtrmal: As far as I recall, I left this in a state ready for test/review. Since threading code can be error prone and some changes in this PR are non-trivial, I would appreciate if someone can do a careful review. I would also appreciate if someone can test the new threading code on example setups. The other item left on the list is the refactoring/rewrite of the multi-threaded parallelization utilities ( |
Oh, great. I didn't realize it was ready for review. |
Sure, I can take care of the conflicts. Please note that although most of the changes are straightforward, as far as I recall there were some non-trivial changes in this PR. Also, what do you think about the following items?
|
I agree with those changes.
…On Wed, May 24, 2017 at 4:10 PM, Dogan Can ***@***.***> wrote:
Sure, I can take care of the conflicts. Please note that although most of
the changes are straightforward, as far as I recall there were some
non-trivial changes in this PR.
Also, what do you think about the following items?
- Removing the remaining code in src/thread/ (kaldi-mutex.{h,cc},
kaldi-barrier.{h,cc}) that is no longer used/needed. I don't think there is
any point in keeping these around after this change.
- A good amount of pthread related error checking code was removed. Do
we need/want to introduce try/catch blocks to handle exceptions thrown by
std::thread? I don't think we want to catch those exceptions.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#1350 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/ADJVuxzYTp4Ocl1PAfon8UX_9pmXsSC1ks5r9I7SgaJpZM4LmnoP>
.
|
@danpovey I resolved the conflicts and removed the src/thread directory. |
OK, thanks. Merging. |
This is work in progress. See #1234 for earlier discussion.
Note that this PR includes the changes from #1249 and is mainly for comments and discussion. Threading related changes are at the end of the commit list.To-do list:
Semaphore
and multi-threaded parallelization utilities (MultiThreader
,TaskSequencer
) using STL thread support library instead of pthread.src/thread/
.src/thread/kaldi-task-sequence.h
tosrc/thread/kaldi-thread.h
. Move the tests insrc/thread/kaldi-task-sequence-test.cc
tosrc/thread/kaldi-thread-test.cc
.src/thread/kaldi-semaphore.{h,cc}
,src/thread/kaldi-thread.{h,cc}
andsrc/thread/kaldi-thread-test.cc
tosrc/util/
.src/thread/
(kaldi-mutex.{h,cc}, kaldi-barrier.{h,cc}
) that is no longer used/needed.src/util
.src/util
.MultiThreader
,TaskSequencer
) ?@danpovey, @jtrmal: I think this is more or less ready for review.