Manuale UtenteSommarioChapter 1 Introduction171.1 Scali MPI Connect product context171.2 Support181.2.1 Scali mailing lists181.2.2 SMC FAQ181.2.3 SMC release documents181.2.4 Problem reports181.2.5 Platforms supported181.2.6 Licensing191.2.7 Feedback191.3 How to read this guide191.4 Acronyms and abbreviations191.5 Terms and conventions211.6 Typographic conventions21Chapter 2 Description of Scali MPI Connect232.1 Scali MPI Connect components232.2 SMC network devices242.2.1 Network devices252.2.2 Shared Memory Device252.2.3 Ethernet Devices252.2.4 Myrinet272.2.5 Infiniband272.2.6 SCI282.3 Communication protocols on DAT-devices282.3.1 Channel buffer282.3.2 Inlining protocol292.3.3 Eagerbuffering protocol292.3.4 Transporter protocol292.3.5 Zerocopy protocol302.4 Support for other interconnects302.5 MPI-2 Features30Chapter 3 Using Scali MPI Connect333.1 Setting up a Scali MPI Connect environment333.1.1 Scali MPI Connect environment variables333.2 Compiling and linking333.2.1 Running333.2.2 Compiler support343.2.3 Linker flags343.2.4 Notes on Compiling and linking on AMD64 and EM64T343.2.5 Notes on Compiling and linking on Power series353.2.6 Notes on compiling with MPI-2 features353.3 Running Scali MPI Connect programs353.3.1 Naming conventions353.3.2 mpimon - monitor program363.3.3 mpirun - wrapper script393.4 Suspending and resuming jobs403.5 Running with dynamic interconnect failover capabilities403.6 Running with tcp error detection - TFDR403.7 Debugging and profiling413.7.1 Debugging with a sequential debugger413.7.2 Built-in-tools for debugging423.7.3 Assistance for external profiling423.7.4 Debugging with Etnus Totalview423.8 Controlling communication resources433.8.1 Communication resources on DAT-devices433.9 Good programming practice with SMC443.9.1 Matching MPI_Recv() with MPI_Probe()443.9.2 Using MPI_Isend(), MPI_Irecv()443.9.3 Using MPI_Bsend()443.9.4 Avoid starving MPI-processes - fairness443.9.5 Unsafe MPI programs453.9.6 Name space pollution453.10 Error and warning messages453.10.1 User interface errors and warnings453.10.2 Fatal errors453.11 Mpimon options463.11.1 Giving numeric values to mpimon47Chapter 4 Profiling with Scali MPI Connect494.1 Example494.2 Tracing504.2.1 Using Scali MPI Connect built-in trace504.2.2 Features524.3 Timing534.3.1 Using Scali MPI Connect built-in timing534.4 Using the scanalyze554.4.1 Analysing all2all554.5 Using SMC's built-in CPU-usage functionality57Chapter 5 Tuning SMC to your application595.1 Tuning communication resources595.1.1 Automatic buffer management595.2 How to optimize MPI performance605.2.1 Performance analysis605.2.2 Using processor-power to poll605.2.3 Reorder network traffic to avoid conflicts605.3 Benchmarking605.3.1 How to get expected performance605.3.2 Memory consumption increase after warm-up615.4 Collective operations615.4.1 Finding the best algorithm62Appendix A Example MPI code63A-1 Programs in the ScaMPItst package63A-2 Image contrast enhancement63Appendix B Troubleshooting66B-1 When things do not work - troubleshooting66Appendix C Install Scali MPI Connect68C-1 Per node installation of Scali MPI Connect68C-2 Install Scali MPI Connect for TCP/IP69C-3 Install Scali MPI Connect for Direct Ethernet69C-4 Install Scali MPI Connect for Myrinet69C-5 Install Scali MPI Connect for Infiniband70C-6 Install Scali MPI Connect for SCI70C-7 Install and configure SCI management software70C-8 License options70C-9 Scali kernel drivers71C-10 Uninstalling SMC71C-11 Troubleshooting Network providers71Appendix D Bracket expansion and grouping74D-1 Bracket expansion74D-2 Grouping74Appendix E Related documentation76Dimensioni: 1,02 MBPagine: 81Language: EnglishApri il manuale