cc42916cba
* Fix multi-instance tasks that are not a MPI task * Add setup task script for CNTK-CPU-Infiniband-IntelMPI * Update CNTK-CPU-Infiniband-IntelMPI recipe * Add MPI executable path option * Update CNTK-CPU-OpenMPI recipe * Change the default MPI executable_path to mpirun * Modify CNTK-CPU-Infiniband-IntelMPI recipe * Add setup task script for CNTK-GPU-Infiniband-IntelMPI * Update CNTK-GPU-Infiniband-IntelMPI recipe * Add setup task script for CNTK-GPU-OpenMPI * Add setup task script for NAMD-Infiniband-IntelMPI * Update NAMD-Infiniband-IntelMPI recipe * Add setup task script for OpenFOAM-Infiniband-IntelMPI * Update OpenFOAM-Infiniband-IntelMPI recipe * Update TensorFlow-GPU Singularity recipe * Add setup task script for OpenFOAM-TCP-OpenMPI * Update OpenFOAM-TCP-OpenMPI recipe * Add support for arbitrary commands with the MPI processes_per_node option * Fix MPI with native images * Modify CNTK-CPU-Infiniband-IntelMPI recipe * Modify CNTK-GPU-Infiniband-IntelMPI recipe * Modify NAMD-Infiniband-IntelMPI recipe * Update processes_per_node documentation * Fix `pool images list` with Singularity images * Modify OpenFOAM-Infiniband-IntelMPI set up script * Add check for mpi setting with Windows * Add auto scratch support with OpenFOAM-Infiniband-IntelMPI recipe * Modify OpenFOAM-TCP-OpenMPI set up script * Add auto scratch support with OpenFOAM-TCP-OpenMPI recipe * Add mpiBench-IntelMPI recipe * Add mpiBench-MPICH recipe * Add mpiBench-OpenMPI recipe * Resolve PR comments * Resolve PR comments |
||
---|---|---|
.. | ||
config | ||
docker | ||
README.md |
README.md
OpenFOAM-Infiniband-IntelMPI
This recipe shows how to run OpenFOAM on Linux using Intel MPI over Infiniband/RDMA Azure VM instances 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:
vm_size
should be a CPU-only RDMA-enabled instance.vm_configuration
is the VM configuration. Please select an appropriateplatform_image
with IB/RDMA as supported by Batch Shipyard.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 Intel MPI and Infiniband in a Docker container context on Azure VM instances. This can bealfpark/openfoam:4.0-icc-intelmpi
oralfpark/openfoam:v1606plus-icc-intelmpi
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 can bealfpark/openfoam:4.0-icc-intelmpi
.resource_files
should contain theset_up_sample.sh
script which configure Intel MPI and set up the sample.multi_instance
property must be definednum_instances
should be set topool_specification_vm_count_dedicated
,pool_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 tointelmpi
options
should contains-np $np
,-ppn $ppn
, and-hosts $AZ_BATCH_HOST_LIST
. These options use the environemnt variables set byset_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
infiniband
can be set totrue
, however, it is implicitly enabled by Batch Shipyard when executing on a RDMA-enabled compute pool.
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.