## [Libmesh-users] How long does the system assembling need?

 [Libmesh-users] How long does the system assembling need? From: Shengli Xu - 2008-07-31 01:45:00 ```Hi, All The fem system is a 3D elastic structure. The element is 3D brick element Hex8. Mesh refinement is used in this system. The system assembling is quickly when maximum refinement level is 0 and 1. The system information and mesh information are as below: (1) refinement level is 0 EquationSystems n_systems()=1 System "beam_analysis" Type "LinearImplicit" Variables="u" "v" "w" Finite Element Types="LAGRANGE" "LAGRANGE" "LAGRANGE" Approximation Orders="FIRST" "FIRST" "FIRST" n_dofs()=8316 n_local_dofs()=8316 n_constrained_dofs()=0 n_vectors()=2 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 (2) refinement level is 1 EquationSystems n_systems()=1 System "beam_analysis" Type "LinearImplicit" Variables="u" "v" "w" Finite Element Types="LAGRANGE" "LAGRANGE" "LAGRANGE" Approximation Orders="FIRST" "FIRST" "FIRST" n_dofs()=37185 n_local_dofs()=37185 n_constrained_dofs()=6708 n_vectors()=2 Mesh Information: mesh_dimension()=3 spatial_dimension()=3 n_nodes()=12395 n_elem()=10336 n_local_elem()=10336 n_active_elem()=9284 n_subdomains()=1 n_processors()=1 processor_id()=0 But in next iteration the refinement level is 2, The process of system assembling is very very slowly. It took more than 12 hours when only assembled 30000 elements. The system and mesh information is : (3) refinement level is 2 EquationSystems n_systems()=1 System "beam_analysis" Type "LinearImplicit" Variables="u" "v" "w" Finite Element Types="LAGRANGE" "LAGRANGE" "LAGRANGE" Approximation Orders="FIRST" "FIRST" "FIRST" n_dofs()=253785 n_local_dofs()=253785 n_constrained_dofs()=30726 n_vectors()=2 Mesh Information: mesh_dimension()=3 spatial_dimension()=3 n_nodes()=84595 n_elem()=82048 n_local_elem()=82048 n_active_elem()=72032 n_subdomains()=1 n_processors()=1 processor_id()=0 Is the system too large for only one processor? -- Yours Sincerely ShengliXu Department of Engineering Mechanics State Key Laboratory of Structural Analysis for Industrial Equipment Dalian University of Technology Dalian, 116024, P. R. China Email: shengli.xu.xu@... ========================== ```

 [Libmesh-users] How long does the system assembling need? From: Shengli Xu - 2008-07-31 01:45:00 ```Hi, All The fem system is a 3D elastic structure. The element is 3D brick element Hex8. Mesh refinement is used in this system. The system assembling is quickly when maximum refinement level is 0 and 1. The system information and mesh information are as below: (1) refinement level is 0 EquationSystems n_systems()=1 System "beam_analysis" Type "LinearImplicit" Variables="u" "v" "w" Finite Element Types="LAGRANGE" "LAGRANGE" "LAGRANGE" Approximation Orders="FIRST" "FIRST" "FIRST" n_dofs()=8316 n_local_dofs()=8316 n_constrained_dofs()=0 n_vectors()=2 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 (2) refinement level is 1 EquationSystems n_systems()=1 System "beam_analysis" Type "LinearImplicit" Variables="u" "v" "w" Finite Element Types="LAGRANGE" "LAGRANGE" "LAGRANGE" Approximation Orders="FIRST" "FIRST" "FIRST" n_dofs()=37185 n_local_dofs()=37185 n_constrained_dofs()=6708 n_vectors()=2 Mesh Information: mesh_dimension()=3 spatial_dimension()=3 n_nodes()=12395 n_elem()=10336 n_local_elem()=10336 n_active_elem()=9284 n_subdomains()=1 n_processors()=1 processor_id()=0 But in next iteration the refinement level is 2, The process of system assembling is very very slowly. It took more than 12 hours when only assembled 30000 elements. The system and mesh information is : (3) refinement level is 2 EquationSystems n_systems()=1 System "beam_analysis" Type "LinearImplicit" Variables="u" "v" "w" Finite Element Types="LAGRANGE" "LAGRANGE" "LAGRANGE" Approximation Orders="FIRST" "FIRST" "FIRST" n_dofs()=253785 n_local_dofs()=253785 n_constrained_dofs()=30726 n_vectors()=2 Mesh Information: mesh_dimension()=3 spatial_dimension()=3 n_nodes()=84595 n_elem()=82048 n_local_elem()=82048 n_active_elem()=72032 n_subdomains()=1 n_processors()=1 processor_id()=0 Is the system too large for only one processor? -- Yours Sincerely ShengliXu Department of Engineering Mechanics State Key Laboratory of Structural Analysis for Industrial Equipment Dalian University of Technology Dalian, 116024, P. R. China Email: shengli.xu.xu@... ========================== ```
 Re: [Libmesh-users] How long does the system assembling need? From: Roy Stogner - 2008-07-31 03:16:47 ```On Wed, 30 Jul 2008, Shengli Xu wrote: > But in next iteration the refinement level is 2, The process of system > assembling is very very slowly. It took more than 12 hours when only > assembled 30000 elements. The system and mesh information is : > n_dofs()=253785 > Is the system too large for only one processor? Large enough that you can't quickly solve many time steps on one processor, maybe... but large enough that one assembly should take 12 hours? Definitely not. There's some sort of bug here. If you could any more specific profiling information, it would help. The only culprit I've heard of that can destroy your assembly speed is if you try to assemble a bunch of matrices with entries outside PETSc's precalculated sparsity pattern, but before we figure out why that might be happening to you it would be a good idea to verify that that's what's happening. --- Roy ```
 Re: [Libmesh-users] How long does the system assembling need? From: Shengli Xu - 2008-07-31 07:38:54 ```2008/7/30 Roy Stogner > > On Wed, 30 Jul 2008, Shengli Xu wrote: > > But in next iteration the refinement level is 2, The process of system >> assembling is very very slowly. It took more than 12 hours when only >> assembled 30000 elements. The system and mesh information is : >> > > n_dofs()=253785 >> > > Is the system too large for only one processor? >> > > Large enough that you can't quickly solve many time steps on one > processor, maybe... but large enough that one assembly should take 12 > hours? Definitely not. There's some sort of bug here. If you could > any more specific profiling information, it would help. Roy, Could you tell me what specific profiling information should be gotten? I have to solve this problem. The only culprit I've heard of that can destroy your assembly speed is if > you > try to assemble a bunch of matrices with entries outside PETSc's > precalculated sparsity pattern, but before we figure out why that > might be happening to you it would be a good idea to verify that > that's what's happening. > --- > Roy > -- Yours Sincerely Shengli Xu ```
 Re: [Libmesh-users] How long does the system assembling need? From: Roy Stogner - 2008-07-31 12:57:54 ```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. 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 ```
 Re: [Libmesh-users] How long does the system assembling need? From: Shengli Xu - 2008-08-01 06:48:34 ```2008/7/31 Roy Stogner > > 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 ```
 Re: [Libmesh-users] How long does the system assembling need? From: Derek Gaston - 2008-08-01 07:06:33 ```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 On Fri, Aug 1, 2008 at 12:48 AM, Shengli Xu wrote: > 2008/7/31 Roy Stogner > > > > > 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 > Libmesh-users@... > https://lists.sourceforge.net/lists/listinfo/libmesh-users > ```
 Re: [Libmesh-users] How long does the system assembling need? From: Shengli Xu - 2008-08-01 08:29:05 ```2008/8/1 Derek Gaston > 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 wrote: > >> 2008/7/31 Roy Stogner >> >> > >> > 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 >> Libmesh-users@... >> https://lists.sourceforge.net/lists/listinfo/libmesh-users >> > > -- Shengli Xu ```
 Re: [Libmesh-users] How long does the system assembling need? From: Roy Stogner - 2008-08-01 13:03:43 ```On Fri, 1 Aug 2008, Shengli Xu wrote: > Derek, Here is the result in optimized mode: > libMesh0.5.0: > | matrix insertion 1920 0.0688 0.000036 22.60 > libMesh0.6.2: > | matrix insertion 1920 137.5529 0.071642 > 98.09 | That's got to be a sparsity problem, then. What's the behavior like with the libMesh SVN head? And what's the behavior like if you run your 0.6.2 app with "--implicit_neighbor_dofs" on the command like? --- Roy ```
 Re: [Libmesh-users] How long does the system assembling need? From: Shengli Xu - 2008-08-04 08:23:20 ```Roy, With libMesh SVN head, The assembly is very quickly. libMesh SVN head: ------------------------------------------------------------------------------ | Matrix Assembly Performance: Alive time=0.320177, Active time=0.301312 | ------------------------------------------------------------------------------ | Event nCalls Total Avg Percent of | | Time Time Active Time | |------------------------------------------------------------------------------| | | | Bc 1920 0.0045 0.000002 1.50 | | Ke 1920 0.2043 0.000106 67.80 | | elem init 1920 0.0253 0.000013 8.40 | | matrix insertion 1920 0.0672 0.000035 22.30 | ------------------------------------------------------------------------------ | Totals: 7680 0.3013 100.00 | ------------------------------------------------------------------------------ while in libMesh0.6.2: ------------------------------------------------------------------------------ | Matrix Assembly Performance: Alive time=139.585, Active time=139.556 | ------------------------------------------------------------------------------ | Event nCalls Total Avg Percent of | | Time Time Active Time | |------------------------------------------------------------------------------| | | | Bc 1920 0.0057 0.000003 0.00 | | Ke 1920 0.2098 0.000109 0.15 | | elem init 1920 0.1110 0.000058 0.08 | | matrix insertion 1920 139.2289 0.072515 99.77 | ------------------------------------------------------------------------------ | Totals: 7680 139.5555 100.00 | ------------------------------------------------------------------------------ 2008/8/1 Roy Stogner > > On Fri, 1 Aug 2008, Shengli Xu wrote: > > Derek, Here is the result in optimized mode: >> > > libMesh0.5.0: >> | matrix insertion 1920 0.0688 0.000036 22.60 >> > > libMesh0.6.2: >> | matrix insertion 1920 137.5529 0.071642 >> 98.09 | >> > > > That's got to be a sparsity problem, then. What's the behavior like > with the libMesh SVN head? And what's the behavior like if you run > your 0.6.2 app with "--implicit_neighbor_dofs" on the command like? > --- > Roy > -- Shengli Xu ```
 Re: [Libmesh-users] How long does the system assembling need? From: Roy Stogner - 2008-08-04 13:32:32 ```On Mon, 4 Aug 2008, Shengli Xu wrote: > With libMesh SVN head, The assembly is very quickly. I'm afraid we're comparing apples to oranges, if you compiled the SVN head without MPI. It's possible that the underlying slow assembly problem is still there but affects only PETSc, not LASPACK. I'm afraid I don't know what else to suggest for your compilation problems, though. Do you have more than one MPI implementation installed? --- Roy ```