Bluegene/Q Workshop: Getting Started & Initial Optimizing, Tuning, Scaling
03 Jun 2013 - 05 Jun 2013

Purpose: The purpose of this workshop is to provide an opportunity for users (application developers) to learn how to get started and to take advantage of the BG/Q for their codes. This will be accomplished through some brief lectures to introduce different topics and as much hands-on effort with IBM consultants guiding the participants on their codes. This allows participants to obtain as much experience using the compilers, tools and techniques on their own codes as much as possible.

The focus will be on the getting started on the system, profiling, tracing communications and debugging, on-node computer performance scaling, tuning and libraries to improve performance. There will be an overview of compilers and the opportunity to experiment with compiler options. Some discussion on the overall hardware and software design philosophy that is needed to understand performance issues will be given. If time permits, we will discuss the performance counters. The tools will help to understand performance modifications to improve overall performance and scalability.
  • Introduction on how to use the local systems (Presented by A*Star System Admin staff)
    • Login and local file systems
    • Scheduling and submitting jobs
    • Policies for allocation of partitions, timing runs and scaling runs
    • I/O and file access
  • Blue Gene/Q: Brief system and environment overview needed to understand optimization, tuning and scaling.
    • Hardware overview
      • Systems architecture
      • Host systems
    • Software overview
      • Compute Node Kernel
      • Execution process modes
      • Message Passing Interface on Blue Gene/Q
      • Memory considerations
      • Other considerations
        • Input/output
        • Miscellaneous
    • I/O Node Software
  • Blue Gene/Q Compiler consideration
    • Overview of the IBM compilers and linker
      • Consideration on various compiler flags
      • Where to start for optimization
    • What options for what impact
  • HPCTool Kit or other Performance Tools
    • Over all discussion of the HPCToolkit if available
    • MPI performance: MPI Profiler/Tracer
    • CPU performance: Xprofiler, HPM
    • Threading performance: OpenMP profiling 
    • I/O performance: I/O profiling
    • Visualization and analysis: PeekPerf
  • IBM MPITrace/MPIHPM libraries 
    • MPI profiling
    • Performance counter profiling of whole code and code sections
    • MPI tracing (Selective)
    • vprof/cprof statistical profiling
  • Universal Performance Counters overview (Optional – for the hardcore if time permits) 
    • Hardware Description
    • Low Level Software API
    • Example Library and Program
    • Documentation & Discussion
  • Debuggers overview 
    • Compiler and linker flags required for debugging
    • GNU GDB – how to use it on Blue Gene/P
    • Other debuggers at A*STAR (DDT)
  • On-Compute Node optimization 
    • Information from the compiler 
    • Issues related to SIMD on BG/Q
    • Performance Discussion – On-Core, On-Node 
      • Profiling to identify performance issues
      • Remarks on performance inhibitors
      • Importance of Mapping for Torus
  • Discussion of performance and performance gains through the use of library routines 
    • Overview of MASS and MASSV libraries for intrinsic and math functions
    • Performance improvements using ESSL routines including BLAS 
  • Discussion of Scaling Inhibitors 
    • Understanding performance and improvement through the use of good I/O techniques including MPI I/O and GPFS Considerations
    • Trade offs between OpenMP and MPI on BG/Q
    • Other depending on the needs and interest of audience

     

    No of Participants: 11

<Back