Intel(R) - Computational and Systems Biology at MIT
Intel(R) - Computational and Systems Biology at MIT
Intel(R) - Computational and Systems Biology at MIT
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