19.08.2015 Views

Using MKL, the Intel Math Kernel Library (v11.0.0.079) - ICHEC

Using MKL, the Intel Math Kernel Library (v11.0.0.079) - ICHEC

Using MKL, the Intel Math Kernel Library (v11.0.0.079) - ICHEC

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.

•Interface LayerThis layer provides matching between <strong>the</strong> compiled code of an application and <strong>the</strong> threading/computationalcomponents of <strong>the</strong> library. This layer:•provides an LP64 interface.•access to <strong>MKL</strong> ILP64.•deals with <strong>the</strong> way in which different compilers return function values.•a way to map single precision names to double precision names in applications that employ ILP64programming model (e.g. Cray-style naming).Interface Layer Librarieslibmkl_intel_lp64 libmkl_intel_ilp64 libmkl_gf_lp64 libmkl_gf_ilp64 libmkl_intel_sp2dp•Threading LayerThis layer helps <strong>the</strong> threaded <strong>MKL</strong> to co-operate with compiler level threading. This also provides <strong>the</strong>sequential version layer.Threading Layer Librarieslibmkl_intel_thread libmkl_gnu_thread libmkl_pgi_thread libmkl_sequential•Computational LayerThis is <strong>the</strong> heart of <strong>MKL</strong> and has only one variant for any processor/operating system family, Thecomputational layer accommodates multiple architectures through identification of <strong>the</strong> architecture orarchitectural feature and chooses <strong>the</strong> appropriate binary code at execution. <strong>Intel</strong> <strong>MKL</strong> may be thought of as<strong>the</strong> large computational layer that is unaffected by different computational environments. Then, as it has noRTL requirements, RTLs refer not to <strong>the</strong> computational layer but to one of <strong>the</strong> layers above it: <strong>the</strong> Interfacelayer or Threading layer. The most likely case is matching <strong>the</strong> threading layer with <strong>the</strong> RTL layer.Computational Layer Librarieslibmkl_avx libmkl_core libmkl_def libmkl_mc/mc3 libmkl_scalapack_lp64/ilp64libmkl_vml_def/p4n/mc/mc2/mc3/avx/cmptlibmkl_cdft_core2

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

Saved successfully!

Ooh no, something went wrong!