> Compute node and head node give exactly the same output. So does this > mean I have a very slow interconnect, and is this the reason for the > bad scalability?
That is my thinking. The System::project_vector() code does some all-to-all communication, and this seems to be scaling quite badly as you get to larger processor counts. Running with 1 CPU/node will hopefully perform better since you are not sharing a gigE connection between processors. 2: project_vector() 66 47.6923 0.722610 4.93 10: project_vector() 66 48.0857 0.728571 9.92 20: project_vector() 66 89.0770 1.349651 17.00 40: project_vector() 66 187.9307 2.847436 24.08 By contrast, the ProjectVector::operator() does the actual projection and contains no parallel communication. As you can see it is scaling ~linearly to 40 processors: 2: operator() 66 35.3491 0.535593 3.65 10: operator() 66 6.9475 0.105265 1.43 20: operator() 66 3.4364 0.052067 0.66 40: operator() 66 1.7173 0.026020 0.22 -Ben ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Libmesh-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/libmesh-users
