<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">Hi Eloisa and Erik,<div><br></div><div>I am running the CT_MultiLevel elliptic solver tests on Datura. &nbsp;I ran into two problems.&nbsp;</div><div><br></div><div>1. BLAS/LAPACK vs OpenBLAS</div><div>2. Differences above tolerance in the Hamiltonian constraint</div><div><br></div><div>The first is that the test parameter files ask for thorns BLAS and LAPACK, which are disabled on Datura. &nbsp;The ET thornlist contains</div><div><br></div><div><div>ExternalLibraries/BLAS</div><div>ExternalLibraries/LAPACK</div><div>#DISABLED ExternalLibraries/OpenBLAS</div></div><div><br></div><div>whereas datura.ini contains</div><div><br></div><div><div>disabled-thorns = &lt;&lt;EOT</div><div>&nbsp; &nbsp; ExternalLibraries/BLAS</div><div>&nbsp; &nbsp; ExternalLibraries/LAPACK</div></div><div><br></div><div><div>enabled-thorns = &lt;&lt;EOT</div><div>&nbsp; &nbsp; ExternalLibraries/OpenBLAS</div></div><div><br></div><div>So by default, machines will use BLAS and LAPACK, but datura is configured to use OpenBLAS instead. &nbsp;</div><div><br></div><div>I don't quite understand this, because parameter files will activate one or the other thorns, so a parameter file which requires either of these cannot work both on datura and on a machine which does not do this enabling/disabling. &nbsp;There is a ticket (<a href="https://trac.einsteintoolkit.org/ticket/1674">https://trac.einsteintoolkit.org/ticket/1674</a>) in which the suggestion is made to switch to OpenBLAS across the ET, but as far as is written in the ticket, this was not implemented.</div><div><br></div><div>If we follow the suggestion in the ticket, then this would be solved by using OpenBLAS all the time, and editing all parameter files to use that instead. &nbsp;If not, then it would probably be better for the choice of library to be a machine-specific option, and not something that needs to be selected in a parameter file by activating the right thorn. &nbsp;Also, I'm not sure how the other options in datura.cfg affect this, since on Datura, the intention is to use MKL anyway.</div><div><br></div><div><div>LDFLAGS = -rdynamic -Wl,-rpath,/cluster/Compiler/Intel/ics_2013.1.039/mkl/lib/intel64 -Wl,-rpath,/cluster/Compiler/Intel/ics_2013.1.039/lib/intel64 # -Wl,-rpath,/usr/lib64</div></div><div><div>BLAS_DIR &nbsp;= /cluster/Compiler/Intel/ics_2013.1.039/mkl/lib/intel64</div><div>BLAS_LIBS = -Wl,--start-group mkl_intel_lp64 mkl_intel_thread mkl_core -Wl,--end-group &nbsp; iomp5 &nbsp; pthread</div></div><div><div>LAPACK_DIR &nbsp;= /cluster/Compiler/Intel/ics_2013.1.039/mkl/lib/intel64</div><div>LAPACK_LIBS = -Wl,--start-group mkl_intel_lp64 mkl_intel_thread mkl_core -Wl,--end-group</div></div><div><div>OPENBLAS_DIR &nbsp;= NO_BUILD</div><div>OPENBLAS_LIBS = -mkl</div></div><div><br></div><div>What is the best way forward?</div><div><br></div><div>The second problem is that when I switch to OpenBLAS in the test parameter files, all tests pass except for CTThorns/CT_MultiLevel/test/boostedpuncture.par, which fails with&nbsp;</div><div><br></div><div>&nbsp; &nbsp;ml_bssn-ml_ham.d.asc: substantial differences<br>&nbsp; &nbsp; &nbsp;&nbsp;significant differences on 56 (out of 109) lines<br>&nbsp; &nbsp; &nbsp;&nbsp;maximum absolute difference in column 13 is 16.796401082424<br>&nbsp; &nbsp; &nbsp;&nbsp;maximum relative difference in column 13 is 10.214243488001<br>&nbsp; &nbsp; &nbsp;&nbsp;(insignificant differences on 45 lines)<br>&nbsp; &nbsp;ml_bssn-ml_ham.x.asc: substantial differences<br>&nbsp; &nbsp; &nbsp;&nbsp;significant differences on 88 (out of 182) lines<br>&nbsp; &nbsp; &nbsp;&nbsp;maximum absolute difference in column 13 is 5.30707663071086<br>&nbsp; &nbsp; &nbsp;&nbsp;maximum relative difference in column 13 is 0.897391183181081<br>&nbsp; &nbsp; &nbsp;&nbsp;(insignificant differences on 94 lines)<br>&nbsp; &nbsp;ml_bssn-ml_ham.y.asc: substantial differences<br>&nbsp; &nbsp; &nbsp;&nbsp;significant differences on 88 (out of 182) lines<br>&nbsp; &nbsp; &nbsp;&nbsp;maximum absolute difference in column 13 is 5.30900732375572<br>&nbsp; &nbsp; &nbsp;&nbsp;maximum relative difference in column 13 is 0.897408813491657<br>&nbsp; &nbsp; &nbsp;&nbsp;(insignificant differences on 94 lines)<br>&nbsp; &nbsp;ml_bssn-ml_ham.z.asc: substantial differences<br>&nbsp; &nbsp; &nbsp;&nbsp;significant differences on 56 (out of 109) lines<br>&nbsp; &nbsp; &nbsp;&nbsp;maximum absolute difference in column 13 is 5.30900949367607<br>&nbsp; &nbsp; &nbsp;&nbsp;maximum relative difference in column 13 is 0.8974032303582<br>&nbsp; &nbsp; &nbsp;&nbsp;(insignificant differences on 53 lines)<br><br></div><div>All other solution variables are within tolerance, suggesting that the solver is getting the right answer, though ml_ham would be more sensitive to small solution differences anyway. &nbsp;None of the other CT_MultiLevel tests seem to be checking ml_ham, so it might be that if ml_ham was checked, it would also differ. &nbsp;Could this be related to the McLachlan rewrite, or is the Hamiltonian constraint expected to be the same across the rewrite? &nbsp;It could be the usual roundoff-error problem, but the differences listed are quite large. &nbsp;Or maybe this comes from the method used by the elliptic solver, which may not be 100% deterministic due to thread ordering in the Gauss Seidel method?</div><div><br></div><div><div apple-content-edited="true">
<div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div>--&nbsp;</div><div>Ian Hinder</div><div><a href="http://members.aei.mpg.de/ianhin">http://members.aei.mpg.de/ianhin</a></div></div></div></div></div>
</div>
<br></div></body></html>