<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, </div>
<div><br>
</div>
<div>I have been timing various parts of the 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). </div>
<div><br>
</div>
<div>Here is the standard output:</div>
<div><br>
</div>
<div><font class="Apple-style-span" face="Courier"> 1 Number of active cells: 262144 (on 7 levels)<br>
2 Number of degrees of freedom: 11008070 (6440067+274625+2146689+2146689)<br>
3 <br>
4 *** Timestep 0: t=0 seconds<br>
5 Solving temperature system... 0 iterations.<br>
6 Solving composition system 1... 0 iterations.<br>
7 Rebuilding Stokes preconditioner...<br>
8 Solving Stokes system... 27 iterations.<br>
9 <br>
10 Postprocessing:<br>
11 <br>
12 Reference density (kg/m^3): 1010<br>
13 Reference gravity (m/s^2): 10<br>
14 Reference thermal expansion (1/K): 0<br>
15 Temperature contrast accross model domain (K): 1<br>
16 Model domain depth (m): 1<br>
17 Reference thermal diffusivity (m^2/s): 3.72277e-06<br>
18 Reference viscosity (Pas): 100<br>
19 Ra number: 0<br>
20 k_value: 4.7<br>
21 reference_cp: 1250<br>
22 reference_thermal_diffusivity: 3.72277e-06<br>
23 <br>
24 Writing graphical output: output_vkk3D/solution-00000<br>
25 RMS, max velocity: 0.000135 m/s, 0.000322 m/s<br>
26 Compositions min/max/mass: 0/1/0.1979<br>
27 <br>
28 <br>
29 <br>
30 +---------------------------------------------+------------+------------+<br>
31 | Total wallclock time elapsed since start | 1.98e+03s | |<br>
32 | | | |<br>
33 | Section | no. calls | wall time | % of total |<br>
34 +---------------------------------+-----------+------------+------------+<br>
35 | Assemble Stokes system | 1 | 314s | 16% |<br>
36 | Assemble composition system | 1 | 521s | 26% |<br>
37 | Assemble temperature system | 1 | 528s | 27% |<br>
38 | Build Stokes preconditioner | 1 | 138s | 6.9% |<br>
39 | Build composition preconditioner| 1 | 7.13s | 0.36% |<br>
40 | Build temperature preconditioner| 1 | 7.86s | 0.4% |<br>
41 | Solve Stokes system | 1 | 81.4s | 4.1% |<br>
42 | Solve composition system | 1 | 1.87s | 0.094% |<br>
43 | Solve temperature system | 1 | 1.99s | 0.1% |<br>
44 | Initialization | 2 | 9.01s | 0.45% |<br>
45 | Postprocessing | 1 | 49.9s | 2.5% |<br>
46 | Setup dof systems | 1 | 1.05s | 0.053% |<br>
47 | aft.Renumbering | 1 | 0.207s | 0.01% |<br>
48 | aft.constraints | 1 | 0.00666s | 0.00034% |<br>
49 | aft.distributedofs | 1 | 2.61s | 0.13% |<br>
50 | aft.introspection | 1 | 0.000636s | 3.2e-05% |<br>
51 | aft.pcout | 1 | 0.725s | 0.037% |<br>
52 | setup ifcompr | 1 | 2.86e-06s | 1.4e-07% |<br>
53 | setup reinit | 1 | 3.55s | 0.18% |<br>
54 | setup system matrix | 1 | 214s | 11% |<br>
55 | setup system preconditioner | 1 | 95.2s | 4.8% |<br>
56 +---------------------------------+-----------+------------+------------+<br>
</font><br>
</div>
<div>"<span class="Apple-style-span" style="font-family: Courier; ">setup reinit</span>" 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>"<span class="Apple-style-span" style="font-family: Courier; ">setup system matrix</span>" 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; ">"setup system preconditioner"
</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 + 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: are those measured times normal ? </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. </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>