小编Yu-*_*Lai的帖子

LLVM如何使用运行时库调用转换OpenMP多线程代码?

当我研究LLVM OpenMP运行时库文档时,我发现有一个关于工作共享的示例:

extern float foo( void );
int main () {
    int i;
    float r = 0.0;
    #pragma omp parallel for schedule(dynamic) reduction(+:r)
    for ( i = 0; i < 10; i ++ ) {
        r += foo();
    }
}
Run Code Online (Sandbox Code Playgroud)

然后它显示转换后的代码如下:

extern float foo( void );
int main () {
    static int zero = 0;
    auto int gtid;
    auto float r = 0.0;
    __kmpc_begin( & loc3, 0 );
    // The gtid is not actually required in this example …
Run Code Online (Sandbox Code Playgroud)

openmp llvm clang intel-mkl

5
推荐指数
1
解决办法
155
查看次数

标签 统计

clang ×1

intel-mkl ×1

llvm ×1

openmp ×1