The Ising model is a mathematical representation of ferromagnetism in statistical mechanics. This model consists of discrete variables, known as spins, which can take on one of two values, typically represented as +1 (up) or -1 (down). These spins are arranged on a lattice and interact with their nearest neighbors. The model is used to study phase transitions, such as the transition from a magnetized to a non-magnetized state, and has applications in physics, biology and the social sciences \cite{kulskeIsingModelHighlights2025,mullickSociophysicsModelsInspired2025}.

It allows us to measure the statistical properties of the system, such as magnetization, susceptibility and specific heat, as functions of temperature. In order to efficiently sample the Ising model, we approximate the system state using Markov Chain Monte Carlo (MCMC) methods with rejection sampling. These are a class of algorithms that sample complex probability distributions by constructing a Markov chain with the desired distribution as its equilibrium distribution. In the context of the Ising model, these methods enable us to generate spin configurations representative of the system's behavior at a given temperature. Parallel computation can significantly speed up the sampling process, enabling the concurrent evaluation of multiple systems. This is particularly useful for large numbers of computations under different conditions, such as at various temperatures. 

In \autoref{sec:methods}, the methods employed to implement MCMC sampling of the Ising model are delineated, including the specific algorithms employed and the parallelization techniques utilized. In \autoref{sec:results_and_discussion} the results of the aforementioned simulations are presented, including measurements of key statistical properties of the Ising model. The implications of these findings are discussed as well. Finally, in \autoref{sec:conclusion} we offer a summary of our work and put forward several suggestions for future research directions.
