如何更好地理解 GCC 中某些指令的工作流程?

问题描述 投票:0回答:1

我目前正在开发一个项目,我需要更好地了解 GOMP 指令的 GCC 工作流程,并且我也想对源代码进行一些更改。 有这样做的最佳实践吗? 我应该重新编译整个 GCC 吗?

我已经搜索过如何构建我的 GCC,只是为了更改一些更改而这样做感觉有点过分

c gcc compiler-optimization gnu libgomp
1个回答
0
投票

如果您查看此处的 openmp 文档,特别是 openmp-examples-5.2.2.pdf,似乎 GOMP 使用 pragmas 向 gcc 编译器提供信息并注释其行为方式,而不是实际重写GCC 的源代码。我不是专家,所以如果我不在,请原谅我......这是我看到的一个例子:

#include <std.io>
#include <omp.h>

int main (void) {
    omp_set_nested(1);
    omp_set_dynamic(0);
    #pragma omp parallel
    {
        //should print whatever OMP_NUM_THREADS was set to.
        printf ("Inner: num_thds=%d\n", omp_get_num_threads());
    }
    #pragma omp barrier
    return 0;
}

您是否尝试使用 GOMP 将线程卸载到另一台设备?或者您只想在本地运行多线程?您具体想使用 GOMP 做什么? 希望我能帮上忙:)

© www.soinside.com 2019 - 2024. All rights reserved.