-
Notifications
You must be signed in to change notification settings - Fork 42
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
Implementation of compounded vectors. #423
Comments
It might be a good idea to consider vector views that do not own the data, but are used for user/application to read/write from appropriate locations. In the example you are showing, you would allocate only My concern is if you go with a wrapper of multiple vectors, it is difficult to control where in the memory these vectors will be allocated. If parts of |
Vector views is definitely a good idea for performance. But I think the "views" need to implement But, imo, compound vectors (of vectors, including vector views) will still be useful to keep the code simple. |
The way I see it, implementing vector view could be as easy as adding another constructor or two to the existing vector class plus a flag indicating if the object owns the data. I agree, having a block (compound) vector object in addition to vector views would indeed help remove explicit pointer arithmetic from algorithm classes without significant performance hit. |
Closed by #621 |
It's better to implement something for blocked vectors, e.g., a wrapper for multiple single vectors in a compound vector.
By doing this, we can have better memory management in HiOp.
For instance, we can avoid unnecessary data transfer in this function .
The text was updated successfully, but these errors were encountered: