10
排排排排排排排排排 传统 排排排排 TONGJI UNIVERSITY

传统排序算法的并行实现

  • Upload
    carr

  • View
    100

  • Download
    0

Embed Size (px)

DESCRIPTION

同济大学. TONGJI UNIVERSITY. 传统排序算法的并行实现. 并行计算. openmp. - PowerPoint PPT Presentation

Citation preview

Page 1: 传统排序算法的并行实现

传统排序算法的并行实现

同济大学TONGJI UNIVERSITY

Page 2: 传统排序算法的并行实现

Page 2

并行计算

Page 3: 传统排序算法的并行实现

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: 传统排序算法的并行实现

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 5

传统的排序算法

冒泡排序快速排序归并排序

Page 6: 传统排序算法的并行实现

Page 6

并行冒泡排序

奇偶排序

Page 7: 传统排序算法的并行实现

Page 7

并行快速 /归并排序

Page 8: 传统排序算法的并行实现

Page 8

测试结果

排序 时间(ms)

串行冒泡( 100000) 144708

并行冒牌( 100000) 143451

串行快排 21303

并行快排 115573

串行归并 56242

并行归并 82171

Page 9: 传统排序算法的并行实现

Page 9

Page 10: 传统排序算法的并行实现

同济大学TONGJI UNIVERSITY

谢谢