From: David K. <dkn...@se...> - 2012-10-31 22:16:04
|
On 10/31/2012 05:33 PM, Roy Stogner wrote: > > And it doesn't look like it's ParallelMesh's fault. > > RBEIMConstruction::evaluate_mesh_function is querying a MeshFunction > object, and that query returns the _out_of_mesh_value (an empty > DenseVector by default) if it's asked for the value of a point that's > not within any active local or active ghosted elements. > > Even with SerialMesh, this would normally fail, except that > RBEIMConstruction built a serialized solution vector to hand to the > MeshFunction, so results should be correct but performance should > scale poorly. > > enrich_RB_space() and update_RB_system_matrices() are doing a localize > to that serialized vector, so they must already be parallel_only > methods - would it be possible to change them to only query local > elements, and then if necessary sync the resulting data afterwards? > > For now I'm going to disable reduced_basis_ex6 in the --enable-parmesh > case. OK, let me fix this all up, but in the meantime disabling parmesh for rb_ex6 is good. I haven't used this functionality on large problems yet, so the scaling hasn't hit me, but good to fix it sooner rather than later. Thanks! David |