基于多核并行排序-IntelSoftware.pptVIP

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

基于多核并行排序 华南理工大学 陈虎 博士 tommychen74@ 单核排序关注的核心问题 a. 减少要排序数据之间的比较次数。 比如:插入排序 insertsort O(n2) 希尔排序 shellsort O(n3/4) 快速排序 quicksort 平均O(nlogn) 归并排序 mergesort 固定O(nlogn) b. 算法所需要的内存空间。 比如: 插入排序 in place,不用新的空间 希尔排序 和插入排序一样 快速排序 stack, 递归所需堆栈空间 归并排序 一个新的数组来存储排好的数据 多核排序关注的核心问题 a. 每个核以线程为执行单元,排序程序 通过生成相互协作的线程来完成排序。 b. 关注数据集的合理划分。 c. 识别可并行执行的任务。 理论上,基于相同的串行算法和相同的cache命中率, 多核计算速度可以无限接近单核计算速度的P倍,其 中P为核的数目。 多核上的并行排序算法 思想 a.将要处理的数据集均等的分到每个线程中,线程对数据 集各自排序。 b.线程开始根据相同的数划分数据集。 这个数是依据一定的方法选出来的(详见并行算法描述)。每个线程的数据 集都会被分成K份,(其中P= K P2 ,P为核的数目),每份将被称为一桶。 很显然这个过程选出了K个数,这些数将被称为bound_value, 记为 X1, X2, X3…… XK c.最后每个线程中小于或等于X1的数会被一个独立的 线程去归并排序,同样小于或等于X2的数也会被另外 一个独立的线程去归并排序,依次类推,直到排好 序。 多核上的并行排序算法 步骤:1 1、将原始待排序的数据分成P等份,每个处理器上对N0个 数据进行排序,称每个被排序后的子集为B0,…,Bp-1 2、Remain_data=N,设定第0组归并起始位置全部为0, i=0,设置第0组在目标数组中的起始位置为0 3、循环直至remian_dataL 3.1 选取所有子集中起始位置后续L个元素的最小值 bound_value,并获得bound_value的桶号bucket 3.2 在所有子集中从起始位置到后续L个元素中选取边界 位置,使得边界位置的最后一个元素小于或等 bound_value,而边界位置后的第一元素大于 bound_value。 多核上的并行排序算法 步骤:2 3.3 记录所有的边界位置,并设置所有第i+1组的 起始位置为第i组的起始位置加上边界位置 3.4 累积所有边界值,得到该归并组的大小 3.5 根据归并组大小和本组起始位置计算第i+1组 在目标数组中的起始位置。 4、设置最后一个归并组的边界为N0 5、对所有归并组进行并行P路归并排序。 多核上的并行排序算法 描述 例子: 线程对各自持有的数据排序: 根据算法将选出21将行划分; 然后是66; 最后所剩下的数将作为一组进行归并。 并行算法正确性证明 1 . 任何一个原始待排序数据出现且仅出现在 一个归并组中。 2 . 归并组i中的一个任意元素必然小于等于归并组i+1中的任意元素。 3 . 任意一个归并组的大小介于L和LP之间。 理论加速比和实验结果 * * 本课程得到 Intel?大学合作计划支持 课程网站: /uploadfile/Multicore/index.htm 2 5 11 11 21 52 73 78 8 18 26 33 37 66 77 9

文档评论(0)

dlmus + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档