Specified variable and added change to the last review point.
This commit is contained in:
parent
5df0a2411b
commit
4b711a477e
@ -6,7 +6,7 @@
|
||||
temperature, when undergoing phase transition. To generate spin configurations,
|
||||
we used the Metropolis-Hastings algorithm, which applies a Markov chain Monte
|
||||
Carlo sampling method. We determined the time of equilibrium to be approximately
|
||||
3000 Monte Carlo cycles, and used the following samples to find the probability
|
||||
$5000$ Monte Carlo cycles, and used the following samples to find the probability
|
||||
distribution at temperature $T_{1} = 1.0 J / k_{B}$, and $T_{2} = 2.4 J / k_{B}$.
|
||||
For $T_{1}$ the mean energy per spin is $\langle \epsilon \rangle \approx -1.9969 J$,
|
||||
with a variance $\text{Var} (\epsilon) = 0.0001$. And for $T_{2}$, close to the critical
|
||||
@ -16,6 +16,6 @@
|
||||
susceptibility. We have estimated the critical temperatures of finite lattice sizes,
|
||||
and used these values to approximate the critical temperature of a lattice of
|
||||
infinite size. Using linear regression, we estimated the critical temperature
|
||||
to be $T_{c}(L = \infty) \approx 2.2695 J/k_{B}$.
|
||||
to be $T_{c}^{*}(L = \infty) \approx 2.2693 J/k_{B}$.
|
||||
\end{abstract}
|
||||
\end{document}
|
||||
|
||||
@ -216,4 +216,12 @@ the magnetic susceptibility.
|
||||
\label{fig:phase_susceptibility_1M}
|
||||
\end{figure}
|
||||
|
||||
Result of profiling using Score-P in Figure \ref{fig:scorep_assessment}.
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includegraphics[width=\linewidth]{../images/profiling.pdf}
|
||||
\caption{Score-P assessment of parallel efficiency.}
|
||||
\label{fig:scorep_assessment}
|
||||
\end{figure}
|
||||
|
||||
\end{document}
|
||||
@ -30,6 +30,6 @@ heat capacity and susceptibility for lattices of size $L = {20, 40, 60, 80, 100}
|
||||
We observed a phase transition in the temperature range $T \in [2.1, 2.4] J / k_{B}$.
|
||||
Using the values from the finite lattices, we approximated the critical temperature
|
||||
of a lattice of infinite size. Using linear regression, we numerically estimated
|
||||
$T_{c}(L = \infty) \approx 2.2695 J/k_{B}$ which is close to the analytical solution
|
||||
$T_{C}(L = \infty) \approx 2.269 J/k_{B}$ Lars Onsager found in 1944.
|
||||
$T_{c}^{*}(L = \infty) \approx 2.2693 J/k_{B}$ which is close to the analytical solution
|
||||
$T_{c}(L = \infty) \approx 2.269 J/k_{B}$ Lars Onsager found in 1944.
|
||||
\end{document}
|
||||
|
||||
@ -102,8 +102,13 @@ MPI processes. Each process was set to spawn $10$ threads, resulting in a total
|
||||
$100$ threads working in parallel. We include results for $1$ million MC cycles
|
||||
in Appendix \ref{sec:additional_results}
|
||||
|
||||
$\boldsymbol{Rewrite}$ We used a profiler to make sure the program was fully optimized which found that the
|
||||
workload was balanced, the threads was not left idle to long/not a lot of downtime.
|
||||
To evaluate the performance of the parallelization, we used a profiler. The
|
||||
assessment output can be found in Appendix \ref{sec:additional_results} in Figure
|
||||
\ref{fig:scorep_assessment}. The assessment shows a lower score for the MPI load
|
||||
balance, compared to the OpenMP load balance. The master process gatheres all the
|
||||
data using blocking communication, resulting in the other processes waiting. This
|
||||
results in one process, the master, having to work more. The OpenMP load balance
|
||||
score is very good, suggesting the threads are not left idle for long periods.
|
||||
|
||||
In Figure \ref{fig:phase_energy_10M}, for the larger lattices we observe a sharper
|
||||
increase in $\langle \epsilon \rangle$ in the temperature range $T \in [2.25, 2.35]$. %]
|
||||
@ -179,10 +184,10 @@ the lattice size increase toward infinity, $1/L$ approaches zero. %
|
||||
\end{figure}
|
||||
We used linear regression to find the intercept $\beta_{0}$, which gives us an estimated value
|
||||
of the critical temperature for a lattice of infinite size. The estimated critical temperature
|
||||
is $T_{c \text{num}} \approx 2.2693 J/k_{B}$. We also compared the
|
||||
is $T_{c}^{*}(L = \infty) \approx 2.2693 J/k_{B}$. We also compared the
|
||||
estimate with the analytical solution, the relative error of our estimate is
|
||||
\begin{equation*}
|
||||
\text{Relative error} = \frac{T_{c \text{ numerical}} - T_{c \text{ analytical}}}{T_{c \text{ analytical}}} \approx 5.05405 \cdot 10^{-5} J/k_{B}
|
||||
\text{Relative error} = \frac{T_{c}^{*} - T_{c \text{ analytical}}}{T_{c \text{ analytical}}} \approx 5.05405 \cdot 10^{-5} J/k_{B}
|
||||
\end{equation*}
|
||||
|
||||
\end{document}
|
||||
|
||||
@ -104,6 +104,7 @@ I agree!
|
||||
- janitaws: So instead of "We ran a profiler" it should be "We used a profiler"? Could you suggest a way of formulating the sentence so that the info is correct?
|
||||
- coryab: Yes to the first point. "To check if the parallelization was optimal, we used a profiler, which found that the program was efficient. The thing that scored slightly less was the MPI load balance, which is most likely because the master process gathered all data using blocking communication, which made the other processes wait, in addition to having one process work more."
|
||||
- janitaws: If we simply state that the program was efficient we should include some sort of evidence supporting the statement, since the view of efficiency is subjective. Maybe we could include percentage here to support it, the profile gave a number right?
|
||||
- janitaws: made a change to the entire paragraph, including reference to figure in appendix
|
||||
[ ] 106: was => were
|
||||
- janitaws: My previous comment might make this unnecessary?
|
||||
- coryab: If you use my suggestion, then this can be checked off at the same time.
|
||||
|
||||
Loading…
Reference in New Issue
Block a user