IBM Books

Hitchhiker's Guide


Table of Contents

Notices

Trademarks

About This Book

The Place for This Book in the Grand Scheme of Life, the Universe, and Everything...

  • What's All This?
  • What You Should Have While You Read this Book
  • Typographic Conventions
  • Encyclopedia Galactica
  • IBM Parallel Environment for AIX Publications
  • Related IBM Publications
  • Related Non-IBM Publications
  • National Language Support
  • Accessing Online Information
  • Online Information Resources
  • Getting the Books and the Examples Online
  • Hitching a Lift on the Vogon Constructor Ship

  • What's the IBM Parallel Environment for AIX?
  • What's the Parallel Operating Environment?
  • What's New in PE 2.4?
  • Before You Start
  • Running POE
  • Who's In Control (SP Users Only)?
  • The Answer is 42

  • Message Passing
  • Data Decomposition
  • Functional Decomposition
  • Duplication Versus Redundancy
  • Protocols Supported
  • Checkpointing and Restarting a Parallel Program
  • Limitations
  • How Checkpointing Works
  • Don't Panic

  • Messages
  • Message Catalog Errors
  • Finding PE Messages
  • Logging POE Errors to a File
  • Message Format
  • Diagnosing Problems Using the Install Verification Program
  • Can't Compile a Parallel Program
  • Can't Start a Parallel Job
  • Can't Execute a Parallel Program
  • The Program Runs But...
  • The Parallel Debugger is Your Friend
  • It Core Dumps
  • No Output at All
  • It Hangs
  • Using the VT Displays
  • Let's Attach the Debugger
  • Other Hangups
  • Bad Output
  • Debugging and Threads
  • Keeping an Eye on Progress
  • So Long And Thanks For All The Fish

  • Tuning the Performance of a Parallel Application
  • How Much Communication is Enough?
  • Tuning the Performance of Threaded Programs
  • Why is this so slow?
  • Profile it
  • Parallelize it
  • Wrong answer!
  • Here's the Fix!
  • It's Still Not Fast Enough!
  • Tuning Summary
  • Babel fish

  • Point-to-Point Communication
  • SEND (Non-Blocking)
  • RECEIVE (Non-Blocking)
  • SEND (Blocking)
  • RECEIVE (Blocking)
  • SEND/RECEIVE (Blocking)
  • STATUS
  • WAIT
  • TASK_SET
  • TASK_QUERY
  • ENVIRON
  • STOPALL
  • PACK
  • UNPACK
  • VSEND (Blocking)
  • VRECV (Blocking)
  • PROBE
  • Collective Communications
  • BROADCAST
  • COMBINE
  • CONCAT
  • GATHER
  • INDEX
  • PREFIX
  • REDUCE
  • SCATTER
  • SHIFT
  • SYNC
  • GETLABEL
  • GETMEMBERS
  • GETRANK
  • GETSIZE
  • GETTASKID
  • GROUP
  • PARTITION
  • Reduction Functions
  • User-Defined Reduction Functions
  • Global Variables and Constants
  • Last Error Code
  • Wildcards
  • General Notes
  • Task Indentifiers
  • Message Length
  • Creating MPI Objects
  • Using Wildcard Receives
  • Reduction Functions
  • Error Handling
  • Mixing MPL and MPI Functions in the Same Application
  • Before and After Using MPI Functions
  • Using Message Passing Handlers
  • Appendix A. A Sample Program to Illustrate Messages

  • Figuring Out What All of This Means
  • Appendix B. MPI Safety

  • Safe MPI Coding Practices
  • What's a Safe Program?
  • Safety and Threaded Programs
  • Some General Hints and Tips
  • Order
  • Progress
  • Fairness
  • Resource Limitations
  • Appendix C. Installation Verification Program Summary

  • Steps Performed by the POE Installation Verification Program
  • Appendix D. Parallel Environment Internals

  • What Happens When I Compile My Applications?
  • How Do My Applications Start?
  • How Does POE Talk to the Nodes?
  • How are Signals Handled?
  • What Happens When My Application Ends?
  • Appendix E. Glossary of Terms and Abbreviations

    Index



    [ Top of Page | Previous Page | Next Page | Table of Contents | Index ]