《多核架构及编程技术》5 MKL编程基础.pptVIP

《多核架构及编程技术》5 MKL编程基础.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《多核架构及编程技术》5 MKL编程基础

第 五 章 MKL编 程 基 础 有限资源的优化目标 MKL简介 Intel数学核心函数库(MKL)是一套经过高度优化、扩展地线程处理的数学例程和函数,它们专门针对性能要求很高的科学、工程及金融等领域的应用程序而设计。 英特尔 MKL 的集群版本包括 ScaLAPACK (可扩展线性代数程序包)与分布式内存快速傅立叶转换,并提供了线性代数 (BLAS、LAPACK 和 Sparse Solver)、快速傅立叶转换、矢量数学 (Vector Math) 与随机号码生成器支持。 MKL主要内容 主要包括: ① LAPACK (线形代数工具linear algebra package) ② DFTs (离散傅立叶变换 Discrete Fourier transforms) ③ VML (矢量数学库Vector Math Library) ④ VSL (矢量统计库Vector Statistical Library) BLAS 与 LAPACK 函数接口 MKL的主要功能领域 MKL的主要功能 MKL的主要功能 MKL的主要功能 MKL基本内容 大多数 MKL函数具有Fortran接口 源于高性能计算 LAS, LAPACK 等函数库大多数用Fortran实现 Cblas接口 – 为了方便C/C++程序员调用BLAS MKL的应用环境 支持Intel和CVF Fortran 编译器 支持Linux 和 Windows 操作系统 静态和动态链接库 支持处理器 – 32-bit and 64-bit 测试和丰富的例程 MKL Index BLAS “levels” of functions + sparse Level 1: vector-vector operations Level 2: vector-matrix operations Level 3: matrix-matrix operations Sparse: level 1 operations on sparse vectors “Levels” 的历史 Level 1 in early 70’s Level 2 in mid-70’s followed immediately by level 3 BLAS Naming Conventions (命名规约) evel 1modifier c: conjugated (cdotc), u: unconjugated (cdotu), g: givens (srotg) evel 2 modifier mv: matrix-vector; sv: solve (vector operations); r: rank update; r2: rank 2 update dger: double-precision general rank update: A := alpha * x * y’ + A evel 3 modifier mm: matrix-matrix; sm: solve (matrix operations); r: rank update; r2: rank 2 update dsyr2k: double-precision symmetric rank-2 update 快速傅立叶变换 (FFT) MKL 函数与FFTW MKL的配置(Visual Studio) MKL的配置(Visual Studio) Matrix Multiplication的四种方法 DDOT (level 1) DGEMV (level 2) DGEMM (level 3) MKL的使用 MKL的使用 MKL 实验一 MKL 实验二 Monte carlo法计算pi值 * * 武汉大学《多核架构及编程技术》教学课程之 优化的终极目标:最大速度; 在有限的资源环境下,最大限度的耗用CPU的资源是优化的主要目的: ? CPU: Register use, FP units. ? Cache: Keep data in cache as long as possible; deal with cache interleaving. ? TLBs: Maximally use data on each page. ? Memory bandwidth: Minimally access memory. ? Computer: Use all the processors available using threading. ? System: Use all the nodes available (cluster software). BLAS 与 LAPACK 函数是求解线性代数

文档评论(0)

153****9595 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档