Menu

Runtimes202_211

Anonymous Bruno Santos
There is a newer version of this page. You can find it here.

Table of Contents

  • Table of Contents
  • Introduction
  • Summary of results
  • Full list of tests and results
    • openSUSE 12.1 x86_64
    • Windows 7 x64 Ultimate
    • Ubuntu 10.04 i686 VM

Introduction

In order to compare blueCFD's 2.0-2 + 2.1-1 performance on Windows versus OpenFOAM 2.0.x + 2.1.x on Linux, a test case has been prepared and executed. It is the usual motorBike case we at blueCAPE have used in the past, but this time it's has been prepared to run with both snappyHexMesh and simpleFoam to be executed in parallel. The cases are provided on the following links and can be done automatically by running the script ./DoALap.

The machine that has been used for these tests has an Intel i7 950 CPU, with 4 cores and with Hyper-Threading (HT) turned on, with the following Operating System and OpenFOAM compilation characteristics:

  • Real machine with openSUSE 12.1 x86_64, with gcc 4.6.1 and Open-MPI 1.5.3 that come with OpenFOAM's ThirdParty package.
  • Real machine with Windows 7 x64 Ultimate, with gcc 4.5.3 and Open-MPI 1.5.3 which are used by default with blueCFD.
  • Virtual machine on the Windows host with Ubuntu 10.04 i686, with gcc 4.4.5 and Open-MPI 1.5.3 that come with OpenFOAM's ThirdParty package.
    • Only 4 cores are available to the virtual machine, therefore there is no HT inside it.

Details to taking into account about these results:

  • This results are only indicative of the performance differences. Only a single run has been done for each test, but for more accurate results, there should be done at least 10 results and statistical analysis should be performed.
  • File system access has not been optimized, i.e. we've used the default settings.
  • MPI performance has not been fully optimized, i.e. we've used the default settings.
  • The builds of OpenFOAM and blueCFD have not been fully optimized for the machine used. These builds have been done with the default settings, which means that the performance should be similar on other CPU architectures, such as the ones produced by AMD and Via.
  • The ratio of cells per core has not been optimized to fully take advantage of the available computation resources.

Summary of results

Analysis of results on Tables 1 to 4:

  • blueCFD on Windows isn't always a better performer than OpenFOAM in a Linux VM (Windows host), when VT is enabled.
  • blueCFD on Windows can be up to 45% slower than OpenFOAM on Linux, when comparing results on the same architectures.
  • With 4 cores, blueCFD's performance is only up to 30% slower than OpenFOAM.
  • blueCFD 64bit on Windows can catchup with OpenFOAM 32bit on Linux.
  • blueCFD file system operations on Windows are slower than OpenFOAM's on Linux.

Conclusion: blueCFD is clearly a good choice if the user has to use Windows, specially if post-processing is taken into account.

Table 1 - Sequential runs with OpenFOAM 2.0.x:

Solver timings
2.0.x i686
2.0-2 32bit
2.0.x i686 VM
2.0.x x86_64
2.0-2 64bit

snappyHexMesh write times
9.83, 14.99, 168
14.527, 20.883, 169
10.14, 15.51, 156
7.42, 12.22, 153
13.303, 19.435, 150

snappyHexMesh total run time
254
289
247
219
254

simpleFoam total run time
883
1065
1170
677
958

Table 2 - Sequential runs with OpenFOAM 2.1.x:

Solver timings
2.1.x i686
2.1-1 32bit
2.1.x i686 VM
2.1.x x86_64
2.1-1 64bit

snappyHexMesh write times
10.79, 15.81, 229
15.959, 21.855, 184
11.19, 17.86, 194
8.15, 11.9, 148
14.414, 19.407, 179

snappyHexMesh total run time
318
296
291
217
277

simpleFoam total run time
896
1066
1199
685
962

Table 3 - Parallel runs with 4 cores, single machine with OpenFOAM 2.0.x:

Solver timings
2.0.x i686
2.0-2 32bit
2.0.x i686 VM
2.0.x x86_64
2.0-2 64bit

snappyHexMesh write times
5.16, 5.29, 70
8.985, 8.642, 83.1
5.4, 5.56, 64.2
4.03, 4.46, 39.4
7.629, 5.944, 61.2

snappyHexMesh total run time
118
155
116
75.7
123

simpleFoam total run time
363
470
404
329
406,

Table 4 - Parallel runs with 4 cores, single machine with OpenFOAM 2.1.x:

Solver timings
2.1.x i686
2.1-1 32bit
2.1.x i686 VM
2.1.x x86_64
2.1-1 64bit

snappyHexMesh write times
6.1, 5.41, 51.2
9.672, 8.892, 84.3
5.63, 6.2, 64.4
4.5, 4.21, 39.5
9.126, 9.282, 84.4

snappyHexMesh total run time
102
161
120
80
161

simpleFoam total run time
379
480
405
328
413

Full list of tests and results

openSUSE 12.1 x86_64

2.0.x x86_64:

Solver timings
1 core(s)
2 core(s)
4 core(s)
8 core(s)

snappyHexMesh write times
7.42 12.22 153
6.56 7.83 98.6
4.03 4.46 39.4
4.5 3.88 40.2

snappyHexMesh total run time
219
147
75.7
82.4

simpleFoam total run time
677
411
329
339

2.1.x x86_64:

Solver timings
1 core(s)
2 core(s)
4 core(s)
8 core(s)

snappyHexMesh write times
8.15 11.9 148
7.57 7.39 92.8
4.5 4.21 39.5
4.59 3.24 31.9

snappyHexMesh total run time
217
146
80
77.4

simpleFoam total run time
685
423
328
341

2.0.x i686:

Solver timings
1 core(s)
2 core(s)
4 core(s)
8 core(s)

snappyHexMesh write times
9.83 14.99 168
8.42 9.25 103
5.16 5.29 70
5.3 4.39 39.9

snappyHexMesh total run time
254
167
118
93.1

simpleFoam total run time
883
532
363
351

2.1.x i686:

Solver timings
1 core(s)
2 core(s)
4 core(s)
8 core(s)

snappyHexMesh write times
10.79 15.81 229
8.65 9.74 139
6.1 5.41 51.2
5.76 4.63 39.1

snappyHexMesh total run time
318
205
102
96.1

simpleFoam total run time
896
525
379
350

Windows 7 x64 Ultimate

2.0-2 64bit:

Solver timings
1 core(s)
2 core(s)
4 core(s)
8 core(s)

snappyHexMesh write times
13.303 19.435 150
10.764 12.214 92.1
7.629 5.944 61.2
7.753 5.991 50.6

snappyHexMesh total run time
254
160
123
113

simpleFoam total run time
958
553
406
391

2.1-1 64bit:

Solver timings
1 core(s)
2 core(s)
4 core(s)
8 core(s)

snappyHexMesh write times
14.414 19.407 179
11.107 11.794 110
9.126 9.282 84.4
8.704 6.396 47

snappyHexMesh total run time
277
180
161
115

simpleFoam total run time
962
558
413
391

2.0-2 32bit:

Solver timings
1 core(s)
2 core(s)
4 core(s)
8 core(s)

snappyHexMesh write times
14.527 20.883 169
12.371 12.652 105
8.985 8.642 83.1
9.282 7.161 75.8

snappyHexMesh total run time
289
186
155
148

simpleFoam total run time
1065
596
470
406

2.1-1 32bit:

Solver timings
1 core(s)
2 core(s)
4 core(s)
8 core(s)

snappyHexMesh write times
15.959 21.855 184
12.714 13.494 116
9.672 8.892 84.3
9.922 7.223 53.1

snappyHexMesh total run time
296
200
161
129

simpleFoam total run time
1066
588
480
410

Ubuntu 10.04 i686 VM

2.0.x i686:

Solver timings
1 core(s)
2 core(s)
4 core(s)
8 core(s)

snappyHexMesh write times
10.14 15.51 156
8.6 9.45 96.5
5.4 5.56 64.2
3.8 3.18 28.1

snappyHexMesh total run time
247
159
116
67.3

simpleFoam total run time
1170
626
404
478

2.1.x i686:

Solver timings
1 core(s)
2 core(s)
4 core(s)
8 core(s)

snappyHexMesh write times
11.19 17.86 194
8.72 11 116
5.63 6.2 64.4
4.01 3.37 27.1

snappyHexMesh total run time
291
181
120
68.5

simpleFoam total run time
1199
629
405
489


Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.