HPC/Carbon Cluster - Development tools: Difference between revisions

From CNM Wiki
< HPC
Jump to navigation Jump to search
 
(12 intermediate revisions by the same user not shown)
Line 1: Line 1:
__TOC__
__TOC__


== Compilers and development tools ==
This is an overview of the compilers and MPI libraries available on Carbon.
Each package name leads to its documentation.


=== [http://www.gnu.org/doc/ GNU] ===
; See also: [[HPC/Software/Modules#Intel development tools | Module catalog]].
 
== Compilers ==
 
=== GNU family ===
* [http://gcc.gnu.org/onlinedocs/ GCC]
* [http://gcc.gnu.org/onlinedocs/ GCC]
* [http://www.gnu.org/software/gdb/documentation/ GDB]
* [http://www.gnu.org/software/gdb/documentation/ GDB]
Line 9: Line 14:
* [http://www.gnu.org/manual/manual.html … other manuals]
* [http://www.gnu.org/manual/manual.html … other manuals]


=== [http://www.intel.com/support/performancetools/ Intel] ===
=== [http://software.intel.com/en-us/articles/intel-sdp-products/ Intel Software Development Products] ===
We have supported versions of the following commercial tools, currently installed under <code>/opt/intel</code>:
As of 2011, we have the following tools under support within the [http://software.intel.com/en-us/articles/intel-composer-xe/ ''Intel® Composer XE 2011 for Linux''] bundle.
* [http://www.intel.com/support/performancetools/fortran/linux/ Fortran]
** [http://www.intel.com/cd/software/products/asmo-na/eng/346152.htm Manual for 10.1]
** <code>/opt/intel/{fc,fce}/''version''</code>
* [http://www.intel.com/support/performancetools/c/index.htm C++]
** [http://www.intel.com/cd/software/products/asmo-na/eng/346158.htm Manual for 10.1]
** <code>/opt/intel/{cc,cce}/''version''</code>
* [http://www.intel.com/support/performancetools/libraries/mkl/index.htm Intel Math Kernel Library (MKL)], includes Cluster Edition
** <code>/opt/intel/mkl/''version''</code>
* [http://www.intel.com/support/performancetools/vtune/index1.htm VTune analyzer]
* Intel Debugger
** <code>/opt/intel/{idb,idbe}/''version''</code>
To access the documentation pages, use '''firefox''' on a login node:
* <code>/opt/intel/fce/''version''/doc/Doc_Index.htm</code>
* <code>/opt/intel/cce/''version''/doc/Doc_Index.htm</code>
* <code>/opt/intel/mkl/''version''/doc/Doc_index.htm</code>


==== Note on binary architectures ====
* [http://software.intel.com/en-us/articles/intel-c-compiler-professional-edition-for-linux-documentation/ Intel C/C++]
* [http://software.intel.com/en-us/articles/intel-fortran-compiler-professional-edition-for-linux-documentation/ Intel Fortran]
* [http://software.intel.com/en-us/articles/intel-math-kernel-library-documentation/ Math Kernel Library] -- see also [[HPC/Software/Modules/mkl]]
* [http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-documentation/ Integrated Performance Primitives Documentation (IPP)]
* [http://software.intel.com/en-us/articles/intel-threading-building-blocks-documentation/ Threading Building Blocks Documentation (TBB)]
* [http://software.intel.com/en-us/articles/intel-c-compiler-professional-edition-for-linux-documentation/ Debugger (idb)]


CPU architecture labels used by Intel and others can be confusing and have changed over time.
Documentation is installed locally mainly under:
Here's a summary of the labels and directory names commonly used:
$ICC_HOME/Documentation
; '''32, ia32, x86''': legacy 32-bit x86 generations up to ''Pentium 4'' and ''[http://en.wikipedia.org/wiki/Intel_Core Intel Core]''
<pre>
; '''em64t''', '''Intel-64''', '''x86_64''', '''AMD-64''': 64-bit generations of the ''[http://en.wikipedia.org/wiki/Intel_Xeon Xeon]'' branded CPUs, and the ''[http://en.wikipedia.org/wiki/Intel_Core_2 Core 2]'' generation, mostly compatible with AMD's ''[http://en.wikipedia.org/wiki/Opteron Opteron]''
$ ls -F $ICC_HOME/Documentation/en_US
; '''64, ia64''', '''Itanium''': ''[http://en.wikipedia.org/wiki/Itanium Itanium]'' – limited ia32 support, but none for x86_64; ''not used here.''
Release_NotesC.pdf  compiler_c/          documentation_f.htm    getting_started_f.pdf  lgpltext
Release_NotesF.pdf  compiler_f/         flicense              idb/                   mkl/
clicense            documentation_c.htm  getting_started_c.pdf  ipp/                   tbb/
</pre>


The cce, fce, and idbe directories above provide the 64-bit em64t versions appropriate for the Xeon processors, with ia32 versions being available under cc, fc, idb  to compile and run legacy applications.  By default, the 64-bit versions are activated in the user's environment (<code>$PATH</code> and others).  This is done automatically through <code>/etc/profile.d/{iccvars,ifortvars,mklvarsem64t}.{sh,csh}</code>.
No longer maintained on Carbon:
 
* [http://www.intel.com/support/performancetools/vtune/index1.htm VTune analyzer]
The ''[http://modules.sourceforge.net/ environment-modules]'' package is used for version and architecture selection.
 
module list
module avail
module load ...
module unload ...
module switch old new
 
==Libraries==
 
=== [http://www.intel.com/support/performancetools/libraries/mkl/index.htm Intel Math Kernel Library (MKL)] ===
 
Migrated to [[HPC/Software/Modules/mkl]]
 
=== [http://www.vtk.org/ VTK] ===
* [https://visualization.hpc.mil/wiki/VTK Intro]
* [https://visualization.hpc.mil/wiki/Getting_Started_with_VTK VTK install notes]
 
=== [http://www.mcs.anl.gov/petsc PETSc] ===
* TODO: Portable, Extensible Toolkit for Scientific Computation


==MPI==
==MPI==


===[http://www.open-mpi.org/ OpenMPI]===
=== [http://www.open-mpi.org/ OpenMPI] ===
This is the primary and recommended MPI version.  It supports Ethernet and Infiniband interconnect.
This is the primary and recommended MPI version.  It supports Ethernet and InfiniBand interconnect, with InfiniBand set as default by means of an [http://www.open-mpi.org/faq/?category=openfabrics#ib-btl <code>OMPI_MCA_…</code>] environment variable.
* See also: [http://www.open-mpi.org/faq FAQ]
* [http://www.open-mpi.org/doc/ OpenMPI Documentation]
 
* [http://www.open-mpi.org/faq FAQ]
===[http://www-unix.mcs.anl.gov/mpi/mpich1/ MPICH]/[http://www.mcs.anl.gov/research/projects/mpich2/ MPIC2]===
 
TBD
 
===[http://www.intel.com/cd/software/products/asmo-na/eng/308295.htm#support Intel MPI]===
 
* [http://www.intel.com/cd/software/products/asmo-na/eng/368005.htm Documentation]


==Resource Management==
=== Intel MPI ===
* See [[HPC/Software/Modules/impi]]


* [http://www.clusterresources.com/pages/products/moab-cluster-suite.php MOAB cluster suite]
===[http://www-unix.mcs.anl.gov/mpi/mpich1/ MPICH]/[http://www.mcs.anl.gov/research/projects/mpich2/ MPICH2]===
** [http://www.clusterresources.com/pages/resources/documentation.php Documentation overview]
* Not installed explicitly, but Intel-MPI is based on MPICH2 and provides an MPICH2 runtime environment for precompiled binaries.
** [http://www.clusterresources.com/torquedocs21/usersmanual.shtml Torque]
** Gold allocation manager


[[Category:HPC|Development]]
[[Category:HPC|Development]]

Latest revision as of 22:22, June 3, 2011

This is an overview of the compilers and MPI libraries available on Carbon. Each package name leads to its documentation.

See also
Module catalog.

Compilers

GNU family

Intel Software Development Products

As of 2011, we have the following tools under support within the Intel® Composer XE 2011 for Linux bundle.

Documentation is installed locally mainly under:

$ICC_HOME/Documentation
$ ls -F $ICC_HOME/Documentation/en_US
Release_NotesC.pdf  compiler_c/          documentation_f.htm    getting_started_f.pdf  lgpltext
Release_NotesF.pdf  compiler_f/          flicense               idb/                   mkl/
clicense            documentation_c.htm  getting_started_c.pdf  ipp/                   tbb/

No longer maintained on Carbon:

MPI

OpenMPI

This is the primary and recommended MPI version. It supports Ethernet and InfiniBand interconnect, with InfiniBand set as default by means of an OMPI_MCA_… environment variable.

Intel MPI

MPICH/MPICH2

  • Not installed explicitly, but Intel-MPI is based on MPICH2 and provides an MPICH2 runtime environment for precompiled binaries.