page_title: Supercomputer
section_title: Software tools and message passing
hierarchical_section_title: Supercomputer / Software and system management / Software tools and message passing
caption_attribution_description: English: The ALMA correlator, one of the most powerful supercomputers in the world, has now been fully installed and tested at its remote, high altitude site in the Andes of northern Chile. This wide-angle view shows some of the racks of the correlator in the ALMA Array Operations Site Technical Building. This photograph shows one of four quadrants of the correlator. The full system has four identical quadrants, with over 134 million processors, performing up to 17 quadrillion operations per second.
context_page_description: A supercomputer is a computer with a high level of performance as compared to a general-purpose computer. The performance of a supercomputer is commonly measured in floating-point operations per second instead of million instructions per second. Since 2017, there are supercomputers which can perform over 10¹⁷ FLOPS. Since November 2017, all of the world's fastest 500 supercomputers run Linux-based operating systems. Additional research is being conducted in China, the United States, the European Union, Taiwan and Japan to build faster, more powerful and technologically superior exascale supercomputers.
  Supercomputers play an important role in the field of computational science, and are used for a wide range of computationally intensive tasks in various fields, including quantum mechanics, weather forecasting, climate research, oil and gas exploration, molecular modeling, and physical simulations. They have been essential in the field of cryptanalysis.
  Supercomputers were introduced in the 1960s, and for several decades the fastest were made by Seymour Cray at Control Data Corporation, Cray Research and subsequent companies bearing his name or monogram.
context_section_description: The parallel architectures of supercomputers often dictate the use of special programming techniques to exploit their speed. Software tools for distributed processing include standard APIs such as MPI and PVM, VTL, and open source-based software solutions such as Beowulf.
  In the most common scenario, environments such as PVM and MPI for loosely connected clusters and OpenMP for tightly coordinated shared memory machines are used. Significant effort is required to optimize an algorithm for the interconnect characteristics of the machine it will be run on; the aim is to prevent any of the CPUs from wasting time waiting on data from other nodes. GPGPUs have hundreds of processor cores and are programmed using programming models such as CUDA or OpenCL.
  Moreover, it is quite difficult to debug and test parallel programs. Special techniques need to be used for testing and debugging such applications.
caption: Wide-angle view of the ALMA correlator[85]
exif: {"Image ImageDescription": "The ALMA correlator, one of the most powerful supercomputers in the world, has now been fully installed and tested at its remote, high altitude site in the Andes of northern Chile. This wide-angle view shows some of the racks of the correlator in the ALMA Array Operations Site Technical Building. This photograph shows one of four quadrants of the correlator. The full system has four identical quadrants, with over 134 million processors, performing up to 17 quadrillion operations per second."}