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

Add the support for tensor network benchmarking #41

Open
liweintu opened this issue Feb 16, 2023 · 5 comments
Open

Add the support for tensor network benchmarking #41

liweintu opened this issue Feb 16, 2023 · 5 comments

Comments

@liweintu
Copy link
Contributor

We add the support for the benchmarking of tensor network backend in simulation. First quimb, then cuQuantum.

This was referenced Feb 16, 2023
@liweintu
Copy link
Contributor Author

To add qibotn as a backend, there're two options.

  1. In .benchmarks/libraries/qibo.py, extend the Qibo class to support qibotn as a new backend.
  2. In .benchmarks/libraries/, create a new file qibotn.py to add qibo-supported TNet backends.

IMHO, if we want to package both state vector and TNet support into qibo, option 1 is favoured.

@alecandido Which one do you recommend?

@alecandido
Copy link
Member

Given that qibotn is somehow falling under the hat of Qibo, I would see option 1 as the favored alternative as well, exactly for the same reason you are arguing.

However, in this context I'm not an authoritative source, I believe we should ask for the opinion of @stavros11 (who mostly developed the benchmarks and a large part of Qibo itself), and of course @scarrazza.

@liweintu
Copy link
Contributor Author

Given that qibotn is somehow falling under the hat of Qibo, I would see option 1 as the favored alternative as well, exactly for the same reason you are arguing.

However, in this context I'm not an authoritative source, I believe we should ask for the opinion of @stavros11 (who mostly developed the benchmarks and a large part of Qibo itself), and of course @scarrazza.

Sure, fair enough.

Hi @stavros11 , @scarrazza , do you have a suggestion about which option we should pick to incorporate TNet backends into the benchmarking? Thanks.

@stavros11
Copy link
Member

stavros11 commented Feb 21, 2023

Hi @stavros11 , @scarrazza , do you have a suggestion about which option we should pick to incorporate TNet backends into the benchmarking? Thanks.

I think the idea of qibotn is that it will be an additional qibo backend (see for example qiboteam/qibotn#7), so I would also prefer option 1. Option 2 may be faster to implement now but integrating qibotn with qibo shouldn't be very hard either and doing so will also expose the new backend to all qibo users which could be useful for other applications (other than benchmarks).

I would suggest to give a try to implement the backend in the qibotn repository, for example following the qibojit numba backend or qibolab as template, but I can also provide more details and help with how to do this. This will be the first non-state vector simulator, so it will be a good exercise to see if our backend abstractions are sufficient to support it.

@liweintu
Copy link
Contributor Author

Agreed, then we'll go ahead to follow qibojit backend as the template. Thanks for the suggestion @stavros11 .

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

3 participants