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

GPU implementation of block2 #21

Open
hungpham2017 opened this issue Oct 19, 2022 · 2 comments
Open

GPU implementation of block2 #21

hungpham2017 opened this issue Oct 19, 2022 · 2 comments

Comments

@hungpham2017
Copy link

Hello,

Thank you for the great library.
I am not so familiar with the DMRG algorithm and block2 implementation so I am curious if there is a GPU implementation of the code. Is there any effort on it from some other branches/developers or maybe the GPU-enhanced code would solve no problem even if it exists ...?
Thank you for your time.

@hczhai
Copy link
Contributor

hczhai commented Oct 19, 2022

Thanks for your interest in block2.

Currently there is no GPU implementation of the code. We may consider it at some later time, maybe next year.

Internally, block2 relies heavily on the block-sparse tensor algebra, this data structure is essential for achieving high efficiency in CPU. In these block-sparse tensors, the blocks can have very different (big and small) sizes. For GPU, it is more advantageous to have either very big tensors (so that one can directly call cuTENSOR functions) or many small tensors with the same size (so that it can be easily parallelized using a GPU kernel). Unfortunately, these are not the cases for block2.

Therefore, a GPU support in block2 is a non-trivial thing. But clearly it is an interesting research project. We will put some efforts to make it possible. If you have a long term interest on this, you may leave this issue open and I will keep you informed of any progress.

@hungpham2017
Copy link
Author

That makes sense. Thank you for your prompt response. I am looking forward to incoming updates.

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