| How To Use Intel's Cluster OpenMP |
|
This article describes how to use the cluster-openmp extension of Intel's icc C/C++ compiler. Since this is an experimental setup, there is no support yet for the Fortran compiler. Open Multi-Processing (openmp) programs on the HPC cluster can only utilize the resources of a single compute node, which limits it to only 4 threads. Cluster-openmp is an extension to this paradigm and it lets openmp programs run on several nodes. SetupIn this article I assume that your program is openmp-enabled; i.e. it is made parallel using the appropriate openmp pragma's. In most cases, you don't have to change your openmp code, or only add the following code and use MALLOC instead of malloc: #ifdef _CLUSTER_OPENMP An extensive guide to cluster-openmp can be found on the Intel website. All files used in this document can be find in the /panfs/storage.local/system/tutorial/example3 directory on the cluster. Compile your programTo compile your openmp program for cluster-open, you have to use the -cluster-openmp compiler flag, instead of the -openmp flag. For example, $ source /usr/local/profile.d/iccvars.csh Submitting your jobThe cluster-openmp implementation expects certain runtime settings in a file called kmp_cluster.ini. This includes the nodes the program is supposed to run on. Since this information is only available during runtime, we let the submission script create this file. An example submission script can look like, #!/bin/bash Some remarks about this script:
LicenseWe are using a evaluation license, which will expire on Feb 10, 2008. This licence is for the C/C++ compiler. Please email hpc-support if you are interested in using cluster-openmp for Fortran. |
![[FSU Seal Image]](http://www.fsu.edu/.element/img/2.1/headerFSUSeal.gif)


