Scali MPI Connect Release 4.4 Users Guide 2
3.2.6 Notes on compiling with MPI-2 features...................................................... 23
3.3 Running Scali MPI Connect programs.................................................................23
3.3.1 Naming conventions.................................................................................23
3.3.2 mpimon - monitor program.......................................................................24
3.3.3 mpirun - wrapper script............................................................................27
3.4 Suspending and resuming jobs.........................................................................28
3.5 Running with dynamic interconnect failover capabilities .......................................28
3.6 Running with tcp error detection - TFDR ............................................................28
3.7 Debugging and profiling...................................................................................29
3.7.1 Debugging with a sequential debugger.......................................................29
3.7.2 Built-in-tools for debugging.......................................................................30
3.7.3 Assistance for external profiling.................................................................30
3.7.4 Debugging with Etnus Totalview................................................................30
3.8 Controlling communication resources ................................................................31
3.8.1 Communication resources on DAT-devices..................................................31
3.9 Good programming practice with SMC...............................................................32
3.9.1 Matching MPI_Recv() with MPI_Probe()......................................................32
3.9.2 Using MPI_Isend(), MPI_Irecv().................................................................32
3.9.3 Using MPI_Bsend()..................................................................................32
3.9.4 Avoid starving MPI-processes - fairness......................................................32
3.9.5 Unsafe MPI programs...............................................................................33
3.9.6 Name space pollution...............................................................................33
3.10 Error and warning messages ..........................................................................33
3.10.1 User interface errors and warnings...........................................................33
3.10.2 Fatal errors...........................................................................................33
3.11 Mpimon options............................................................................................34
3.11.1 Giving numeric values to mpimon............................................................35
Chapter 4 Profiling with Scali MPI Connect.................................... 37
4.1 Example........................................................................................................37
4.2 Tracing..........................................................................................................38
4.2.1 Using Scali MPI Connect built-in trace.........................................................38
4.2.2 Features.................................................................................................40
4.3 Timing ..........................................................................................................41
4.3.1 Using Scali MPI Connect built-in timing.......................................................41
4.4 Using the scanalyze........................................................................................43
4.4.1 Analysing all2all......................................................................................43
4.5 Using SMC's built-in CPU-usage functionality......................................................45
Chapter 5 Tuning SMC to your application ..................................... 47
5.1 Tuning communication resources......................................................................47
5.1.1 Automatic buffer management..................................................................47
5.2 How to optimize MPI performance.....................................................................48
5.2.1 Performance analysis...............................................................................48
5.2.2 Using processor-power to poll ...................................................................48
5.2.3 Reorder network traffic to avoid conflicts....................................................48
5.3 Benchmarking................................................................................................48