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

Reply via email to