gpt4 book ai didi

c - OpenMP:如何指定任务执行的频率

转载 作者:行者123 更新时间:2023-11-30 19:31:16 25 4
gpt4 key购买 nike

我遇到了以下问题。我有一个 4 核 CPU 和 2 个不同的任务 A 和 B。A 的工作负载明显高于 B,但是只需执行一次。 B的工作量很小,但a却要执行多次。

void A(int data) {
// do a lot
}

void B(int data) {
// do not so much
}

int main() {

int n = 100;

int data_a;
int data_b[n];

#pragma omp ?ONCE? // run task A once
A(data_a);
#pragma omp ?N_TIMES? // run task B n times
B(data_b[i]);

return 0;
}

如何告诉 OpenMP 在 4 核上并行运行 A 和 B?

最佳答案

首先,您的代码既没有并行部分,也没有 omp 任务指令。这取决于您如何创建任务。一段代码可以使用“单个”omp 指令执行一次。但是,就您的情况而言,很难确定您想做什么。没有循环,因此A和B将被执行一次。因此,请更新您的示例,然后我们将能够纠正它。

关于c - OpenMP:如何指定任务执行的频率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49128110/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com