Skip to content
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

Reduce dependency on std::vector #40

Open
rileyjmurray opened this issue May 24, 2023 · 5 comments
Open

Reduce dependency on std::vector #40

rileyjmurray opened this issue May 24, 2023 · 5 comments

Comments

@rileyjmurray
Copy link
Contributor

rileyjmurray commented May 24, 2023

@PTNobel and @burlen have reported that using std::vector<T> instead of plain buffers T* makes it harder to adapt RandLAPACK code for GPUs. We should identify the places where std::vector<T> is actually necessary and where it can be replaced by T*. In general, if we have a std::vector vec and a code path does not call RandLAPACK::util::upsize(new_size, vec), then we can probably replace vec with a buffer.

Fixing this isn't urgent, but the sooner we do it, the easier it will be.

@rileyjmurray
Copy link
Contributor Author

@TeachRaccooon can you give a status update on where we are with this?

@TeachRaccooon
Copy link
Contributor

I'll soon be opening a new PR which changes CQRRPT to be fully pointer-based.
After that PR is merged, I can work on applying this change across RandLAPACK.

@rileyjmurray
Copy link
Contributor Author

@TeachRaccooon can I get another update on this?

@TeachRaccooon
Copy link
Contributor

I haven't deliberately gotten back to the existing code to resolve this.
However, the newer driver functions (CQRRPT, CQRRP, RBKI) and any related utilities, as well as the rl_gen code have been updated to work with pointers,

@rileyjmurray
Copy link
Contributor Author

Good stuff. Just wanted to know where we stand.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants