Skip to content

Bowenwu1/Parallel-Find-Prime

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Parallel-Find-Prime

利用MPI实现并行的线性筛数法

编译

  • 串行

    mpic++ normal_find_prime.cpp -o normal_find_prime
  • 并行

    mpic++ parallel_find_prime.cpp -o parallel_find_prime

运行

  • 串行

    mpirun -n 1 normal_find_prime 0 [i]
  • 并行

    mpirun -n [进程数] --oversubscribe parallel_find_prime [i]
    • 进程数 :新建的进程数
    • i : ��筛选小于等于 2^i*1000 的素数

测试结果

计时方法

统计rank为0的进程所花的时间,使用MPI_WTime()获取时间,再做差

Pipeline VS Sequential

i n=2^i*1000 素数个数 进程数目 Paraleel Time Sequential Time
0 1000 168 16 0.00392103 0.000045061
1 2000 303 23 0.00455213 0.000077009
2 4000 550 32 0.00591898 0.000188828
3 8000 1007 32 0.00641418 0.000288963
4 16000 1862 32 0.00623393 0.000584841
5 32000 3432 32 0.00634909 0.001288890
6 64000 6413 32 0.00835586 0.002485040
7 128000 11987 32 0.00759101 0.004801030
8 256000 22525 32 0.01062920 0.011015900
9 512000 42445 32 0.01356720 0.020990800

About

利用MPI实现并行的线性筛数法

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages