Skip to content

KueipoH/Accelerating-Simulated-Quantum-Annealing

Repository files navigation

Welcome to the Simulated Quantum Annealing repository

Simulated Quantum Annealing (SQA) is inspired by Quantum Annealing (QA) and aims to emulate the quantum tunneling effect on classical computers using a path-integral Monte Carlo simulation. This simulation introduces the strength of couplings between replicas.

In this project, I have referred to Accelerating Simulated Quantum Annealing with GPU and Tensor Cores as a foundation. To quickly grasp the concept of SQA, I have initially developed a CPU-based version for validation. Following this, I will proceed to implement a CUDA version based on the literature.

Getting Started

This project is a CPU-based implementation of the research paper. Accelerating Simulated Quantum Annealing with GPU and Tensor Cores by Author Yi-Hua Chung, Cheng-Jhih Shih, and Shih-Hao Hung. .

Firstly, it is crucial to understand the concept of the Local-field matrix's dimensions. Upon initial reading, one might easily be misled by the Trotter diagrams in terms of comprehending the Local-field matrix's dimensional space. It is also important to consider why the author has chosen to implement the outer loop for spins and the inner loop for Trotters. This choice is the rationale behind updating the local-field energy. Finally, when it comes to implementation details, the crux lies in selecting the final spin. While theory provides a foundation, the secret is hidden within my very own code.

Requirements & Command

  • c++ 14 or higher
g++ -std=c++14 main.cpp file.cpp -o sqa && ./sqa

Results

Achieving over 98% accuracy on the G-set requires tuning the number of Trotter slices, Monte Carlo steps, and transverse field G0 param.

  • A larger MC-STEP usually produces a better result closer to the global optimum.

Feedback

Please let me know your feedback and ideas, the Cuda version is coming soon.

References

  • Accelerating Simulated Quantum Annealing with GPU and Tensor Cores, High Performance Computing: 37th International Conference, ISC High Performance 2022, Hamburg, Germany, May 29–June 2, 2022, Proceedings.
  • Dataset. G-Set

License

The code in this repository is licensed under Apache License 2.0. Contributing a pull request to this repo requires accepting the Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. A CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately. Simply follow the instructions provided by the bot. You will only need to do this once.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages