Sun Java Solaris Communities My SDN Account Join SDN
 

Sun Studio Topics

Performance Matters
Download record-setting compilers and tools for free.

Two critical forces are shaping the direction of software development. One is the deep adoption of parallel computing. The other is the move toward Service Oriented Architecture. The current technologies of chip multiprocessor (CMP) and chip multithreading (CMT) processor design, horizontal-scaled systems, near zero latency interconnects, and new web service standards all accelerate both forces into reality and adoption everywhere. It is quite easy to predict that most desktop machines or even laptops will be powered by multi-core or CMT processors over next few years. But how prepared are the software developers and tool vendors for the challenge of working in parallel computing environments?

The scientific and engineering communities adopted parallel computing to solve their large scale complex problems a long time ago. But parallel programming development has always been quite challenging, even for advanced black-belt developers. This also raises more difficult issues of productivity, scalability and reliability. The challenges of parallel computing are not new to Sun. With Sun Studio software, the developer has a complete set of tools and an integrated environment for high performance parallel computing.


TUTORIAL: An Introduction to Parallel Computing

Ruud van der Pas Tutorial

Ruud van der Pas discusses tuning for performance and the challenges brought on by today's new chip architectures in this seven-part series.

Click on the image to go to the tutorial pages.

The seven modules cover:
  • Performance Tuning
  • Multicore Processor Architectures
  • Parallel Architectures
  • Parallel Programming Basics
  • Parallel Programming Models: Distrubuted Memory and MPI
  • Parallel Programming Models: Shared Memory, Auto Parallel and OpenMP
  • Hybrid Programming Models, and What's Next.


What About Throughput Computing and Multi-Core Environments?


OpenMP - Shared Memory Programming Model

  • OpenMP.org Website
    The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in C/C++ and Fortran on all architectures, including Unix platforms and Windows NT platforms. Jointly defined by a group of major computer hardware and software vendors, OpenMP is a portable, scalable model that gives shared-memory parallel programmers a simple and flexible interface for developing parallel applications for platforms ranging from the desktop to the supercomputer.
  • OpenMP API Specifications
    The official OpenMP API specifications can be downloaded from this site in PDF or HTML.
  • Article: Sun Studio Support for OpenMP
    This paper presents an overview of the OpenMP model of computation, and describes OpenMP support in the Sun Studio compilers and tools.
  • Article: Detecting and Avoiding OpenMP Race Conditions in C++
    This article discusses some common scenarios that cause data race conditions in C++ and provides easy coding alternatives to avoid them.
  • Sun Studio: OpenMP API User's Guide
    The current Sun Studio compiler documentation for OpenMP.


MPI - Distributed Memory Programming Model

  • The Message Passing Interface (MPI) Standard
    The MPI home pages from Argonne National Labs.
  • MPICH Home Page
    MPICH provides an MPI implementation for important platforms, including clusters, SMPs, and massively parallel processors.
  • LAM/MPI Parallel Computing
    LAM/MPI is a high-quality open-source implementation of the Message Passing Interface specification, including all of MPI-1.2 and much of MPI-2.
  • MPICH Implementation on Solaris 10 by APSTC
  • MVAPICH: MPI Over InfiniBand Project
    This web page focuses on research and development of high performance and scalable designs for MPI-1 and MPI-2 on InfiniBand as well as other RDMA-enabled interconnects.
  • Open Source MPI Project
    Open MPI is a project combining technologies and resources from several other projects (FT-MPI, LA-MPI, LAM/MPI, and PACX-MPI) in order to build the best MPI library available. A completely new MPI-2 compliant implementation, Open MPI offers advantages for system and software vendors, application developers and computer science researchers.


Sun Resources For High Performance Parallel Computing


Important Software Development Issues


Community, Education and Support

  • Sun HPC Community Wiki
    A community wiki designed for information sharing and collaboration on High Performance Computing topics.
  • The OpenMP Community
    cOMPunity is the community of OpenMP researchers and developers in academia and industry. It is a forum for the dissemination and exchange of information about OpenMP. cOMPunity is also a forum for discussing our experiences with this programming API and for debating ideas that might improve it.
  • OpenSolaris
 
Sun Studio
Sun Studio Resources
 
 
 
»  Send Comments

Let us know what you like and don't like about the Compilers and Tools hub. Send us feedback. But for support questions, see the support page.