…
|
||
---|---|---|
.. | ||
config | ||
docker | ||
README.md |
README.md
NAMD-TCP
This recipe shows how to run NAMD on Linux using the Charm++ runtime (as opposed to pure MPI) over TCP/IP-connected machines in an Azure Batch compute pool. Regardless of the underlying parallel/distributed programming paradigm, execution of this distributed workload requires the use of multi-instance tasks when run across multiple nodes.
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
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 the NAMD-TCP image. This can bealfpark/namd:2.11-tcp
which is 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, e.g.,alfpark/namd:2.11-tcp
additional_docker_run_options
should have a sequence item of--net=host
to specify host networking. This is needed to open ports for communication via TCP between containers.command
should contain thempirun
command. If using the sample NAMD-TCP image provided,"/sw/run_namd.sh <benchmark> <steps> <ppn>"
can be used to run the included benchmarks:<benchmark>
is the benchmark to run:apoa1
orstmv
<steps>
is the number of steps to execute<ppn>
is the number of cores on each compute node. This is optional and, if omitted, will be determined dynamically.
multi_instance
property must be defined for NAMD tasks spanning multiple nodes.num_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 unset or empty
To run this example on just one node, you can omit the multi_instance
property altogether.
Dockerfile and supplementary files
The Dockerfile
for the Docker image can be found here. Please
note that you must agree with the
NAMD license before
using this Docker image.