OpenMP的简单测试 并行化

这篇博客展示了如何在C++程序中使用OpenMP进行并行化处理。通过一个简单的例子,演示了如何获取处理器数量,分配任务给各线程,并计算累加值,以此来提高计算效率。同时,文章还指出需要确保编译时开启OpenMP支持。
摘要由CSDN通过智能技术生成

//测试之前要开启OpenMP支持

#include<iostream>

#include<omp.h>

using namespace std;


int main(){

    int num_procs = omp_get_num_procs();
    cout << "num procs: " << num_procs << endl;
    long long count = 0;
    long long* array = new long long[num_procs];
    for (int i = 0; i < num_procs; i++){
        array[i] = 0;
    }
    double start = omp_get_wtime();
#ifdef _OPENMP                                         //此处可判断是否开启OpenMP支持
    #pragma omp parallel for                     //注释串行执行否则并行执行
#endif
    for (int i = 0; i < num_procs; i++){
        int thread_num = omp_get_thread_num();
        cout << "thread num: " << thread_num << endl;
        for (int j = 0; j < 1000000000; j++){

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值