Please enable JavaScript to view this site.

GeoDict User Guide 2025

Parallelization

Calculations can be parallelized if the user’s license and hardware allow it. The Parallelization Options dialog opens when clicking the Edit button, to choose between Sequential, Parallel (Shared Memory), Automatic Number of Threads, and Cluster.

When Sequential is selected only one thread is used for the computation.

Selecting Parallel (Shared Memory) runs the parallel computation with the specified Number of Processes on a shared-memory hardware. Then the maximum number of available processors and the maximum number of licensed parallel processes is shown in the dialog.

If Automatic Number of Threads is selected, the number of parallel processes is automatically selected for optimal speed, based on the CPU cores and licensed parallel processes. For up to eight Available Threads, all of them will be used. If more than eight threads are available, two cases might occur:

  • The number of Available Threads is larger (or equal) than the Number of CPU Cores:
    • Then the maximum of eight and Number of CPU Cores divided by 2 is used.
  • The number of Available Threads is smaller than the Number of CPU Cores:
    • Then the maximum of eight and number of Available Threads divided by 2 is used.

The parallelization of the solvers is done with two technical methods: MPI parallel or thread parallel. The following table shows the support of both parallelization methods:


Parallelization method

Solver

MPI Parallel

Thread Parallel

EJ

SimpleFFT

LIR

The Cluster parallelization requires that the solver supports the MPI parallelization method. The Parallel (Shared Memory) parallelization can be done with MPI parallelization or Thread parallelization. Thus, the LIR solver does not support Cluster parallelization.

The choice of Cluster is for users of Linux systems only. For details on how to set up and run parallel computations, consult the High Performance Computations User Guide.

Three examples of parallelization benchmark results for FlowDict are shown here. Both benchmark computations were run on our server, with 2 x Intel E5-2697A v4 processors with 16 cores each, running with a maximum of 3.60 GHz, and 1,024 GB RAM.

OpenSandstone Benchmark

OpenFilter Benchmark

OpenMultilayer Weave Benchmark

Memory requirements for the examples and both solvers are listed in the following table:

Micro-structure

Memory for computation with LIR

Memory for computation with SimpleFFT for 32 Processes

Sandstone

149 GB (Speed Optimization)

103 GB (Memory Optimization)

655 GB

Filter

184 GB

654 GB

Multilayer Weave

6.5 GB

35.2 GB (not using Tdma)

35.0 GB (using Tdma)

©2025 created by Math2Market GmbH / Imprint / Privacy Policy