2008/8/1 Derek Gaston <[EMAIL PROTECTED]> > Shengli, > > You shouldn't compare run times in debug mode. I fully believe that 0.6.2 > is slower in debug mode than 0.5.0... this is a reflection of better (at > least more) error catching in 0.6.2. If you are going to compare time (or > even worry about time in the first place) you should be looking at Optimized > binaries. When in optimized mode there are MANY error checks that aren't > done... which speeds things up immensely. > > So, rerun in optimized mode, and see if you still have a speed issue. >
Derek, Here is the result in optimized mode: libMesh0.5.0: ---------------------------------------------------------------------------- | Time: Fri Aug 1 19:34:51 2008 | OS: Linux | HostName: s420 | OS Release 2.6.18-8.el5 | OS Version: #1 SMP Thu Mar 15 19:46:53 EDT 2007 | Machine: x86_64 | Username: xsl ---------------------------------------------------------------------------- ---------------------------------------------------------------------------- | Matrix Assembly Performance: Alive time=0.323061, Active time=0.304545 ---------------------------------------------------------------------------- | Event nCalls Total Avg Percent of | | Time Time Active Time | |----------------------------------------------------------------------------| | | | Bc 1920 0.0047 0.000002 1.56 | | Ke 1920 0.2056 0.000107 67.50 | | elem init 1920 0.0254 0.000013 8.34 | | matrix insertion 1920 0.0688 0.000036 22.60 | ---------------------------------------------------------------------------- | Totals: 7680 0.3045 100.00 | ---------------------------------------------------------------------------- libMesh0.6.2: ------------------------------------------------------------------- | Time: Fri Aug 1 19:41:31 2008 | | OS: Linux | | HostName: s420 | | OS Release: 2.6.18-8.el5 | | OS Version: #1 SMP Thu Mar 15 19:46:53 EDT 2007 | | Machine: x86_64 | | Username: xsl | | Configuration: ./configure run on Sat Mar 22 23:29:52 EAT 2008 | ------------------------------------------------------------------- ------------------------------------------------------------------------------ | Matrix Assembly Performance: Alive time=140.263, Active time=140.233 | ------------------------------------------------------------------------------ | Event nCalls Total Avg Percent of | | Time Time Active Time | |------------------------------------------------------------------------------| | | | Bc 1920 0.0057 0.000003 0.00 | | Ke 1920 0.2096 0.000109 0.15 | | elem init 1920 2.4649 0.001284 1.76 | | matrix insertion 1920 137.5529 0.071642 98.09 | ------------------------------------------------------------------------------ | Totals: 7680 140.2331 100.00 | ------------------------------------------------------------------------------ > > Derek > > On Fri, Aug 1, 2008 at 12:48 AM, Shengli Xu <[EMAIL PROTECTED]>wrote: > >> 2008/7/31 Roy Stogner <[EMAIL PROTECTED]> >> >> > >> > On Thu, 31 Jul 2008, Shengli Xu wrote: >> > >> > Roy, Could you tell me what specific profiling information should be >> >> gotten? I have to solve this problem. >> >> >> > >> > Just this: "Exactly where is the delay occurring?" If you're using >> > our PerfLog objects, for example, you could create one in the >> > assembly, activate it right before the matrix adds, and deactivate it >> > right after; if that ends up being responsible for most of your >> > runtime then you've verified that my "bad matrix assembly" hypothesis >> > was correct. >> >> >> Roy, I do an example using libMesh0.5.0 and libMesh0.6.2. They are both in >> debug mode. libMesh0.5.0 is very fast, But libMesh0.6.2 is very slow. >> The mesh information is : >> Mesh Information: >> mesh_dimension()=3 >> spatial_dimension()=3 >> n_nodes()=2772 >> n_elem()=1920 >> n_local_elem()=1920 >> n_active_elem()=1920 >> n_subdomains()=1 >> n_processors()=1 >> processor_id()=0 >> >> libMesh0.5.0 result: >> >> ---------------------------------------------------------------------------- >> | Time: Fri Aug 1 14:31:00 2008 >> | OS: Linux >> | HostName: xu >> | OS Release 2.6.15-52-386 >> | OS Version: #1 PREEMPT Mon Jun 9 17:24:46 UTC 2008 >> | Machine: i686 >> | Username: xsl >> >> ---------------------------------------------------------------------------- >> >> ---------------------------------------------------------------------------- >> | Matrix Assembly Performance: Alive time=18.1943, Active time=18.0932 >> >> ---------------------------------------------------------------------------- >> | Event nCalls Total Avg Percent of >> | >> | Time Time Active >> Time >> | >> >> |----------------------------------------------------------------------------| >> | >> | >> | Bc 1920 0.0252 0.000013 0.14 >> | >> | Ke 1920 15.3852 0.008013 85.03 >> | >> | elem init 1920 2.2899 0.001193 12.66 >> | >> | matrix insertion 1920 0.3929 0.000205 2.17 >> | >> >> ---------------------------------------------------------------------------- >> | Totals: 7680 18.0932 100.00 >> | >> >> ---------------------------------------------------------------------------- >> >> >> >> ---------------------------------------------------------------------------- >> >> | Reference count information >> | >> >> ---------------------------------------------------------------------------- >> >> | 12LinearSolverIdE reference count information: >> | Creations: 1 >> | Destructions: 1 >> | 12SparseMatrixIdE reference count information: >> | Creations: 1 >> | Destructions: 1 >> | 13NumericVectorIdE reference count information: >> | Creations: 4 >> | Destructions: 4 >> | 4Elem reference count information: >> | Creations: 11969 >> | Destructions: 11969 >> | 4Node reference count information: >> | Creations: 2772 >> | Destructions: 2772 >> | 5QBase reference count information: >> | Creations: 2 >> | Destructions: 2 >> | 6DofMap reference count information: >> | Creations: 1 >> | Destructions: 1 >> | 6FEBase reference count information: >> | Creations: 1 >> | Destructions: 1 >> | 6System reference count information: >> | Creations: 1 >> | Destructions: 1 >> | 9DofObject reference count information: >> | Creations: 19433 >> | Destructions: 19433 >> | N10Parameters5ValueE reference count information: >> | Creations: 8 >> | Destructions: 8 >> >> ---------------------------------------------------------------------------- >> >> >> libMesh0.6.2 result: >> ------------------------------------------------------------------- >> | Time: Fri Aug 1 14:29:55 2008 | >> | OS: Linux | >> | HostName: xu | >> | OS Release: 2.6.15-52-386 | >> | OS Version: #1 PREEMPT Mon Jun 9 17:24:46 UTC 2008 | >> | Machine: i686 | >> | Username: xsl | >> | Configuration: ./configure run on Sat Mar 8 17:21:51 EST 2008 | >> ------------------------------------------------------------------- >> >> >> ------------------------------------------------------------------------------ >> | Matrix Assembly Performance: Alive time=627.065, Active >> time=626.926 | >> >> >> ------------------------------------------------------------------------------ >> | Event nCalls Total Avg Percent >> of | >> | Time Time Active >> Time | >> >> |------------------------------------------------------------------------------| >> | >> | >> | Bc 1920 0.0241 0.000013 >> 0.00 | >> | Ke 1920 17.3613 0.009042 >> 2.77 | >> | elem init 1920 2.8831 0.001502 >> 0.46 | >> | matrix insertion 1920 606.6573 0.315967 >> 96.77 | >> >> >> ------------------------------------------------------------------------------ >> | Totals: 7680 626.9258 >> 100.00 | >> >> >> ------------------------------------------------------------------------------ >> >> >> >> ---------------------------------------------------------------------------- >> | Reference count information >> | >> >> ---------------------------------------------------------------------------- >> | 12LinearSolverIdE reference count information: >> | Creations: 1 >> | Destructions: 1 >> | 12SparseMatrixIdE reference count information: >> | Creations: 1 >> | Destructions: 1 >> | 13NumericVectorIdE reference count information: >> | Creations: 4 >> | Destructions: 4 >> | 4Elem reference count information: >> | Creations: 11969 >> | Destructions: 11969 >> | 4Node reference count information: >> | Creations: 2772 >> | Destructions: 2772 >> | 5QBase reference count information: >> | Creations: 5762 >> | Destructions: 5762 >> | 6DofMap reference count information: >> | Creations: 1 >> | Destructions: 1 >> | 6FEBase reference count information: >> | Creations: 11521 >> | Destructions: 11521 >> | 6System reference count information: >> | Creations: 1 >> | Destructions: 1 >> | 9DofObject reference count information: >> | Creations: 19433 >> | Destructions: 19433 >> | N10Parameters5ValueE reference count information: >> | Creations: 8 >> | Destructions: 8 >> >> ---------------------------------------------------------------------------- >> >> Difference between libMesh 0.5.0 and libMesh 0.6.2: >> matrix insertion: 0.3929 606.6573 >> (Referenced libMesh example 4) >> QBase reference count: 2 5762 >> FEBase reference count: 1 19433 >> >> what's wrong? >> >> If not, then something else in your assembly is taking >> > way too long (calling FE::reinit inside the quadrature loop?); you can >> > use fine-grained PerfLog objects to test that out too. >> > >> > Or use whatever profiler you're comfortable with, of course. I like >> > oprofile; other people I know prefer Tau. >> > >> > http://oprofile.sourceforge.net/ >> > http://www.cs.uoregon.edu/research/tau/home.php >> > --- >> > Roy >> > >> >> >> >> -- >> Shengli Xu >> ------------------------------------------------------------------------- >> 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 >> > > -- Shengli Xu ------------------------------------------------------------------------- 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
