传统排序算法的并行实现
DESCRIPTION
同济大学. TONGJI UNIVERSITY. 传统排序算法的并行实现. 并行计算. openmp. - PowerPoint PPT PresentationTRANSCRIPT
传统排序算法的并行实现
同济大学TONGJI UNIVERSITY
Page 2
并行计算
Page 3
openmp
OpenMP ( Open Multi-Processing)是由 OpenMP
Architecture Review Board牵头提出的,并已被广泛接受的,用于共享内存并行系统的多线程程序设计的一套指导性注释( Compiler Directive)。 OpenMP支持的编程语言包括 C语言、 C++ 和 Fortran;而支持 OpenMP的编译器包括 Sun Studio 和 Intel Compiler,以及开放源码的 GCC
和 Open64编译器。 OpenMP提供了对并行算法的高层的抽象描述,程序员通过在源代码中加入专用的 pragma来指明自己的意图,由此编译器可以自动将程序进行并行化,并在必要之处加入同步互斥以及通信。
Page 4
openmp
#pragma omp parallel for
#pragma omp parallel if
#pragma omp parallel sections
#pragma omp parallel single
#pragma omp parallel master
Page 5
传统的排序算法
冒泡排序快速排序归并排序
Page 6
并行冒泡排序
奇偶排序
Page 7
并行快速 /归并排序
Page 8
测试结果
排序 时间(ms)
串行冒泡( 100000) 144708
并行冒牌( 100000) 143451
串行快排 21303
并行快排 115573
串行归并 56242
并行归并 82171
Page 9
同济大学TONGJI UNIVERSITY
谢谢