> On Feb 20, 2014, at 9:49 AM, Roman Vetter <vette...@ethz.ch> wrote:
> 
> Dear libMesh folks,
> 
> since I've ported my simulations from libmesh ~v0.7 to the current Git 
> HEAD, they run ~50% slower overall. Profiling revealed that this 
> slow-down is caused by those parts of my programs that consist of simple 
> loops over mesh nodes and system variables, like (simplified):
> 
> for (unsigned int nid = 0; nid < mesh.n_nodes(); nid++)
>   for (unsigned int var = 0; var < 3; var++)

Don't loop over mesh nodes like this, use node iterators declared outside the 
loop... See any of the examples for analogous code looping over elems.


>     use(some_vector(mesh.node(nid).dof_number(0, var, 0)));
> 
> Such code runs ~3x slower than before. Surprising, isn't it? From the 
> recent change in the global dof ordering (used to be grouped by 
> variables in ~v0.7, is now grouped by nodes), you'd expect a clear 
> speedup due to better cache locality, but instead, the opposite happens.
> 
> Any ideas why? Also, why and when was the dof order changed?
> 
> Best regards,
> Roman
> 
> ------------------------------------------------------------------------------
> Managing the Performance of Cloud-Based Applications
> Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
> Read the Whitepaper.
> http://pubads.g.doubleclick.net/gampad/clk?id=121054471&iu=/4140/ostg.clktrk
> _______________________________________________
> Libmesh-users mailing list
> Libmesh-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/libmesh-users

------------------------------------------------------------------------------
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121054471&iu=/4140/ostg.clktrk
_______________________________________________
Libmesh-users mailing list
Libmesh-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to