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
Implement multi-GPU C/Fortran methods #254
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
The C++ client referred to the parameter `first_cpu` instead of `first_gpu`. This does not have any effect on the code itself.
The C-client now has the multigpu-function documentation and signatures. The methods themselves still need to be implemented.
- Refactor some of the parameter checking - Remove repeated code that determined if the backend was TF or TFLite - Implement all set/run multigpu methods in C++ client
The MNIST tester has been modified to use the multigpu interfaces. This is simultaneously used to test both the Fortran and C implementations.
Adds the multigpu methods to delete scripts and models from the database. This also adds the variable SMARTREDIS_TEST_DEVICE that can be used to toggle the availability of GPU-related tests.
Codecov Report
@@ Coverage Diff @@
## develop #254 +/- ##
===========================================
+ Coverage 79.39% 80.15% +0.76%
===========================================
Files 52 54 +2
Lines 3091 3326 +235
===========================================
+ Hits 2454 2666 +212
- Misses 637 660 +23
|
Generally looks good. A few cosmetic issues and a few questions for you to address |
mellis13
reviewed
May 13, 2022
- Rearrange order of comments - Remove unnecessary string construction - Reorder function declarations - Add brief documentation for testing `SMARTREDIS_TEST_DEVICE` - Check for allocated status before deallocating
billschereriii
approved these changes
May 19, 2022
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.
Looks great, thanks for taking care of this!
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Convenience functions for multiple GPU systems had previously been
implemented in C++. This adds support for C and Fortran clients
for
[set,delete,run]_[model,script]_multigpu
. This also adds a variantof the existing MNIST test that uses these new methods. The running
of this test can be toggled by setting the new environment variable
SMARTREDIS_TEST_DEVICE=gpu
. This is by default set (noisly) insetup_test_env.sh
to CPU. Tests pass onosprey
.