In this poster presentation, I discussed a method for simulating the 2D Ising model using both CPU and mobile GPU, implementing the checkerboard Metropolis algorithm in Python and Jupyter notebooks.
The implementation achieved up to 390x faster performance over standard Python and 2.61x faster than Numba-compiled serial Python in key settings. For smaller lattice sizes, parallel CPU execution performed better, while larger lattice sizes favored mobile GPU execution.
The work also highlighted memory-related limits at very high lattice sizes, and validated results against Onsager's analytical solution.