-
Notifications
You must be signed in to change notification settings - Fork 88
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
Add a memory space abstraction #654
Conversation
3bc66c5
to
b6129c9
Compare
b6129c9
to
48c9e61
Compare
Note: After thinking about this I decided that it does not really make sense to try to force this into a non-interface breaking addition. There are a couple of things that are problematic:
So, I think maybe it is indeed better to wait to add this until 2.0.0. But I guess we could possibly merge this into the |
Kudos, SonarCloud Quality Gate passed! 0 Bugs 41.2% Coverage The version of Java (1.8.0_121) you have used to run this analysis is deprecated and we will stop accepting it from October 2020. Please update to at least Java 11. |
Codecov Report
@@ Coverage Diff @@
## develop #654 +/- ##
===========================================
- Coverage 92.90% 92.60% -0.30%
===========================================
Files 318 320 +2
Lines 22360 22445 +85
===========================================
+ Hits 20773 20785 +12
- Misses 1587 1660 +73
Continue to review full report at Codecov.
|
To reduce the number of PR's, I will close this for now as we dont want really long standing PR's anyway. We can open another one later maybe after 2.0 |
This PR is a draft PR which showcases how a memory space abstraction would look like in Ginkgo. All the memory operations such as
alloc
,free
andraw_copy_to
's are move from the Executor to the MemorySpace class.By default, Executors are created with separate new memory space objects thereby trying to maintain the same behaviour as before this PR. Executors can also be created with an associated memory space. In that case, with matching memory spaces, the data would not be copied.
This PR is experimental and is available for anyone who wants to discuss and play around with the code.
Please feel free to point out problems and issues with the current implementation and suggestions for improvements are welcome.
TODO
Update:
Interface breaking change, See #402