Skip to content
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

Thread-specific singleton (from @cypof) #2067

Closed
wants to merge 2 commits into from

Conversation

longjon
Copy link
Contributor

@longjon longjon commented Mar 8, 2015

This is the first in a series of PRs pulling some work from the parallel branch/@cypof that's ready for immediate consideration, and that will be also be used by future PRs implementing orthogonal work on synchronous parallelism.

This PR switches from a single, global Caffe singleton to a per-thread singleton, and then performs the necessary circumlocutions to avoid boost/nvcc conflicts. This is both necessary and sufficient for most multi-device work. (Further refactoring to eliminate the singleton is possible, but this is a much simpler sufficient step.)

Using the same singleton in different threads is pretty certainly a bad idea, so I see no reason not to merge this change as soon it's verified to be in good working order.

@cypof, your other commits seem to be missing your name and have a different email from your github account. I used your github information for the commit I added here; please confirm that the author information is as you desire.

cypof and others added 2 commits March 7, 2015 18:17
This means that Caffe::Get has to be moved to common.cpp, and loses its
"inline" (but there are no real performance implications).
@jeffdonahue
Copy link
Contributor

Closing -- merged in #2903

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants