Cluster OpenMP* for Intel® Compilers

What If Home | Product Overview | Intel® TM ABI specification | Technical RequirementsFAQ

Primary Technology Contacts | Discussion Forum | Blog

Overview

Intel has discontinued availability of Cluster OpenMP. Thank you for your interest in this product.

OpenMP* is a high level, pragma-based approach to parallel application programming. Cluster OpenMP is a simple means of extending OpenMP parallelism to 64-bit Intel® architecture-based clusters.  It allows OpenMP code to run on clusters of Intel® Itanium® or Intel® 64 processors, with only slight modifications.

Prerequisite

Cluster OpenMP use requires that you already have the latest version of the Intel® C++ Compiler for Linux* and/or the Intel® Fortran Compiler for Linux*.

 


Benefits of Cluster OpenMP


Portability and flexibility makes development for cluster computing easier and less expensive

  • Simplifies porting of serial or OpenMP code to clusters.
  • Requires few source code modifications, which eases debugging.
  • Allows slightly modified OpenMP code to run on more processors without requiring investment in expensive Symmetric Multiprocessing (SMP) hardware.
  • Offers an alternative to MPI.  Is easier to learn and faster to implement.

 

Allows the use of a single source code version that can run serially, on parallel shared memory machines, or on clusters of commodity processors.

Cluster Computing Cost Comparison

Cluster Option

Hardware Expense

Software Expense§

Large SMP (shared memory) machine using OpenMP

Arrow Up
Arrow Down

Cluster (distributed memory) machine using MPI

Arrow Down
Arrow Up

Cluster (distributed memory) machine using OpenMP

Arrow Down
Arrow Down

§Software expense consists of expenses associated with programming and maintenance of requisite application.

 


When to use Cluster OpenMP

Applications that pore through large amounts of data to extract information are especially well-suited for Cluster OpenMP. This includes programs that scale successfully with OpenMP on SMP, have good data locality, and that use few locks or other synchronization.

Examples of applications that are ideal for Cluster OpenMP:

  • Data-mining
  • Graphical rendering
  • Search
  • Pattern recognition
  • Genetic sequencing applications



Getting Help with Cluster OpenMP

Support

Training

Other Resources

Product tips and FAQs

White Papers

Technologies

Intel® Cluster OpenMP* for Intel® Compilers Forum

Intel® Academic Community

Intel® Clusters and HPC Technology Forum

Intel® Compiler Support

Intel Press Books

Code Central

Manuals


White Papers

 


System Requirements


Cluster OpenMP* for Intel® C++ Compiler for Linux*

Important: Cluster OpenMP requires that you have version 9.1 or higher of Intel® C++ Compiler for Linux* installed.

Application development using processors supporting Intel® 64 architecture

Component

Minimum

Recommended

Processor

Intel® processor with Intel® 64 architecture

Intel® processor with Intel® 64 architecture

RAM

256 MB

512 MB

Disk Space

300 MB free hard disk space, plus an additional 300 MB during installation for download and temporary files.

100 MB of hard disk space for virtual memory paging file.
(Be sure to use at least the minimum amount of virtual memory recommended for the installed distribution of Linux.)

 

Operating System

Linux* system with glibc 2.2.93, 2.3.2, 2.3.3, 2.3.4 or 2.3.5 and the 2.4.x or 2.6.x Linux kernel as represented by the following Linux distributions, running in 64-bit mode.

Note: Not all distributions listed are validated and not all distributions are listed.

  • Red Hat Enterprise Linux 3, 4
  • SUSE LINUX Enterprise Server* 9

 

Other Software

Linux Developer Tools component installed, including gcc 3.3.3, g++ and related tools.

 

64-bit C and C++ runtime libraries:

  • libm.so.6
  • libpthread.so.0
  • libc.so.6
  • libstdc++.so.5
  • libgcc_s.so.1

 

Note: The requirement for the 64-bit libraries is due to the compiler and other tools being 64-bit applications that dynamically link to these libraries.

 


Application development using Itanium®-based processors

Component

Minimum

Recommended

Processor

Itanium® 2 Processor

Itanium® 2 Processor

RAM

512 MB

1 GB

Disk Space

150 MB of disk space, plus an additional 200 MB during installation for the download and temporary files.

 

Operating System

Linux* system with glibc 2.2.4, 2.2.93, 2.3.2, 2.3.3 or 2.3.4 and the 2.4.X or 2.6.X Linux kernel as represented by the following distributions.

Note: Not all distributions listed are validated and not all distributions are listed.

  • Red Hat Enterprise Linux 3, 4
  • SUSE LINUX Enterprise Server* 9

 

 

Other Software

Linux Developer Too ls component installed, including gcc, g++ and related tools.

We recommend using binutils 2.14 or later, especially if using shared libraries as there are known issues with binutils 2.11


Cluster OpenMP* for Intel® Fortran Compiler for Linux*

Important: Cluster OpenMP requires that you have at least version 9.1 or higher of Intel® Fortran Compiler for Linux* installed.

Application development using processors supporting Intel® 64 architecture

Component

Minimum

Recommended

Processor

Intel® processor with Intel® 64 architecture

Intel processor with Intel 64 architecture

RAM

256 MB

512 MB

Disk Space

300 MB free hard disk space, plus an additional 300 MB during installation for download and temporary files.

100 MB of hard disk space for virtual memory paging file.
(Be sure to use at least the minimum amount of virtual memory recommended for the installed distribution of Linux.)

 

Operating System

Linux* system with glibc 2.2.93, 2.3.2, 2.3.3, 2.3.4 or 2.3.5 and the 2.4.x or 2.6.x Linux kernel as represented by the following Linux distributions, running in 64-bit mode.

Note: Not all distributions listed are validated and not all distributions are listed.

  • Red Hat* Enterprise Linux 3, 4
  • SUSE LINUX Enterprise Server* 9

 

Other Software

Linux Developer Tools component installed, including gcc 3.3.3, g++ and related tools.

 

64-bit C and C++ runtime libraries:

  • libm.so.6
  • libpthread.so.0
  • libc.so.6
  • libstdc++.so.5
  • libgcc_s.so.1

 

Note: The requirement for the 64-bit libraries is due to the compiler and other tools being 64-bit applications that dynamically link to these libraries.

 


Application development using Itanium®-based processors

Component

Minimum

Recommended

Processor

Itanium® 2 Processor

Itanium® 2 Processor

RAM

512 MB

1 GB

Disk Space

150 MB of disk space, plus an additional 200 MB during installation for the download and temporary files.

 

Operating System

Linux* system with glibc 2.2.4, 2.2.93, 2.3.2, 2.3.3 or 2.3.4 and the 2.4.X or 2.6.X Linux kernel as represented by the following distributions.

Note: Not all distributions listed are validated and not all distributions are listed.

  • Red Hat Enterprise Linux 3, 4
  • SUSE LINUX Enterprise Server*  9

 

 

Other Software

Linux Developer Tools component installed, including gcc, g++ and related tools.

We recommend using binutils 2.14 or later, especially if using shared libraries as there are known issues with binutils 2.1


Notes: List of processor model names is not exhaustive - other processor models correctly supporting the same instruction set as those listed are expected to work. Please contact Intel® Premier Support if you have questions regarding a specific processor model. Some optimization options have restrictions regarding the processor type on which the application is run. Please see the documentation of these options for more information.

Compiling very large source files, (several thousands of lines) using advanced optimizations such as -O3, -ipo and -openmp may require substantially larger amounts of RAM.

Some optimization options have restrictions regarding the processor type on which the application is run.


In this paper, we point out key aspects of OpenMP, and then describe how Cluster OpenMP takes advantage of the OpenMP relaxed-memory model to hide communication latency. We describe how various OpenMP operations are implemented by Cluster OpenMP, as well as discuss performance considerations in a Cluster OpenMP program and show some performance results. Finally, we touch upon future plans for the Cluster OpenMP software.


Primary Technology Contacts

Jay Hoeflinger
Jay is the team lead of the OpenMP runtime library project.  He has been a member of the OpenMP language committee for the past 5 years.  He has a PhD in Computer Science from the University of Illinois.  In past lives he worked on parallelizing rocket simulations at the Department of Energy rocket center at the University of Illinois, researching automatic parallelizing compilers, and systems analysis at a printing company.  He lives with his wife and their newest family member – an exuberant 2-year-old golden retriever.

Larry Meadows
Larry Meadows has been working on libraries, system software, compilers, software development tools, performance analysis, and parallelism since his graduation from Reed College in 1982. His most recent activities include writing and rewriting the Cluster OpenMP communications layer and system level performance analysis for Windows systems. He lives on a small gentleman's farm southwest of Portland, Oregon with his wife and a plethora of domestic and not-so-domestic animals.

 


For more complete information about compiler optimizations, see our Optimization Notice.