<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; ">
<div>Hi all,&nbsp;</div>
<div><br>
</div>
<div>I have been timing various parts of the&nbsp;Simulator::setup_dofs function, in source/simulator/core.cc, lines 560 and following, in the case of a 64^3 regular grid.</div>
<div>(In order to speed things up a bit, I have used 8 cores this time).&nbsp;</div>
<div><br>
</div>
<div>Here is the standard output:</div>
<div><br>
</div>
<div><font class="Apple-style-span" face="Courier">&nbsp; 1 Number of active cells: 262144 (on 7 levels)<br>
&nbsp; 2 Number of degrees of freedom: 11008070 (6440067&#43;274625&#43;2146689&#43;2146689)<br>
&nbsp; 3&nbsp;<br>
&nbsp; 4 *** Timestep 0: &nbsp;t=0 seconds<br>
&nbsp; 5 &nbsp; &nbsp;Solving temperature system... 0 iterations.<br>
&nbsp; 6 &nbsp; &nbsp;Solving composition system 1... 0 iterations.<br>
&nbsp; 7 &nbsp; &nbsp;Rebuilding Stokes preconditioner...<br>
&nbsp; 8 &nbsp; &nbsp;Solving Stokes system... 27 iterations.<br>
&nbsp; 9&nbsp;<br>
&nbsp;10 &nbsp; &nbsp;Postprocessing:<br>
&nbsp;11&nbsp;<br>
&nbsp;12 &nbsp; &nbsp; &nbsp;Reference density (kg/m^3): &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;1010<br>
&nbsp;13 &nbsp; &nbsp; &nbsp;Reference gravity (m/s^2): &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 10<br>
&nbsp;14 &nbsp; &nbsp; &nbsp;Reference thermal expansion (1/K): &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0<br>
&nbsp;15 &nbsp; &nbsp; &nbsp;Temperature contrast accross model domain (K): 1<br>
&nbsp;16 &nbsp; &nbsp; &nbsp;Model domain depth (m): &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;1<br>
&nbsp;17 &nbsp; &nbsp; &nbsp;Reference thermal diffusivity (m^2/s): &nbsp; &nbsp; &nbsp; &nbsp; 3.72277e-06<br>
&nbsp;18 &nbsp; &nbsp; &nbsp;Reference viscosity (Pas): &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 100<br>
&nbsp;19 &nbsp; &nbsp; &nbsp;Ra number: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0<br>
&nbsp;20 &nbsp; &nbsp; &nbsp;k_value: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 4.7<br>
&nbsp;21 &nbsp; &nbsp; &nbsp;reference_cp: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;1250<br>
&nbsp;22 &nbsp; &nbsp; &nbsp;reference_thermal_diffusivity: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 3.72277e-06<br>
&nbsp;23&nbsp;<br>
&nbsp;24 &nbsp; &nbsp; &nbsp;Writing graphical output: &nbsp;output_vkk3D/solution-00000<br>
&nbsp;25 &nbsp; &nbsp; &nbsp;RMS, max velocity: &nbsp; &nbsp; &nbsp; &nbsp; 0.000135 m/s, 0.000322 m/s<br>
&nbsp;26 &nbsp; &nbsp; &nbsp;Compositions min/max/mass: 0/1/0.1979<br>
&nbsp;27&nbsp;<br>
&nbsp;28&nbsp;<br>
&nbsp;29&nbsp;<br>
&nbsp;30 &#43;---------------------------------------------&#43;------------&#43;------------&#43;<br>
&nbsp;31 | Total wallclock time elapsed since start &nbsp; &nbsp;| &nbsp;1.98e&#43;03s | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|<br>
&nbsp;32 | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|<br>
&nbsp;33 | Section &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | no. calls | &nbsp;wall time | % of total |<br>
&nbsp;34 &#43;---------------------------------&#43;-----------&#43;------------&#43;------------&#43;<br>
&nbsp;35 | Assemble Stokes system &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; 1 | &nbsp; &nbsp; &nbsp; 314s | &nbsp; &nbsp; &nbsp; &nbsp;16% |<br>
&nbsp;36 | Assemble composition system &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; 1 | &nbsp; &nbsp; &nbsp; 521s | &nbsp; &nbsp; &nbsp; &nbsp;26% |<br>
&nbsp;37 | Assemble temperature system &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; 1 | &nbsp; &nbsp; &nbsp; 528s | &nbsp; &nbsp; &nbsp; &nbsp;27% |<br>
&nbsp;38 | Build Stokes preconditioner &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; 1 | &nbsp; &nbsp; &nbsp; 138s | &nbsp; &nbsp; &nbsp; 6.9% |<br>
&nbsp;39 | Build composition preconditioner| &nbsp; &nbsp; &nbsp; &nbsp; 1 | &nbsp; &nbsp; &nbsp;7.13s | &nbsp; &nbsp; &nbsp;0.36% |<br>
&nbsp;40 | Build temperature preconditioner| &nbsp; &nbsp; &nbsp; &nbsp; 1 | &nbsp; &nbsp; &nbsp;7.86s | &nbsp; &nbsp; &nbsp; 0.4% |<br>
&nbsp;41 | Solve Stokes system &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; 1 | &nbsp; &nbsp; &nbsp;81.4s | &nbsp; &nbsp; &nbsp; 4.1% |<br>
&nbsp;42 | Solve composition system &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; 1 | &nbsp; &nbsp; &nbsp;1.87s | &nbsp; &nbsp; 0.094% |<br>
&nbsp;43 | Solve temperature system &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; 1 | &nbsp; &nbsp; &nbsp;1.99s | &nbsp; &nbsp; &nbsp; 0.1% |<br>
&nbsp;44 | Initialization &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; 2 | &nbsp; &nbsp; &nbsp;9.01s | &nbsp; &nbsp; &nbsp;0.45% |<br>
&nbsp;45 | Postprocessing &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; 1 | &nbsp; &nbsp; &nbsp;49.9s | &nbsp; &nbsp; &nbsp; 2.5% |<br>
&nbsp;46 | Setup dof systems &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; 1 | &nbsp; &nbsp; &nbsp;1.05s | &nbsp; &nbsp; 0.053% |<br>
&nbsp;47 | aft.Renumbering &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; 1 | &nbsp; &nbsp; 0.207s | &nbsp; &nbsp; &nbsp;0.01% |<br>
&nbsp;48 | aft.constraints &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; 1 | &nbsp; 0.00666s | &nbsp; 0.00034% |<br>
&nbsp;49 | aft.distributedofs &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; 1 | &nbsp; &nbsp; &nbsp;2.61s | &nbsp; &nbsp; &nbsp;0.13% |<br>
&nbsp;50 | aft.introspection &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; 1 | &nbsp;0.000636s | &nbsp; 3.2e-05% |<br>
&nbsp;51 | aft.pcout &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; 1 | &nbsp; &nbsp; 0.725s | &nbsp; &nbsp; 0.037% |<br>
&nbsp;52 | setup ifcompr &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; 1 | &nbsp;2.86e-06s | &nbsp; 1.4e-07% |<br>
&nbsp;53 | setup reinit &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; 1 | &nbsp; &nbsp; &nbsp;3.55s | &nbsp; &nbsp; &nbsp;0.18% |<br>
&nbsp;54 | setup system matrix &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; 1 | &nbsp; &nbsp; &nbsp; 214s | &nbsp; &nbsp; &nbsp; &nbsp;11% |<br>
&nbsp;55 | setup system preconditioner &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; 1 | &nbsp; &nbsp; &nbsp;95.2s | &nbsp; &nbsp; &nbsp; 4.8% |<br>
&nbsp;56 &#43;---------------------------------&#43;-----------&#43;------------&#43;------------&#43;<br>
</font><br>
</div>
<div>&quot;<span class="Apple-style-span" style="font-family: Courier; ">setup reinit</span>&quot; corresponds to this part of the code:</div>
<div><br>
</div>
<div>
<div>system_rhs.reinit(introspection.index_sets.system_partitioning, mpi_communicator);</div>
<div>solution.reinit(introspection.index_sets.system_relevant_partitioning, mpi_communicator);</div>
<div>old_solution.reinit(introspection.index_sets.system_relevant_partitioning, mpi_communicator);</div>
<div>old_old_solution.reinit(introspection.index_sets.system_relevant_partitioning, mpi_communicator);</div>
<div>current_linearization_point.reinit (introspection.index_sets.system_relevant_partitioning, MPI_COMM_WORLD);</div>
</div>
<div><br>
</div>
<div>&quot;<span class="Apple-style-span" style="font-family: Courier; ">setup system matrix</span>&quot; correponds to this part of the code:</div>
<div><br>
</div>
<div><font class="Apple-style-span" face="Courier">setup_system_matrix (introspection.index_sets.system_partitioning);</font></div>
<div><br>
</div>
<div><span class="Apple-style-span" style="font-family: Courier; ">&quot;setup system preconditioner&quot;
</span><font class="Apple-style-span" face="Arial">corresponds to:</font></div>
<div><span class="Apple-style-span" style="font-family: Courier; "><br>
</span></div>
<div><span class="Apple-style-span" style="font-family: Courier; ">setup_system_preconditioner (introspection.index_sets.system_partitioning);</span></div>
<div><span class="Apple-style-span" style="font-family: Courier; "><br>
</span></div>
<div><font class="Apple-style-span" face="Arial">I will hereby reiterate my comments from last time for clarity:</font></div>
<div><font class="Apple-style-span" face="Arial">I am surprised by the time all these actions take (Assembly included, by the way).</font></div>
<div><font class="Apple-style-span" face="Arial">My own code is FE but it relies on a regular grid and uses 1st order elements (Q1P0 &#43; penalised formulation)</font></div>
<div><font class="Apple-style-span" face="Arial">so that the assembly and 'dof setup' processes for a 64^3 grid are much faster, and therefore not</font></div>
<div><font class="Apple-style-span" face="Arial">comparable to these obtained with Aspect.</font></div>
<div><font class="Apple-style-span" face="Arial">Not having a proper referential, my question is simple:&nbsp;are those measured times normal ?&nbsp;</font></div>
<div><font class="Apple-style-span" face="Arial"><br>
</font></div>
<div><font class="Apple-style-span" face="Arial">Another question: why does the Stokes assembly take more time than the assembly of temperature ?</font></div>
<div><font class="Apple-style-span" face="Arial"><br>
</font></div>
<div><font class="Apple-style-span" face="Arial">I will appreciate any comments or partial answers any of you may have.&nbsp;</font></div>
<div><font class="Apple-style-span" face="Arial"><br>
</font></div>
<div><font class="Apple-style-span" face="Arial">Cedric.</font></div>
<div><span class="Apple-style-span" style="font-family: Courier; "><br>
</span></div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
</body>
</html>