如何使用本地版本的openMP? (GOMP)

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

我想对我从 (git repo) 下载的 GOMP 库进行一些更改(只是暂时打印一些内容)[https://github.com/gcc-mirror/gcc.git%5C]但似乎我所做的并不是很有效,因为执行我的代码时没有打印。

下载 GCC 并将其构建在

build/
文件夹中后,我尝试做的事情是调用
make -j'nproc'
,然后从这里调用
make install
我尝试在
gcc/build/install/gcc -o test - test.c
结束时使用我的 GCC 版本,所以我开始修改 LIBGOM target.c 文件并在一个函数中放入一些打印内容,我确信它被称为(由 callgrind 检查)“GOMP_target_ext”,所以我再次调用了这两个 make 命令并再次编译,但我的更改没有对其有任何影响。所以我试着打电话给
gcc/build/install/bin/gcc -o test  -fopenmp test.c
,这也没有太大改变。 我认为这可能是我在代码中调用 OpenMP 的方式,因此我将
#include "omp.h"
更改为
#include <omp.h>
但又什么都没有。我错过了什么?

gcc parallel-processing openmp gnu libgomp
1个回答
0
投票

在 Unix/Linux 上,您可以使用

LD_PRELOAD
环境变量强制加载您的库,其他库由
ld
加载。通过弱链接,您甚至可以覆盖稍后加载的库中的符号(例如您自己的
malloc
)。

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