- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
LabVIEW多核分析和稀疏矩阵工具包介绍
LabVIEW多核分析和稀疏矩阵工具包介绍发布日期:?七月 18, 2013?| 0 评级 |?0.00?out of 5 |?窗体顶端Read in English窗体底端? |??PDF概览NI LabVIEW多核分析和稀疏矩阵工具包提供了高性能的LabVIEW多线程分析库,是在线或离线的大数据集处理应用的理想工具。实际上,许多现实世界的问题可以表示为大型线性代数计算,而该工具包可以为这些运算减少所需的资源和总体的计算时间。此外,该工具包包括稀疏线性代数函数,并支持单精度和双精度数据类型。本文介绍了LabVIEW多核分析和稀疏矩阵工具包的用途和推荐用法。目录高性能多线程分析管理线程稀疏矩阵函数数据类型支持结论更多相关资源1. 高性能多线程分析如前所述,NI LabVIEW多核分析和稀疏矩阵工具包提供了一系列高性能、多线程分析库,可以用来处理大型数据集。这些库是专为基于英特尔?数学内核函数库(Intel? MKL)的Windows 操作系统而设计的。该内核库是一个高度优化、多线程化的数学计算函数库,满足最高性能需求的应用。此外,当您将这个工具包与LabVIEW实时模块一同使用时,这些库可以被扩展到LabVIEW实时(ETS)的目标中。因此,用户能够使用多线程线性代数、基本线性代数子程序(BLAS)和基于快速傅立叶变换(FFT)的函数。图1.多核分析和稀疏矩阵函数选板包含高性能、多线程分析以及稀疏矩阵代数函数。?该工具包提供了各种函数库,每个函数可以更好地利用多核CPU。而且它还包含一组线程管理函数,因此用户可以调整应用程序的线程行为特性。图2.线程管理函数选板包含有效管理线程的函数。?至页首2. 管理线程本节以两个矩阵相乘为例来介绍管理线程的方法。管理线程时,首要考虑的是执行函数的系统中可用的内核数。要获得目标系统的CPU特性,可以使用?CPU Information?函数。此外,线程管理函数选板中的?Get Threads?函数可以在之后立即添加以获取可用线程的最大数量。此函数提供了线性代数、转置以及其它函数相关的可用线程的最大数量信息。这为每个线程或者线程组定义了作用域,并根据具体应用需求提供进一步的管理功能。图 3.?获取处理器特性可以知道可用线程的最大数目?用户必须注意,LabVIEW使用线程的实际数量取决于具体问题的大小、系统资源,和其它因素。除非您指定一个较小的数值,在默认情况下,多核分析和稀疏矩阵VI使用物理内核数量作为线程的最大数。鉴于此,使用Set Threads函数可以设置任意数量的线程,但这一设置必须在并行执行实际代码之前完成。也就是说,程序的流程必须顺序执行,以便更好地控制为执行某一段代码所使用的线程数。我们不建议并行执行多个多核分析和稀疏矩阵库的函数。因此,在管理线程时需要密切观察,以避免出现类似于”超额认购”问题;当试图运行的线程数量超过可用的逻辑内核的数量时,就会出现这种问题。?图 4.?线程管理必须按照一定的顺序进行,以避免并行运行产生的性能问题?这种编程架构可以继续扩展,以包含在其它函数域中的线程,或者为一段给定的代码重新分配线程。下图显示了在一台具有Intel i7 2600 四核 CPU的计算机上,对有不同线程数的矩阵相乘问题进行的性能基准测试。图 5.在一台具有Intel i7 2600 四核CPU的计算机上为矩阵相乘运算进行计算时间和性能改进的基准测试?此外,对于序列中不同的函数域,可以明确划分线程。例如,在一个四核系统中,有两个线程,一个可以分配给转置函数,另一个可以分配给除了转置函数以外的所有的其它函数。图6.线程可以定义在不同的函数域中?了解关于管理线程的更多信息,请阅读LabVIEW Multicore Analysis and Sparse Matrix Toolkit Help。?至页首3. 稀疏矩阵函数稀疏矩阵是多数元素为零的矩阵,广泛应用于数值分析计算。与此相反,如果矩阵的大部分的元素不为零,那么通常称为密集矩阵。稀疏矩阵为存储数据提供了一个更有效的方法,并且在分析程序中可以使用特定的计算技术以更少的时间完成运算。例如,下面的图表显示了对于一个AxB函数,使用密集矩阵和稀疏矩阵的比较,其中稀疏矩阵的密度为0.01。图7.稀疏矩阵降低了对内存需求,而降低的程度取决于非零项的分布和数量。?多核分析和稀疏矩阵工具包提供了广泛的矩阵VI来操控一个稀疏矩阵的元素、对角线和子矩阵。用户可以使用这些函数解决具有挑战性的问题,包括曾经由于矩阵过大而不能有效存储和处理的问题。图8.矩阵函数选板包含一系列VI以操控稀疏矩阵。?矩阵VI使用一个稀疏矩阵对象来定义这种矩阵。该工具包包括全面的函数可以转换为稀疏矩阵,或者进行相反的操作。图9.在LabVIEW中,稀疏矩阵通过一个对象来表示?至页
文档评论(0)