CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > General Forums > Hardware

OpenFOAM benchmarks on various hardware

Register Blogs Community New Posts Updated Threads Search

Like Tree527Likes

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   October 25, 2024, 15:54
Default Performance of Epyc Turin
  #801
Member
 
dab bence
Join Date: Mar 2013
Posts: 48
Rep Power: 13
danbence is on a distinguished road
An AMD performance brief compares the Turin 9755 (2x128) with the Genoa 9654 (2x96) and shows a 43% uplift on the composite OpenFoam benchmarks they chose.

http://www.amd.com/content/dam/amd/e...b-openfoam.pdf
danbence is offline   Reply With Quote

Old   October 29, 2024, 02:41
Default
  #802
New Member
 
Marc
Join Date: Mar 2022
Posts: 6
Rep Power: 4
gumersindu is on a distinguished road
Hi all,

I'm trying to run the benchmark attached on the original post named "bench_template.tar.gz" on my PC: 2 x Intel Xeon E5-2690 v4 (14 cores, 2.6 GHz, 35Mb L3) | 8 x 16GB DDR4 ECC | 1TB HDD | Ubuntu 24.04 LTS | openFOAM-2312

It looks like snappyHexMesh is failing to create the mesh. Is there an updated version maybe?
gumersindu is offline   Reply With Quote

Old   October 29, 2024, 04:18
Default
  #803
Senior Member
 
andy
Join Date: May 2009
Posts: 301
Rep Power: 18
andy_ is on a distinguished road
Quote:
Originally Posted by gumersindu View Post
It looks like snappyHexMesh is failing to create the mesh. Is there an updated version maybe?
It didn't work for me either (Ubuntu 24.04) but the test case seemed to be one of the tutorials with, if memory serves, an increased grid density so I ran that. I'm not in the office at the moment but will look for the script I used when I am back.
andy_ is offline   Reply With Quote

Old   October 29, 2024, 06:53
Default
  #804
Senior Member
 
andy
Join Date: May 2009
Posts: 301
Rep Power: 18
andy_ is on a distinguished road
OK some of what I did is coming back but I am not an openfoam user and was hacking to get something working rather than carefully setting up a benchmark.

Version 11 and 12 of openfoam are organised significantly differently and require different scripts. Don't know about earlier versions.

I ran version 12 something like this (change the list of number of processors for the mesh, solver and writing the timing to taste):

Code:
#!/bin/bash
# PREPROCS="1 2 4 8 16"
# RUNPROCS="1 2 4 8 16"
PREPROCS=""
RUNPROCS="1"
TIMPROCS="1 2 4 8 16"

# Prepare cases
# This example runs on 1, 2 and 4 cores
for i in $PREPROCS; do
    d=run_$i
    echo "Prepare case ${d}..."
    cp -r basecase $d
    cd $d

    cp $FOAM_TUTORIALS/resources/geometry/motorBike.obj.gz constant/geometry/
    surfaceFeatures > log.surfaceFeatures 2>&1
    blockMesh > log.blockMesh 2>&1

    if [ $i -eq 1 ] 
    then
        snappyHexMesh -overwrite > log.snappyHexMesh 2>&1
    else
        sed -i "s/numberOfSubdomains.*/numberOfSubdomains ${i};/" system/decomposeParDict
        decomposePar -copyZero > log.decomposePar 2>&1
        mpirun -np ${i} snappyHexMesh -overwrite -parallel > log.snappyHexMesh 2>&1
    fi
    cd ..
done

# Run cases
for i in $RUNPROCS; do
    echo "Run for ${i}..."
    cd run_$i
    if [ $i -eq 1 ] 
    then
        potentialFoam > log.potentialFoam 2>&1
        foamRun -solver incompressibleFluid > log.incompressibleFluid 2>&1
    else
        # mpirun -np ${i} patchSummary  -parallel > log.patchSummary 2>&1
        mpirun -np ${i} potentialFoam -parallel > log.potentialFoam 2>&1
        mpirun -np ${i} foamRun -solver incompressibleFluid -parallel > log.incompressibleFluid 2>&1
        reconstructPar -latestTime > log.reconstructPar 2>&1

        # foamRun -solver incompressibleFluid -parallel
        #mpirun -np ${i} foamRun -solver incompressibleFluid -parallel > log.simpleFoam 2>&1
    fi
    cd ..
done

# Extract times
echo "# cores   Wall time (s):"
echo "------------------------"
for i in $TIMPROCS; do
    echo $i `grep Execution run_${i}/log.incompressibleFluid | tail -n 1 | cut -d " " -f 3`
done
and version 11 something like this:

Code:
#!/bin/bash

# Prepare cases
# This example runs on 1, 2 and 4 cores
for i in 1 2 4; do
    d=run_$i
    echo "Prepare case ${d}..."
    cp -r basecase $d
    cd $d
    if [ $i -eq 1 ] 
    then
        mv Allmesh_serial Allmesh
    fi
    sed -i "s/method.*/method scotch;/" system/decomposeParDict
    sed -i "s/numberOfSubdomains.*/numberOfSubdomains ${i};/" system/decomposeParDict
    time ./Allmesh
    cd ..
done

# Run cases
for i in 1 2 4; do
    echo "Run for ${i}..."
    cd run_$i
    if [ $i -eq 1 ] 
    then
        simpleFoam > log.simpleFoam 2>&1
    else
        mpirun -np ${i} simpleFoam -parallel > log.simpleFoam 2>&1
    fi
    cd ..
done

# Extract times
echo "# cores   Wall time (s):"
echo "------------------------"
for i in 1 2 4; do
    echo $i `grep Execution run_${i}/log.simpleFoam | tail -n 1 | cut -d " " -f 3`
done
The basecase was the motorBikeSteady tutorial with the following changes:

system/controlDict:
< endTime 500;
> endTime 100;

system/blockMeshDict:
< hex (0 1 2 3 4 5 6 7) (20 8 8) simpleGrading (1 1 1)
> hex (0 1 2 3 4 5 6 7) (40 16 16) simpleGrading (1 1 1)

system/decomposeParDict:
< numberOfSubdomains 16;
> numberOfSubdomains 2;

The first two change the number of iterations and the mesh size hints to match. Not sure about the 3rd but I may have been fiddling. I am not an openfoam user and was making guesses at the likely meaning of parameters. What is really needed is for an openfoam user to diff the earlier benchmark and the current tutorial and keep the parameter changes that are relevant. Whatever, my benchmark results are broadly in line with expectations and so if there are differences they are small.

Last edited by andy_; October 29, 2024 at 12:41.
andy_ is offline   Reply With Quote

Old   October 29, 2024, 19:56
Default
  #805
Senior Member
 
Will Kernkamp
Join Date: Jun 2014
Posts: 370
Rep Power: 14
wkernkamp is on a distinguished road
Quote:
Originally Posted by andy_ View Post
OK some of what I did is coming back but I am not an openfoam user and was hacking to get something working rather than carefully setting up a benchmark.

Version 11 and 12 of openfoam are organised significantly differently and require different scripts. Don't know about earlier versions.

I ran version 12 something like this .....

The first two change the number of iterations and the mesh size hints to match. Not sure about the 3rd but I may have been fiddling. I am not an openfoam user and was making guesses at the likely meaning of parameters. What is really needed is for an openfoam user to diff the earlier benchmark and the current tutorial and keep the parameter changes that are relevant. Whatever, my benchmark results are broadly in line with expectations and so if there are differences they are small.
I did not see your result. From the looks of it you made the correct changes.


I find it extremely annoying that the basic call for the simpleFoam solution has been changed by openfoam.org. They remained the same for OpenFoam.com. (OpenFOAM v2312). I remember loosing all interest in the ruby language because they kept changing the language so that you had to rewrite your code for every version. Developers that don't know that better is the enemy of good, should be shot to save us all a lot of time.
Crowdion likes this.
wkernkamp is offline   Reply With Quote

Old   Yesterday, 06:24
Default
  #806
Senior Member
 
andy
Join Date: May 2009
Posts: 301
Rep Power: 18
andy_ is on a distinguished road
Quote:
Originally Posted by wkernkamp View Post
I did not see your result. From the looks of it you made the correct changes.
My results are a few posts up on the previous page and thanks for the confirmation.
andy_ is offline   Reply With Quote

Old   Yesterday, 22:24
Default
  #807
Senior Member
 
Will Kernkamp
Join Date: Jun 2014
Posts: 370
Rep Power: 14
wkernkamp is on a distinguished road
Quote:
Originally Posted by andy_ View Post
My results are a few posts up on the previous page and thanks for the confirmation.
I looked at your previous posts. I was confused because some are quotes of other people 's results. Is your current system the one doing just over 100 seconds? If it is, you can do ~64 seconds with two 16+ cores. My fastest one does 60 seconds. They have the same total 8 memory channels at 2400 MT/s as you. However, they have much more L3 cache and that is a factor too. Upgrade your bios to the latest before installing the high core count cpus!
andy_ likes this.
wkernkamp is offline   Reply With Quote

Old   Today, 05:35
Default
  #808
New Member
 
Marc
Join Date: Mar 2022
Posts: 6
Rep Power: 4
gumersindu is on a distinguished road
Hi all,

I finally modified the motorbike tutorial to match the same configuration as in the benchmark from the original post. I've attached the modified code which worked for v2312.

These are the results I got for this PC config: HP Z840 | 2 x Intel Xeon E5-2690 v4 (14 cores, 2,6 GHz, 35Mb L3) | 8 x 16GB DDR4 ECC | 1TB HDD | Ubuntu 24.04 LTS

Code:
cores  MeshTime(s)     RunTime(s)     
-----------------------------------
1      1403.79         1098.68        
2      949.89          551.16         
4      495.73          246.11         
6      361.35          163.72         
8      293.58          128.46         
12     244.06          99.28          
16     229.99          84.12          
20     186.59          78.14          
24     183.3           74.44          
28     177.25          72.7
Attached Files
File Type: gz benchmark_v2312.tar.gz (9.6 KB, 1 views)
gumersindu is offline   Reply With Quote

Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
How to contribute to the community of OpenFOAM users and to the OpenFOAM technology wyldckat OpenFOAM 17 November 10, 2017 16:54
UNIGE February 13th-17th - 2107. OpenFOAM advaced training days joegi.geo OpenFOAM Announcements from Other Sources 0 October 1, 2016 20:20
OpenFOAM Training Beijing 22-26 Aug 2016 cfd.direct OpenFOAM Announcements from Other Sources 0 May 3, 2016 05:57
New OpenFOAM Forum Structure jola OpenFOAM 2 October 19, 2011 07:55
Hardware for OpenFOAM LES LijieNPIC Hardware 0 November 8, 2010 10:54


All times are GMT -4. The time now is 21:29.