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

How to use a local version of openMP? (GOMP)

提问人:matteo cocciniglia 提问时间:11/11/2023 最后编辑:matteo cocciniglia 更新时间:11/11/2023 访问量:26

问:

我想对我从 git 存储库下载的 GOMP 库进行一些更改(只是暂时打印一些),但似乎我正在做的事情并不真正有效,因为在执行我的代码时没有打印。

下载 GCC 并将其构建到文件夹中后,我尝试做的是调用,然后从这里我尝试使用我的 GCC 版本,最后它起作用了,所以我开始修改 LIBGOM target.c 文件并在我非常确定称为(由 callgrind 检查)“GOMP_target_ext”的函数中放置一些打印,所以我再次调用了这两个 make 命令并再次编译,但我的更改没有对它的任何影响。所以我试着打电话,但也没有太大变化。 我认为可能是我在代码中调用 OpenMP 的方式,所以我已经更改为但什么都没有了。我错过了什么?build/make -j'nproc'make installgcc/build/install/gcc -o test - test.cgcc/build/install/bin/gcc -o test -fopenmp test.c#include "omp.h"#include <omp.h>

gcc 并行处理 openmp gnu libgomp

评论


答:

1赞 Vladimir F Героям слава 11/11/2023 #1

在 Unix/Linux 上,您可以使用 LD_PRELOAD 环境变量强制加载其他库。使用弱链接,您甚至可以覆盖稍后加载的库中的符号(例如您自己的库)。ldmalloc