-
Notifications
You must be signed in to change notification settings - Fork 44
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
Change the device library to use CUDA runtime API #589
Conversation
@KineticTheory @jhchang-lanl I'm open to any idea on how to name GPU tests, libraries, files etc. Just let me know and I'll change it. |
1c9407e
to
aa3a68c
Compare
Codecov Report
@@ Coverage Diff @@
## develop #589 +/- ##
=========================================
- Coverage 93.7% 92% -1.7%
=========================================
Files 377 364 -13
Lines 17665 16933 -732
=========================================
- Hits 16554 15581 -973
- Misses 1111 1352 +241 |
Codecov Report
@@ Coverage Diff @@
## develop #589 +/- ##
=========================================
+ Coverage 93.7% 93.7% +<.1%
=========================================
Files 377 380 +3
Lines 17665 17791 +126
=========================================
+ Hits 16554 16673 +119
- Misses 1111 1118 +7 |
aa3a68c
to
507ab6d
Compare
+ Add a simple CUDA compilation step during configure to determine the apporiate arhcitecture flags + Allow add_componenet_library to accept a library type different than the DRACO_LIBRARY_TYPE variable + Change the GPU_Device class to use the newer CUDA Runtime API + Remove the GPU_Module class (explicit module and contexts are not necessary in the Runtime API) + Remove "EXTERN C" decorations (these are also no longer necessary in the Runtime API since functions do not need to be loaded explicity) + Add a test that shows an example of calling code from both the host and device + Consolidate calls to simple GPU test kernels into a "basic_kernels" header and implementation file + Compile auxillary GPU test code into a static library callable by the individual gpu tests
507ab6d
to
4776fa7
Compare
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.
Overall, this looks pretty good. In fact, we might use the planning meeting on Monday to read through this code. It will be instructive for all of us.
@KineticTheory @clevelam Is email from gitlab working |
Some weirdness...
I'll help you fix this one. |
@KineticTheory I've tried to address all of your comments and the Travis CI is passing. This should be ready for merge once the CDash is clean. |
Background
GPU_Device
helper class to use these newer functions. It also demonstrates how to compile a library of CUDA functions that can be called from either the host or device. To linking to a library of CUDA device functions the target library must be static. This required a slight change to theadd_component_library
CMake macro.Purpose of Pull Request
Description of changes
Status