在Ubuntu 14.04下的Qt Creator 3.1.2下使用QT5.3.1进行OpenMP

时间:2014-09-16 07:07:59

标签: qt ubuntu openmp

所有

工作环境:

  • 操作系统:Ubuntu 14.04
  • Qt:5.3.1
  • Qt Creator:3.1.2
  • gcc / g ++:gcc版本4.8.2(Ubuntu 4.8.2-19ubuntu1)

整个项目非常简单:

1)test.pro

TEMPLATE = app
CONFIG += console
CONFIG -= qt

SOURCES += main.cpp

QMAKE_CXXFLAGS += -fopenmp
QMAKE_LFLAGS +=  -fopenmp
LIBS += -lgomp -lpthread

2)main.cpp

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

void test()
{
    int a = 0;
    clock_t t1 = clock();
    for (int i = 0; i < 100000000; i++)
    {
        a = i + 1;
    }
    clock_t t2 = clock();
    printf("Time = %d\n", t2 - t1);
}

int main(int argc, char* argv[])
{
    clock_t t1 = clock();
#pragma omp parallel for
    for (int j = 0; j < 2; j++)
    {
        test();
    }
    clock_t t2 = clock();
    printf("Total time = %d\n", t2 - t1);
    test();
    return 0;
}

测试结果: 1)#pragma omp parallel for

Time = 443989
Time = 448263
Total time = 463749
Time = 226997

2)没有#pragma omp parallel for

Time = 216945
Time = 208459
Total time = 425435
Time = 208400

在这种情况下,使用OpenMP似乎会减慢整个程序的速度。

但是,在Windows 8.1 Visual Studio中给出了不同的结果。

干杯 培

0 个答案:

没有答案