Comments (5)
Hey @vincentelfving, thanks for the comment.
It is an open issue to define the proper "parallelization limit". This is statically defined at 19 qubits currently here, but it should be calibrated on a per-machine basis. The number 19 was chosen because that's what it was for one model of laptop I was using. This issue is described here. This would be a wonderful contribution to determine where the crossing point is.
As a side note, as you increase the number of cores, for some qubit numbers, adding a new core doesn't actually give you a speedup. For instance, on my machine for a 32q benchmark, 10 cores vs 20 doesn't provide anything. This is something I intend to investigate to see if we can eek out more parallelization speedup, and if not, determine why (e.g., memory bandwidth, blowing the cache, etc.).
from qvm.
@stylewarning alright, that makes sense! I realize that parallelization speedup is actually highly non-trivial.... I guess there is not 1 magic number.
I would, however, love to see if it is possible to gain more speedup for low qubit numbers like N=4-18, for testing in cases where a huge number of (variational) circuits and iterations are necessary. In that case even every microsecond per circuit adds up significantly to the total time.
from qvm.
@vincentelfving I just made a PR #31 to allow this parameter to at least be controllable by you, though it won't be calculated automagically. It should be merged by EOD, if you care to build from source. If not, it'll be in the next release of the QVM.
from qvm.
@stylewarning excellent, thanks a lot!
from qvm.
@vincentelfving Merged. Also, I notice you don't seem to be aware of the --compile
or -c
option. Try doing:
qvm --verbose --benchmark
and then
qvm --verbose --benchmark -c
It's not always the right thing to do, especially if you have a very small number of qubits, but it can bring great wins otherwise.
from qvm.
Related Issues (20)
- Possible a logical issue of qvm HOT 1
- qvm server crashes if version check is not disabled
- generic function re-definition
- Write an RX-based Rabi experiment as a test
- MAKE-EA removed from SBCL, breaking intrinsics
- Port 5000 busy on Mac HOT 2
- YASON variable unbound
- app-ng tests seem broken, at least locally
- use SB-SIMD in intrinsics
- delete app-ng HOT 1
- Build fails: System "cl-quil/frontend" not found HOT 1
- Fails to find libexpokit.so in /usr/local/lib
- bump QVM heap limit when compiling
- Compiling on ARM64 requires removal of AVX2 mention HOT 6
- MADPI is not a nice acronym, replace with "FEYNMAN" or so
- update copyright, author, etc. information
- Memory is not reset between trials
- Circular dependency causes build to fail HOT 2
- Clarification on QVM capabilities
- Bump version to 1.18
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from qvm.