首页 > Windows开发 > 详细

windows下codeblocks配置openmp

时间:2015-11-01 22:36:06      阅读:424      评论:0      收藏:0      [点我收藏+]

使用vs直接到setting里面设置即可支持openmp了,然而我太懒了装了个codeblocks with mingw版本

本来gcc4.4后就完全支持openmp了,结果codeblocks怎么配置都提示-fopenmp这些找不到。 

搞了一上午终于发现,虽然mingw支持openmp但是在codeblocks安装过程中并不让装这些组件,需要自己装个tdm-gcc with mingw,蛋疼╮(╯▽╰)╭

 

配置流程:

1)下载tdm-gcc,安装的时候注意默认openmp支持是没有勾选的,记得勾选起来,要么安装全部组件...

    路径的话安装的时候会自己配置,没有的话自己搞一下

2)安装codeblocks(不用带mingw了)

3)Settings->compiler里设置codeblocks编译器路径

技术分享

4)Setting->compiler->Compiler settings->other options里输入-fopenmp

    Setting->compiler->linker settings->other linker options里输入-lgomp -lpthread

技术分享技术分享

5)至此配置完毕_(:зゝ∠)_ 写一下代码试试看

#include "omp.h"
#include <iostream>
#include <time.h>

void test()
{
      int a = 0;
      for (int i=0;i<100000000;i++)
          a++;
}


int main()
 {

    clock_t t1 = clock();
     for (int i=0;i<8;i++)
         test();
     clock_t t2 = clock();
     std::cout<<"sequential time: "<<t2-t1<<std::endl;

    clock_t t3 = clock();
    #pragma omp parallel for
     for (int i=0;i<8;i++)
         test();
     clock_t t4 = clock();
     std::cout<<"parallel time: "<<t4-t3<<std::endl;

     return 0;
 }

  运行结果发现串行和并行运行时间还是有区别的!

技术分享

还有一点是编译时候我是debug模式编译的,用release模式编译时间就全部都是0了(因为速度太快了....)

   

    

windows下codeblocks配置openmp

原文:http://www.cnblogs.com/IvanSSSS/p/4928783.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!