Page Title

Der Wiki wird derzeit überarbeitet: neue URL, neues Design, neue Inhalte!

Benutzer-Werkzeuge

Webseiten-Werkzeuge


mikeplus:dialog:menue_simulation_konfiguration-der-parallelisierung

Konfiguration der Parallelisierung

⯇ Zurück zu Menüs und Werkzeuge Siedlungsentwässerung

Menüpunkt: Simulation > Konfiguration der Parallelisierung
Handbuch: MIKE+ Model Manager User Guide (page 74) • section 2.9.6 Simulation Menu

Einleitung

In der Konfiguration der Parallelisierung legen Sie fest, wie mehrere Rechenkerne (CPUs) verwendet werden sollen, und insbesondere, wie Grafikkarten (GPUs) handzuhaben sind.

Beachten Sie in dem Zusammenhang:

Nachdem Nvidia die Unterstützung älterer Grafikkarten einschränkt, empfiehlt DHI die Verwendung von Grafikkarten mit einer Compute Capability von 5.2 oder höher. Die Compute Capability aller Nvidia-Grafikkarten finden Sie auf der Wikipedia-Seite CUDA

Dialogfeld

Technische Details

Are the right GPU drivers available?

If the GPU is visible in the ‘Parallelisation configuration’ window in MIKE+, then it means that it’s recognized by MIKE, so there is no driver problem.

Has the GPU been used at all?

This can be verified in the log file from the 2D simulation (in MIKE+, it usually ends with _m21fm.log) after the simulation was completed. The end of the file shows what has actually been used by the engine:

If GPU is mentioned, it has been used. If it’s not used, there won’t be “GPU” mentioned.

What can I learn from the Task Manager?

One can follow the GPU usage via the Task Manager. The GPU usage depends on the model size and how many times data is exchanged. If the model is small then the whole memory in the GPU don't come into play, and the model will need time to transfer the data forth and back to the CPU anyway. So actually often use of GPU requires a larger size model before it is feasible to use this over CPU with OpenMP or MPI.

(In the figure below I run an example MIKE 21 FM model with one GPU).

You can compare this with having a big bus: you can transport 100 people, but even if there are only 4 passengers, the bus doesn't drive faster. In that case it might be better to use a car.

One could of course have two simulations running simultaneously as there will be tool on the GPU, however this will stress the connections between the GPU and CPU, so the simulation will often be slower.

What is the number of threads and number of subdomains I should choose?

You can look at threads as a kind of 'power' packages. There is no license limitation as to the number of threads, however in general for MIKE 21 we recommend that the product of the 'Number of sub-domains' x 'Number of threads' should not exceed the actual number of physical CPU cores as this utilizes the CPUs in the optimal way.

Hence, you can divide your domain into e.g. 16 subdomains and use 1 thread for each subdomain, or you can define 1 subdomain and use 16 threads in one domain, or you can do a combination with e.g. 8 subdomains, each with 2 threads. Which solution to use depend on the size of the domain (as it takes time to 'glue' the subdomain together again), but for inland flooding with many elements it is almost always a good idea to divide the domain up into many subdomains.1)

1)
DHI-intern: Fall 8909
mikeplus/dialog/menue_simulation_konfiguration-der-parallelisierung.txt · Zuletzt geändert: 2022/11/14 13:03 von thomas