AQUA@home: Difference between revisions
add logo and stats |
more links |
||
| (4 intermediate revisions by the same user not shown) | |||
| Line 41: | Line 41: | ||
}} | }} | ||
'''AQUA@home''' (an acronym for '''A'''diabatic '''QU'''antum '''A'''lgorithms) was a [[volunteer computing]] project operated by [[D-Wave Systems]], a quantum computing company based in Burnaby, British Columbia, Canada.<ref>{{Cite web |url=https://en.wikipedia.org/wiki/AQUA@home |title=AQUA@home |website=Wikipedia |access-date=2026-06-27}}</ref> The project ran on the [[BOINC]] platform and used the spare processing time of volunteers' computers to predict the performance of [[superconductivity|superconducting]] [[adiabatic quantum computation|adiabatic quantum computers]] on problems drawn from fields ranging from materials science to machine learning.<ref>{{Cite web |url=https://en.wikipedia.org/wiki/AQUA@home |title=AQUA@home |website=Wikipedia |access-date=2026-06-27}}</ref> AQUA@home designed and analyzed quantum computing algorithms using [[Quantum Monte Carlo]] techniques.<ref>{{Cite web |url=https://www.overclock.net/threads/aqua-home.789241/ |title=Aqua@home |website=Overclock.net |date=2010-07-30 |access-date=2026-06-27}}</ref> | '''[https://web.archive.org/web/20090309055929/http://aqua.dwavesys.com/ AQUA@home]''' (an acronym for '''A'''diabatic '''QU'''antum '''A'''lgorithms) was a [[wikipedia:Volunteer computing|volunteer computing]] project operated by [[wikipedia:D-Wave Systems|D-Wave Systems]], a quantum computing company based in Burnaby, British Columbia, Canada.<ref>{{Cite web |url=https://en.wikipedia.org/wiki/AQUA@home |title=AQUA@home |website=Wikipedia |access-date=2026-06-27}}</ref> The project ran on the [[BOINC]] platform and used the spare processing time of volunteers' computers to predict the performance of [[wikipedia:superconductivity|superconducting]] [[wikipedia:adiabatic quantum computation|adiabatic quantum computers]] on problems drawn from fields ranging from materials science to machine learning.<ref>{{Cite web |url=https://en.wikipedia.org/wiki/AQUA@home |title=AQUA@home |website=Wikipedia |access-date=2026-06-27}}</ref> AQUA@home designed and analyzed quantum computing algorithms using [[wikipedia:Quantum Monte Carlo|Quantum Monte Carlo]] techniques.<ref>{{Cite web |url=https://www.overclock.net/threads/aqua-home.789241/ |title=Aqua@home |website=Overclock.net |date=2010-07-30 |access-date=2026-06-27}}</ref> | ||
The project holds two notable firsts within the BOINC ecosystem: it was the first BOINC project to deploy a multi-threaded application, and the first to deploy an [[OpenCL]] application.<ref>{{Cite web |url=https://en.wikipedia.org/wiki/AQUA@home |title=AQUA@home |website=Wikipedia |access-date=2026-06-27}}</ref> AQUA@home ceased operating in August 2011.<ref>{{Cite web |url=https://en.wikipedia.org/wiki/AQUA@home |title=AQUA@home |website=Wikipedia |access-date=2026-06-27}}</ref> | The project holds two notable firsts within the BOINC ecosystem: it was the first BOINC project to deploy a multi-threaded application, and the first to deploy an [[wikipedia:OpenCL|OpenCL]] application.<ref>{{Cite web |url=https://en.wikipedia.org/wiki/AQUA@home |title=AQUA@home |website=Wikipedia |access-date=2026-06-27}}</ref> AQUA@home ceased operating in August 2011.<ref>{{Cite web |url=https://en.wikipedia.org/wiki/AQUA@home |title=AQUA@home |website=Wikipedia |access-date=2026-06-27}}</ref> | ||
== Background == | == Background == | ||
D-Wave Systems built AQUA@home to support the development of its experimental superconducting [[adiabatic quantum computation|adiabatic quantum optimization]] processors. Before committing hardware resources to a given class of problem, D-Wave researchers wanted to estimate in advance how a quantum annealing processor of a given size and connectivity could be expected to perform.<ref>{{Cite web |url=https://www.nextbigfuture.com/2008/12/dwave-quantum-computer-performance.html |title=Dwave Quantum Computer Performance Estimates and Calculations |website=NextBigFuture.com |date=2008-12-07 |access-date=2026-06-27}}</ref> Simulating the relevant quantum-mechanical spin systems classically using [[Quantum Monte Carlo]] (QMC) methods is computationally demanding, which made the problem well suited to distributed volunteer computing.<ref>{{Cite web |url=https://www.nextbigfuture.com/2008/12/dwave-quantum-computer-performance.html |title=Dwave Quantum Computer Performance Estimates and Calculations |website=NextBigFuture.com |date=2008-12-07 |access-date=2026-06-27}}</ref> | D-Wave Systems built AQUA@home to support the development of its experimental superconducting [[wikipedia:adiabatic quantum computation|adiabatic quantum optimization]] processors. Before committing hardware resources to a given class of problem, D-Wave researchers wanted to estimate in advance how a quantum annealing processor of a given size and connectivity could be expected to perform.<ref>{{Cite web |url=https://www.nextbigfuture.com/2008/12/dwave-quantum-computer-performance.html |title=Dwave Quantum Computer Performance Estimates and Calculations |website=NextBigFuture.com |date=2008-12-07 |access-date=2026-06-27}}</ref> Simulating the relevant quantum-mechanical spin systems classically using [[wikipedia:Quantum Monte Carlo|Quantum Monte Carlo]] (QMC) methods is computationally demanding, which made the problem well suited to distributed volunteer computing.<ref>{{Cite web |url=https://www.nextbigfuture.com/2008/12/dwave-quantum-computer-performance.html |title=Dwave Quantum Computer Performance Estimates and Calculations |website=NextBigFuture.com |date=2008-12-07 |access-date=2026-06-27}}</ref> | ||
The earliest computations run on AQUA@home calculated expected runtimes for [[spin glass]] problems, a class of [[NP-hardness|NP-hard]] [[combinatorial optimization]] problem well suited to the project's processor architecture; this work formed the basis of the project's first publications.<ref>{{Cite web |url=https://www.nextbigfuture.com/2008/12/dwave-quantum-computer-performance.html |title=Dwave Quantum Computer Performance Estimates and Calculations |website=NextBigFuture.com |date=2008-12-07 |access-date=2026-06-27}}</ref> A later phase of the project used AQUA@home to estimate the runtime of the quantum adiabatic algorithm on binary classification problems for [[machine learning]], developed in part with researchers from [[Google]].<ref>{{Cite web |url=https://www.nextbigfuture.com/2008/12/dwave-quantum-computer-performance.html |title=Dwave Quantum Computer Performance Estimates and Calculations |website=NextBigFuture.com |date=2008-12-07 |access-date=2026-06-27}}</ref> | The earliest computations run on AQUA@home calculated expected runtimes for [[wikipedia:spin glass|spin glass]] problems, a class of [[wikipedia:NP-hardness|NP-hard]] [[wikipedia:combinatorial optimization|combinatorial optimization]] problem well suited to the project's processor architecture; this work formed the basis of the project's first publications.<ref>{{Cite web |url=https://www.nextbigfuture.com/2008/12/dwave-quantum-computer-performance.html |title=Dwave Quantum Computer Performance Estimates and Calculations |website=NextBigFuture.com |date=2008-12-07 |access-date=2026-06-27}}</ref> A later phase of the project used AQUA@home to estimate the runtime of the quantum adiabatic algorithm on binary classification problems for [[wikipedia:machine learning|machine learning]], developed in part with researchers from [[wikipedia:Google|Google]].<ref>{{Cite web |url=https://www.nextbigfuture.com/2008/12/dwave-quantum-computer-performance.html |title=Dwave Quantum Computer Performance Estimates and Calculations |website=NextBigFuture.com |date=2008-12-07 |access-date=2026-06-27}}</ref> | ||
== Software and technical milestones == | == Software and technical milestones == | ||
AQUA@home's client application was written in [[C (programming language)|C]] and [[C++]] and was notably '''truly multi-threaded''': rather than running one instance of the application per CPU core, a single instance could make use of however many cores were made available to it.<ref>{{Cite web |url=https://www.overclock.net/threads/aqua-home.789241/ |title=Aqua@home |website=Overclock.net |date=2010-07-30 |access-date=2026-06-27}}</ref> This was the first multi-threaded application deployed on the BOINC platform.<ref>{{Cite journal |last1=Karimi |first1=Kamran |last2=Dickson |first2=Neil |last3=Hamze |first3=Firas |title=High-Performance Physics Simulations Using Multi-Core CPUs and GPGPUs in a Volunteer Computing Context |journal=The International Journal of High Performance Computing Applications |volume=25 |year=2011 |pages=61–69 |date=2010-03-31 |url=http://journals.sagepub.com/doi/10.1177/1094342010372928}} DOI: [https://doi.org/10.1177/1094342010372928 10.1177/1094342010372928]</ref> | AQUA@home's client application was written in [[wikipedia:C (programming language)|C]] and [[wikipedia:C++|C++]] and was notably '''truly multi-threaded''': rather than running one instance of the application per CPU core, a single instance could make use of however many cores were made available to it.<ref>{{Cite web |url=https://www.overclock.net/threads/aqua-home.789241/ |title=Aqua@home |website=Overclock.net |date=2010-07-30 |access-date=2026-06-27}}</ref> This was the first multi-threaded application deployed on the BOINC platform.<ref>{{Cite journal |last1=Karimi |first1=Kamran |last2=Dickson |first2=Neil |last3=Hamze |first3=Firas |title=High-Performance Physics Simulations Using Multi-Core CPUs and GPGPUs in a Volunteer Computing Context |journal=The International Journal of High Performance Computing Applications |volume=25 |year=2011 |pages=61–69 |date=2010-03-31 |url=http://journals.sagepub.com/doi/10.1177/1094342010372928}} DOI: [https://doi.org/10.1177/1094342010372928 10.1177/1094342010372928]</ref> | ||
{{#ev:youtube|VyQgGkj_Rss|700|center|AQUA@home screensaver in action}} | {{#ev:youtube|VyQgGkj_Rss|700|center|AQUA@home screensaver in action}} | ||
In May 2010, AQUA@home deployed the first [[OpenCL]] application to run under BOINC, allowing its computations to be accelerated across a mix of multicore CPUs and GPUs from different vendors using a single, portable codebase.<ref>{{Cite web |url=https://boinc.berkeley.edu/old_news.php |title=News archive |website=BOINC |access-date=2026-06-27}}</ref> Project researchers subsequently published a direct performance comparison between [[CUDA]] and OpenCL implementations of the same Quantum Monte Carlo computation kernel.<ref>{{Cite journal |last1=Karimi |first1=Kamran |last2=Dickson |first2=Neil |last3=Hamze |first3=Firas |title=A Performance Comparison of CUDA and OpenCL |date=2011-05-16 |url=https://arxiv.org/abs/1005.2581}} DOI: [https://doi.org/10.48550/arXiv.1005.2581 10.48550/ARXIV.1005.2581]</ref> | In May 2010, AQUA@home deployed the first [[wikipedia:OpenCL|OpenCL]] application to run under BOINC, allowing its computations to be accelerated across a mix of multicore CPUs and GPUs from different vendors using a single, portable codebase.<ref>{{Cite web |url=https://boinc.berkeley.edu/old_news.php |title=News archive |website=BOINC |access-date=2026-06-27}}</ref> Project researchers subsequently published a direct performance comparison between [[wikipedia:CUDA|CUDA]] and OpenCL implementations of the same Quantum Monte Carlo computation kernel.<ref>{{Cite journal |last1=Karimi |first1=Kamran |last2=Dickson |first2=Neil |last3=Hamze |first3=Firas |title=A Performance Comparison of CUDA and OpenCL |date=2011-05-16 |url=https://arxiv.org/abs/1005.2581}} DOI: [https://doi.org/10.48550/arXiv.1005.2581 10.48550/ARXIV.1005.2581]</ref> | ||
== Outcome == | == Outcome == | ||
| Line 75: | Line 75: | ||
== See also == | == See also == | ||
* [[BOINC]] | * [[wikipedia:BOINC|BOINC]] | ||
* [[Volunteer computing]] | * [[wikipedia:Volunteer computing|Volunteer computing]] | ||
* [[Quantum Monte Carlo]] | * [[wikipedia:Quantum Monte Carlo|uantum Monte Carlo]] | ||
* [[Adiabatic quantum computation]] | * [[wikipedia:Adiabatic quantum computation|Adiabatic quantum computation]] | ||
== References == | == References == | ||