Partners Research Computing Cluster Resources
Partners applications via Mac/PC
Clinical & research applications
DFCI bioinformatics computer
PHS Research Computing cluster
Bioinformatics news
Data Storage & Backup
Sharing files & collaboration
HIPAA, ePHI and research (internal)
RPDR
HPCGG
Biomedical Engineering Model Shop
Harvard's GForge Implementation
Institutional research distribution lists

 

pHPC account registration pHPC user guide pHPC services pHPC web protal



Intel Math Kernel Library on cluster


Intro: Intel has released Math Kernel Library MKL10.0. If you are using C/C++ in the cluster, particularly, if you are bioinformatics or biomedical programmer, you could gain tremendous performance in the followings:

* Linear Algebra (BLAS and LAPACK)

* Linear Algebra (Sparse solvers). Solve large, sparse, symmetric, and asymmetric linear systems of equations on shared-memory multiprocessors (we have two processors each node, you can collect both of them for one job)

* Fast Fourier Transforms (FFT) Employ multi-dimensional FFT routines (1D up to 7D) with mixed radix support and a modern, easy-to-use C/Fortran interface.

* Vector Math Library Increase application speeds with vectorized implementations of computationally intensive core mathematical functions (power, trigonometric, exponential, hyperbolic, logarithmic, and so on).

* Vector Random Number Generators (such as binomial, Gaussian distribution ...etc),

The current MKL is NOT cluster version. However, we are willing to purchase cluser version of MKL when enough user make the request. The cluster version of MKL will be able to implment large-scale Linear Algebra and Fast Fourier Transforms by distributing the work over a large number of processors in the cluster.

The complete MKL10.0 userguide can be downloaded (PHS network required)



How to use Intel Math Kernel Library on cluster

Step 1: Please read "how to setup your working environment" and do the following:

a. Include the sentence of "module load intel/mkl/10.1/default" in the module-loading blocks in your .bashrc file

b. Type ". .bashrc" in your terminal to enable the above configuration. To confirm your configuration is correct, type the following:

 [testy@n137 ~] module list
 Currently Loaded Modulefiles:
  1) intel/cce/10.1/default 2) intel/mkl/10.1/default
check your c/c++ compiling path.
[testy@n137 ~]$ which icc
/source/intel/cce/10.1.008/bin/icc

[testy@n63 ~]$ which icpc
/source/intel/cce/10.1.008/bin/icpc


check your LD_LIBRARY_PATH path.
[testy@n63 namd]$ echo $LD_LIBRARY_PATH
/source/intel/mkl/10.0.1.014/lib/em64t


Step 2. Compiling and running your program

The example testMKL.c and the Makefile can be downloaded to your working directory.
[testy@n63 ~]$ cd /shr/home/testy/your_working_dir
[testy@n63 ~]$ make -f testMKL.mak
icpc -I/source/intel/mkl/10.0.1.014/include  -o testMKL.o -c testMKL.c
icpc -L/source/intel/mkl/10.0.1.014/em64t -lmkl -lguide -lpthread  -Wall -O2 -g0 testMKL.o  -o testMKL

run your program .
[testy@n63 ~]$ ./testMKL
The complex dot product is: ( 140.00,  20.00)


If you have above result, it indicates you are ready to use intel compiler for more complicated tasks.



The complete MKL10.0 userguide can be downloaded (PHS network required)