13.07.2015 Views

Intel(R) - Computational and Systems Biology at MIT

Intel(R) - Computational and Systems Biology at MIT

Intel(R) - Computational and Systems Biology at MIT

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

6 <strong>Intel</strong>® M<strong>at</strong>h Kernel Library User’s GuideNote th<strong>at</strong> a number of other LAPACK routines, which are based on threaded LAPACK orBLAS routines, make effective use of parallelism: *gesv, *posv, *gels, *gesvd,*syev, *heev, etc.• All Level 3 BLAS, Sparse BLAS m<strong>at</strong>rix-vector <strong>and</strong> m<strong>at</strong>rix-m<strong>at</strong>rix multiply routines forthe compressed sparse row <strong>and</strong> diagonal form<strong>at</strong>s• VML• All FFTs (except 1D transform<strong>at</strong>ions when DFTI_NUMBER_OF_TRANSFORMS=1 <strong>and</strong> sizesare not power of two).NOTE. For power-of-two d<strong>at</strong>a in 1D FFTs, <strong>Intel</strong> MKL provides parallelismfor all the three supported architectures. For <strong>Intel</strong>® 64 architecture, theparallelism is provided for double complex out-of-place FFTs only.The library uses OpenMP* threading software, which responds to the environmentalvariable OMP_NUM_THREADS th<strong>at</strong> sets the number of threads to use. Notice th<strong>at</strong> there aredifferent means to set the number of threads. In <strong>Intel</strong> MKL releases earlier than 10.0, youcould use the environment variable OMP_NUM_THREADS (see Setting the Number of ThreadsUsing OpenMP* Environment Variable for details) or the equivalent OpenMP run-timefunction calls (detailed in section Changing the Number of Threads <strong>at</strong> Run Time). Startingwith version 10.0, <strong>Intel</strong> MKL also offers variables th<strong>at</strong> are independent of OpenMP, such asMKL_NUM_THREADS, <strong>and</strong> equivalent <strong>Intel</strong> MKL functions for threading management (seeUsing Additional Threading Control for details). The <strong>Intel</strong> MKL variables are alwaysinspected first, then the OpenMP variables are examined, <strong>and</strong> if neither is used, theOpenMP software chooses the default number of threads. This is a change with respect to<strong>Intel</strong> MKL versions 9.x or earlier, which used a default value of one, as the <strong>Intel</strong>® CompilerOpenMP software uses the default number of threads equal to the number of processors inyour system.NOTE. In <strong>Intel</strong> MKL 10.0, the OpenMP* software determines the defaultnumber of threads. The default number of threads is equal to the numberof logical processors in your system for <strong>Intel</strong> OpenMP* libraries.To achieve higher performance, you are recommended to set the number of threads to thenumber of real processors or physical cores. Do this by any available means, which aresummarized in section Techniques to Set the Number of Threads.6-2

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!