Timo,

You will get vastly different results in debug and release modes for two 
reasons. First, the compiler generates much faster code in release mode 
compared to debug. Second, there are a lot of checks inside deal.II that 
are only enabled in debug mode. This is great when you develop your code 
because it helps you catch bugs early but it makes your code much slower. 
In general, you want to develop your code in debug mode but your production 
run should be done in release.

Best,

Bruno

On Friday, September 15, 2023 at 1:53:59 PM UTC-4 Tim hyvärinen wrote:

hi, Marc,

Thank you for the reply.

I compiled the lib with debug mode, didn't try the optimized version. 
I didn't think this could be a significant issue, but I infer optimized lib 
could improve performance alot based on your question. 

Sincerely,
Timo

On Fri, Sep 15, 2023 at 8:21 PM Marc Fehling <mafe...@gmail.com> wrote:

Hello Tim,

> Yet, even though it is universally believed to be superior in terms of 
convergence properties, it is not widely used because it is often believed 
to be difficult to implement. One way to address this belief is to provide 
well-tested, easy to use software that provides this kind of functionality. 


Just to make sure: did you compile the deal.II library and your code in 
Optimized 
mode/Release mode <https://www.dealii.org/current/readme.html#configuration>
?

Best,
Marc

On Friday, September 15, 2023 at 3:17:39 AM UTC-6 Tim hyvärinen wrote:

Dear dealii community and developers,

I have used dealii framework (9.3.x) a while on HPC machine. My project 
involves solving vector-valued nonlinear PDE with nine components.
Currently, I've implemented damping newton iteration with GMRES+AMG 
preconditioner with MPI on distributed memory architecture. 

A simple timing tells me the assembly process of system-matrix takes 99% of 
the whole running time in every newton iteration. I guess there are
a lot of idle cpu times during assembly because I don't take advantage of 
thread parallelism yet.

So here is my question, which tutorial steps demonstrate how to 
implement the mpi-thread hybrid parallelism. I've found step-48 is talking 
about this, but 
I wonder are there any other tutorial programs to look at? I also wonder if 
any of you guys have suggestions about mpi+thread parallelism under
dealii framework?

Sincerely,
Timo Hyvarinen 

-- 

The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an 
email to dealii+un...@googlegroups.com.

To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/cc50d23d-b6c3-46c3-95dc-4e2250a1b56dn%40googlegroups.com
 
<https://groups.google.com/d/msgid/dealii/cc50d23d-b6c3-46c3-95dc-4e2250a1b56dn%40googlegroups.com?utm_medium=email&utm_source=footer>
.

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/21a210f0-269a-4a01-8988-6e08c11d470an%40googlegroups.com.

Reply via email to