b64c3cb324
* Add Infinibnad support with Open MPI * Add mpiBench-Infiniband-OpenMPI recipe * Add setup script for OpenFOAM-Infiniband-OpenMPI recipe * Update setup script for OpenFOAM-Infiniband-OpenMPI recipe * Add OpenFOAM-Infiniband-OpenMPI recipe * Add documentation for recipes * Add Infiniband support with MPICH * Add mpiBench-Infiniband-MPICH recipe |
||
---|---|---|
.. | ||
config | ||
docker | ||
README.md |
README.md
OpenFOAM-TCP-OpenMPI
This recipe shows how to run OpenFOAM on Linux using OpenMPI over TCP in an Azure Batch compute pool. Execution of this distributed workload requires the use of multi-instance tasks.
Configuration
Please see refer to this set of sample configuration files for this recipe.
Pool Configuration
The pool configuration should enable the following properties:
inter_node_communication_enabled
must be set totrue
per_job_auto_scratch
must be set totrue
. A job autoscratch is needed to share a common input data set between the nodes.max_tasks_per_node
must be set to 1 or omitted
Global Configuration
The global configuration should set the following properties:
docker_images
array must have a reference to a valid OpenFOAM image that can be run with MPI in a Docker container context. This can bealfpark/openfoam:4.0-gcc-openmpi
oralfpark/openfoam:v1606plus-gcc-openmpi
which are published on Docker Hub.
Jobs Configuration
The jobs configuration should set the following properties within the tasks
array which should have a task definition containing:
docker_image
should be the name of the Docker image for this container invocation. For this example, this should bealfpark/openfoam:4.0-gcc-openmpi
.resource_files
should contain theset_up_sample.sh
script which set up the sample and export environement variables used bympi
options
.multi_instance
property must be definednum_instances
should be set topool_specification_vm_count_dedicated
,pool_specification_vm_count_low_priority
,pool_current_dedicated
, orpool_current_low_priority
coordination_command
should be unset ornull
. For pools withnative
container support, this command should be supplied if a non-standardsshd
is required.resource_files
array can be emptypre_execution_command
should source theset_up_sample.sh
script.mpi
property must be definedruntime
should be set toopenmpi
options
should contains-np $np
,--hostfile $hostfile
,-x PATH
,-x LD_LIBRARY_PATH
,-x MPI_BUFFER_SIZE
,-x $mpienvopts
, and-x $mpienvopts2
. These options use the environemnt variables set by theset_up_sample.sh
script.
command
should contain the command to pass to thempirun
invocation. For this example, the applicationcommand
to run would be:simpleFoam -parallel
Dockerfile and supplementary files
The Dockerfile
for the Docker image can be found here. Please
note that you must agree with the
OpenFOAM license before using this Docker
image.