# High Performance Monte Carlo Simulation of Ising Model on TPU Clusters

arXiv: https://arxiv.org/abs/1903.11714 · HTML: https://mlsanity.com/paper/1903.11714/

## Key facts

- Cited by 7 papers in the map (data through 14 Oct 2026).
- First posted on arXiv 27 Mar 2019.

## Built on by (most cited first, 7 of 7)

- [Machine learning accelerated computational fluid dynamics](https://mlsanity.com/paper/2102.01010/) (2021)
- [Training Deep Boltzmann Networks with Sparse Ising Machines](https://mlsanity.com/paper/2303.10728/) (2023)
- [CMOS + stochastic nanomagnets: heterogeneous computers for probabilistic inference and learning](https://mlsanity.com/paper/2304.05949/) (2023)
- [Multi-Scale Simulation of Complex Systems: A Perspective of Integrating Knowledge and Data](https://mlsanity.com/paper/2306.10275/) (2023)
- [Hardware Acceleration of Explainable Machine Learning using Tensor Processing Units](https://mlsanity.com/paper/2103.11927/) (2021)
- [Solving MaxSAT with Matrix Multiplication](https://mlsanity.com/paper/2311.02101/) (2023)
- [Hardware Acceleration of Explainable Artificial Intelligence](https://mlsanity.com/paper/2305.04887/) (2023)

## Abstract (arXiv)

Large-scale deep learning benefits from an emerging class of AI accelerators. Some of these accelerators' designs are general enough for compute-intensive applications beyond AI and Cloud TPU is one such example. In this paper, we demonstrate a novel approach using TensorFlow on Cloud TPU to simulate the two-dimensional Ising Model. TensorFlow and Cloud TPU framework enable the simple and readable code to express the complicated distributed algorithm without compromising the performance. Our code implementation fits into a small Jupyter Notebook and fully utilizes Cloud TPU's efficient matrix operation and dedicated high speed inter-chip connection. The performance is highly competitive: it outperforms the best published benchmarks to our knowledge by 60% in single-core and 250% in multi-core with good linear scaling. When compared to Tesla V100 GPU, the single-core performance maintains a ~10% gain. We also demonstrate that using low precision arithmetic---bfloat16---does not compromise the correctness of the simulation results.
