How can I run two applications in one job request in the Cray environment with one on Haswell compute nodes and the other on KNL nodes?
With the intrduction of NUMA this is made possible. The -L multi-req job creates "chucks" or "instruction sets" that then create an ALPS reservation and are in turn used by aprun as -B. Each -B runs in a reservation chunk or "instruction set".
aprun -B ./MPIcheck >>$outputFile -B /MPIcheck2 >>$outputFile
- For the purpose of scheduling multi-req jobs that request Haswell and KNL nodes, administrators must assign feature names to the Intel Xeon (Haswell) and Intel Xeon Phi (KNL) nodes; e.g., "haswell" for Xeon nodes and "knl" for Xeon Phi nodes. This permits users to identify the type of nodes (Xeon or Xeon Phi) on which they want to run their job.
- For those users running concurrent applications in a single job that require heterogeneous resources (e.g., a Xeon Phi-based simulation application + a Xeon-based in-situ visualization application), users must ask for Xeon Phi nodes first using "
-L tasks=nnn:feature=knl:opsys=<OSname>:..." for the simulation application and for Xeon nodes second using "
-L tasks=nn:feature=haswell:..." for the in-situ visualization application.
- TORQUE creates a single ALPS reservation containing two separate resource allocations; the first for the Xeon Phi nodes and the second for the Xeon nodes.
- Assuming the simulation and visualization applications are separate program files, the job script must execute the applications using the ALPS command
to identify the separate program files, which uses the feature Cray calls MPMD (Multiple Program / Multiple Data).
-Boptions tells the
apruncommand to use the resource allocations defined in the ALPS reservation instead of requiring the user to specify node quantity, tasks per node, etc, on the
apruncommand's command line. For a multi-req job, the
-Bparameter indicate "use a defined set of resources" within the ALPS reservation, which resource "sets" the