Skip to content

Commit 8f18129

Browse files
committed
Learn Editor: Update compiling-scaling-applications.md
1 parent 20f8281 commit 8f18129

File tree

1 file changed

+9
-10
lines changed

1 file changed

+9
-10
lines changed

articles/virtual-machines/compiling-scaling-applications.md

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,13 @@ The [azurehpc repo](https://github.com/Azure/azurehpc) contains many examples of
2626

2727
The following suggestions apply for optimal application scaling efficiency, performance, and consistency:
2828

29-
- For smaller scale jobs (< 256 K connections) use the option:
29+
- For smaller scale jobs (< 256 K connections) use:
3030
```bash UCX_TLS=rc,sm ```
31-
- For larger scale jobs (> 256 K connections) use the option:
31+
- For larger scale jobs (> 256 K connections) use:
3232
```bash UCX_TLS=dc,sm ```
33-
- In the above, to calculate the number of connections for your MPI job, use:
34-
```bash
35-
Max Connections = (processes per node) x (number of nodes per job) x (number of nodes per job)
36-
```
37-
33+
- To calculate the number of connections for your MPI job, use:
34+
```bash Max Connections = (processes per node) x (number of nodes per job) x (number of nodes per job) ```
35+
3836
## Adaptive Routing
3937
Adaptive Routing (AR) allows Azure Virtual Machines (VMs) running EDR and HDR InfiniBand to automatically detect and avoid network congestion by dynamically selecting optimal network paths. As a result, AR offers improved latency and bandwidth on the InfiniBand network, which in turn drives higher performance and scaling efficiency. For more information, see [TechCommunity article](https://techcommunity.microsoft.com/t5/azure-compute/adaptive-routing-on-azure-hpc/ba-p/1205217).
4038

@@ -45,7 +43,7 @@ Adaptive Routing (AR) allows Azure Virtual Machines (VMs) running EDR and HDR In
4543
- For hybrid parallel applications (OpenMP+MPI), use 4 threads and 1 MPI rank per [CCX]([HB-series virtual machines overview including info on CCXs](/azure/virtual-machines/hb-series-overview)) on HB and HBv2 VM sizes.
4644
- For pure MPI applications, experiment with 1-4 MPI ranks per CCX for optimal performance on HB and HBv2 VM sizes.
4745
- Some applications with extreme sensitivity to memory bandwidth may benefit from using a reduced number of cores per CCX. For these applications, using three or two cores per CCX may reduce memory bandwidth contention and yield higher real-world performance or more consistent scalability. In particular, MPI 'Allreduce' may benefit from this approach.
48-
- For larger scale runs, it's recommended to use UD or hybrid RC+UD transports. Many MPI libraries/runtime libraries do this internally (such as UCX or MVAPICH2). Check your transport configurations for large-scale runs.
46+
- For larger scale runs, it's recommended to use UD or hybrid RC+UD transports. Many MPI libraries/runtime libraries use these transports internally (such as UCX or MVAPICH2). Check your transport configurations for large-scale runs.
4947

5048
## Compiling applications
5149
<br>
@@ -80,14 +78,15 @@ $ gfortran [gFortran flags]
8078
-c xyz.f90 $ clang -O3 -lgfortran -o xyz xyz.o $./xyz
8179
```
8280
### PGI Compiler
83-
PGI Community Edition 17 is confirmed to work with AMD EPYC. A PGI-compiled version of STREAM does deliver full memory bandwidth of the platform. The newer Community Edition 18.10 (Nov 2018) should likewise work well. A sample CLI to compiler optimally with the Intel Compiler:
81+
PGI Community Edition 17 is confirmed to work with AMD EPYC. A PGI-compiled version of STREAM does deliver full memory bandwidth of the platform. The newer Community Edition 18.10 (Nov 2018) should likewise work well. Use this CLI command to compile with the Intel Compiler:
82+
8483

8584
```bash
8685
pgcc $(OPTIMIZATIONS_PGI) $(STACK) -DSTREAM_ARRAY_SIZE=800000000 stream.c -o stream.pgi
8786
```
8887

8988
### Intel Compiler
90-
Intel Compiler 18 is confirmed to work with AMD EPYC. Below is sample CLI to compiler optimally with the Intel Compiler.
89+
Intel Compiler 18 is confirmed to work with AMD EPYC. Use this CLI command to compile with the Intel Compiler.
9190

9291
```bash
9392
icc -o stream.intel stream.c -DSTATIC -DSTREAM_ARRAY_SIZE=800000000 -mcmodel=large -shared-intel -Ofast –qopenmp

0 commit comments

Comments
 (0)