How to test the computing performance of code_saturne
Forum rules
Please read the forum usage recommendations before posting.
Please read the forum usage recommendations before posting.
How to test the computing performance of code_saturne
I installed code_saturne on two platforms. The CPU of one platform is x86 64bit and the operating system is ubuntu. The CPU of the other platform is armv8 and the operating system is also ubuntu. I want to test the performance difference of code_saturne on these two different platforms, is there any good way?
-
- Posts: 4207
- Joined: Mon Feb 20, 2012 3:25 pm
Re: How to test the computing performance of code_saturne
Hello,
The best solution is to test an actual case or set of cases on both machines. The performance.log files from each computation can be compared and contain many details. Usually, linear solver + gradient computations should amount to 80% or more of the computational time, so if this is not the case, or close, it is important to analyze why before trusting performance results. This may happen for example with too much reads/writes compared to a typical run.
Usually, running 10 to 30 time steps will give you a good idea of the code performance, and it is interesting to vary the size of the case and number of processors used to plot the timing results. On x86-64, best performance efficiency is often obtained between 20 000 tp 80 0000 mesh cells per computing core, but this also depends on the memory bandwith and number of processors (and network for clusters). So starting from there an dividing an multiplying by 2 is a recommendation. This assumes you have test cases of various sizes. Otherwise we have a simplified benchmark test case which I would need to update.
In any case, I am interested by performance comparisons between the 2.
Regards,
Yvan
The best solution is to test an actual case or set of cases on both machines. The performance.log files from each computation can be compared and contain many details. Usually, linear solver + gradient computations should amount to 80% or more of the computational time, so if this is not the case, or close, it is important to analyze why before trusting performance results. This may happen for example with too much reads/writes compared to a typical run.
Usually, running 10 to 30 time steps will give you a good idea of the code performance, and it is interesting to vary the size of the case and number of processors used to plot the timing results. On x86-64, best performance efficiency is often obtained between 20 000 tp 80 0000 mesh cells per computing core, but this also depends on the memory bandwith and number of processors (and network for clusters). So starting from there an dividing an multiplying by 2 is a recommendation. This assumes you have test cases of various sizes. Otherwise we have a simplified benchmark test case which I would need to update.
In any case, I am interested by performance comparisons between the 2.
Regards,
Yvan
Re: How to test the computing performance of code_saturne
Thanks for your reply, I think I don't have a suitable test case now, so I want to try the simplified benchmark test case you said. Where should I get it and use it?
-
- Posts: 4207
- Joined: Mon Feb 20, 2012 3:25 pm
Re: How to test the computing performance of code_saturne
Hello,
I'll need to update the case, but I'll post it in a few days.
Best regards,
Yvan
I'll need to update the case, but I'll post it in a few days.
Best regards,
Yvan
Re: How to test the computing performance of code_saturne
Thanks for your reply.However,I'm running out of time now, is there any other way to test. I see that you provide some simple tutorials such as simple_junction, full_domain, stratified_junction. Can they be used for simple comparison?
-
- Posts: 4207
- Joined: Mon Feb 20, 2012 3:25 pm
Re: How to test the computing performance of code_saturne
Hello,
These cases are too small to provide significant results.
But if you have any existing study with a mesh of 10000 cells or more, you can use that for comparisons (running 30 iterations for example).
Regards,
Yvan
These cases are too small to provide significant results.
But if you have any existing study with a mesh of 10000 cells or more, you can use that for comparisons (running 30 iterations for example).
Regards,
Yvan
Re: How to test the computing performance of code_saturne
Hello,
Thank you very much for your reply, unfortunately, I don't have a grid with 10,000 or more cells, so I hope you can publish the simplified benchmark test case you mentioned as soon as possible.
Regards,
Thank you very much for your reply, unfortunately, I don't have a grid with 10,000 or more cells, so I hope you can publish the simplified benchmark test case you mentioned as soon as possible.
Regards,
-
- Posts: 4207
- Joined: Mon Feb 20, 2012 3:25 pm
Re: How to test the computing performance of code_saturne
Hello,
Here is a test case you may try; with 3 different mesh sizes (one per case)
Still, trying to benchmark the code if you have no experience with "real" cases is tricky, because if some operations are faster on one machine and others are slower on another, you might not have the ability to interpret the results from a "regular user" perspective.
Best regards,
Yvan
Here is a test case you may try; with 3 different mesh sizes (one per case)
Still, trying to benchmark the code if you have no experience with "real" cases is tricky, because if some operations are faster on one machine and others are slower on another, you might not have the ability to interpret the results from a "regular user" perspective.
Best regards,
Yvan
- Attachments
-
- BUNDLE.tar.gz
- (1.52 MiB) Downloaded 298 times