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.

Managing Performance <strong>and</strong>Memory 6The chapter fe<strong>at</strong>ures different ways to obtain best performance with <strong>Intel</strong>® M<strong>at</strong>h KernelLibrary (<strong>Intel</strong>® MKL): primarily, it discusses threading (see Using <strong>Intel</strong>® MKL Parallelism),then shows coding techniques <strong>and</strong> gives hardware configur<strong>at</strong>ion tips for improvingperformance. The chapter also discusses the <strong>Intel</strong> MKL memory management <strong>and</strong> showshow to redefine memory functions th<strong>at</strong> the library uses by default.Using <strong>Intel</strong>® MKL ParallelismBeing designed for multi-threaded programming, <strong>Intel</strong> MKL is thread-safe, which meansth<strong>at</strong> <strong>Intel</strong> MKL functions work correctly during simultaneous execution by multiple threads.In particular, any chunk of threaded <strong>Intel</strong> MKL code provides access of multiple threads tothe same shared d<strong>at</strong>a, while permitting only one thread <strong>at</strong> any given time to access ashared piece of d<strong>at</strong>a. Due to thread-safety, you can call <strong>Intel</strong> MKL from multiple threads<strong>and</strong> not worry about the functions interfering with each other.<strong>Intel</strong> MKL is threaded in a number of places:• Direct sparse solver• LAPACK— Linear equ<strong>at</strong>ions, comput<strong>at</strong>ional routines:- factoriz<strong>at</strong>ion: *getrf, *gbtrf, *potrf, *pptrf, *sytrf, *hetrf, *sptrf, *hptrf- solving: *gbtrs, *gttrs, *pptrs, *pbtrs, *pttrs, *sytrs, *sptrs, *hptrs,*tptrs, *tbtrs— Orthogonal factoriz<strong>at</strong>ion, comput<strong>at</strong>ional routines:*geqrf, *ormqr, *unmqr, *ormlq, *unmlq, *ormql, *unmql, *ormrq, *unmrq— Singular Value Decomposition, comput<strong>at</strong>ional routines: *gebrd, *bdsqr— Symmetric Eigenvalue Problems, comput<strong>at</strong>ional routines:*sytrd, *hetrd, *sptrd, *hptrd, *steqr, *stedc6-1

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

Saved successfully!

Ooh no, something went wrong!