This IBM® Redbooks® publication is one in a series of IBM books written specifically for the IBM System Blue Gene® supercomputer, Blue Gene/Q®, which is the third generation of massively parallel supercomputers from IBM in the Blue Gene series. This document provides an overview of the application development environment for the Blue Gene/Q system. It describes the requirements to develop applications on this high-performance supercomputer.
This book explains the unique Blue Gene/Q programming environment. This book does not provide detailed descriptions of the technologies that are commonly used in the supercomputing industry, such as Message Passing Interface (MPI) and Open Multi-Processing (OpenMP). References to more detailed information about programming and technology are provided.
This document assumes that readers have a strong background in high-performance computing (HPC) programming. The high-level programming languages that are used throughout this book are C/C++ and Fortran95. For more information about the Blue Gene/Q system, see "IBM Redbooks" on page 161.
Table of contents
Chapter 1. System overview
Chapter 2 Kernel functionality
Chapter 3. Processes
Chapter 4. Memory
Chapter 5. Compute Node Kernel interfaces
Chapter 6. Parallel paradigms
Chapter 7. Developing applications with Blue Gene/Q compilers
Chapter 8. Running and debugging applications
Appendix A. Mapping
Appendix B. Blue Gene/Q personality
Appendix C. PAMI and MPI header files and libraries
Appendix D. MPI and CNK environment variables
Appendix E. Using GNU profiling
Appendix F. Hardware performance counters
Appendix G. Requirements for C++ programming in a failover environment
These pages are Web versions of IBM Redbooks- and Redpapers-in-progress. They are published here for those who need the information now and may contain spelling, layout and grammatical errors.
This material has not been submitted to any formal IBM test and is published AS IS. It has not been the subject of rigorous review. Your feedback is welcomed to improve the usefulness of the material to others.
IBM assumes no responsibility for its accuracy or completeness. The use of this information or the implementation of any of these techniques is a customer responsibility and depends upon the customer's ability to evaluate and integrate them into the customer's operational environment.