-
Notifications
You must be signed in to change notification settings - Fork 15
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
Compatibility issues between Eigen and GPUs (OpenACC/CUDA) #728
Conversation
… branch (BBP repo) + suitable API
… branch (BBP repo) + suitable API : WIP
… branch (BBP repo) + suitable API : WIP
Logfiles from GitLab pipeline #15814 (:white_check_mark:) have been uploaded here! Status and direct links: |
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.
LGTM. Just a few questions
… branch (BBP repo) + suitable API
Logfiles from GitLab pipeline #15838 (:white_check_mark:) have been uploaded here! Status and direct links: |
Codecov Report
@@ Coverage Diff @@
## master #728 +/- ##
==========================================
- Coverage 60.71% 60.67% -0.05%
==========================================
Files 200 200
Lines 33362 33385 +23
==========================================
Hits 20255 20255
- Misses 13107 13130 +23
Continue to review full report at Codecov.
|
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.
Apart from minor comment, LGTM
* Resolve Eigen-OpenACC compatibility issues - See the changes done in NMODL: BlueBrain/nmodl/pull/728 * As part of this PR we now build `partial_piv_lu.cu` from NMODL * Some CUDA warnings are suppressed because they are assumed safe and can be ignored by end users. * Update README to fix code examples
…ueBrain/CoreNeuron#624) * Resolve Eigen-OpenACC compatibility issues - See the changes done in NMODL: BlueBrain/nmodl/pull/728 * As part of this PR we now build `partial_piv_lu.cu` from NMODL * Some CUDA warnings are suppressed because they are assumed safe and can be ignored by end users. * Update README to fix code examples CoreNEURON Repo SHA: BlueBrain/CoreNeuron@2b3e746
This PR solves the compatibility issues between Eigen and GPUs (OpenACC/CUDA).
Two factors contribute to the above solution:
__device__
function from within OpenACC regions. In more details, Eigen-3.5+ provides better GPU support; however, some functions cannot be called directly from within OpenACC regions. Therefore, we need to wrap them in a special API (decorate them with__device__
&acc routine
tokens), which allows us to eventually call them from OpenACC. Calling these functions from CUDA kernels presents no issue ...This PR closes/replaces the following PRs:
This PR works in combination with CoreNEURON's PR # 624 (minor changes to include the new Eigen API).
This PR closes the following issues: