Discussion Closed This discussion was created more than 6 months ago and has been closed. To start a new discussion with a link back to this one, click here.

Multicore Utilization

Please login with a confirmed email address before reporting spam

Hello everyone,

I'm running a rather large model on a machine with 32 cores, 256 GB RAM running Linux. I have set the COMSOL_NUM_THREADS environment variable to 31. The model uses the GMRES solver as was suggested for large problems (machinedesign.com/article/fast-solvers-for-complex-problems-0208). Using the "top" command, I can monitor the CPU usage. During the majority of computation time, the %CPU utilization stays around 100% indicating a single core is utilized. Then, fairly briefly, the utilization will jump to ~3100% indicating all 31 cores I have allocated are in use. Memory usage is approximately 89 GB.

Does anyone have insight as to why only a single core is used for the majority of the computation time? Likewise, does anyone know how to improve CPU utilization?

Thanks,

Matt

2 Replies Last Post 17 giu 2011, 17:04 GMT-4

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 11 ago 2010, 03:50 GMT-4
Hi Matthew,

I suppose that you use the GMRES solver with the default preconditionner ILU. Unfortunatly
this one is not parallelized at this time. As it is very time consuming, your computer spend the
majority of time in the preconditionner and a small amount of time in the solver itself, witch is
quite fast.

Depending on the nature of the problem you want to solve, you may try another preconditionner.

I suggest you to try the geometric multigrid one witch is very efficient for some problems like
diffusion, CFD, structural mechanics and more. This kind of preconitionner is able to use more
than one CPU.


I hope this may help you.

Regards.

J.M
Hi Matthew, I suppose that you use the GMRES solver with the default preconditionner ILU. Unfortunatly this one is not parallelized at this time. As it is very time consuming, your computer spend the majority of time in the preconditionner and a small amount of time in the solver itself, witch is quite fast. Depending on the nature of the problem you want to solve, you may try another preconditionner. I suggest you to try the geometric multigrid one witch is very efficient for some problems like diffusion, CFD, structural mechanics and more. This kind of preconitionner is able to use more than one CPU. I hope this may help you. Regards. J.M

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 17 giu 2011, 17:04 GMT-4
Hi Guys;

I am running an electrochemical model on a machine that has a Lunix OS with 24 cores and 96 GB memory. The model uses Paradiso direct solver and I have make COMSOL use all the 24 cores. However, I cannot reach more than 1200% CPU utilization.

Is it impossible to have more than this amount due to the parallelization limitations of my model or solver?

Can you suggest me anything else to get a more reasonable cpu utilization?

Thanks

Ertan
Hi Guys; I am running an electrochemical model on a machine that has a Lunix OS with 24 cores and 96 GB memory. The model uses Paradiso direct solver and I have make COMSOL use all the 24 cores. However, I cannot reach more than 1200% CPU utilization. Is it impossible to have more than this amount due to the parallelization limitations of my model or solver? Can you suggest me anything else to get a more reasonable cpu utilization? Thanks Ertan

Note that while COMSOL employees may participate in the discussion forum, COMSOL® software users who are on-subscription should submit their questions via the Support Center for a more comprehensive response from the Technical Support team.