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++)
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users