【发布时间】:2023-03-17 02:23:01
【问题描述】:
我正在使用 LLVM 使用 parseInputIR(inputIR) 函数读取 IR 文件;编译它们并执行它们,类似于 llvm 的 Kaleidoscope 示例中所做的。 但是,这样做时我收到错误,抱怨 omp_get_num_procs 不知道如下
clang/bin/Kaleidoscope-Orc-fully_lazy_with_recompile_try prime_toy/main.bc prime_toy/prime_number.bc LLVM 错误:程序使用了无法解析的外部函数“omp_get_num_procs”!
其中一个 IR 文件包含 omp 指令,因此必须链接到 omp 库。我应该使用 dlsym 在 llvm 中添加这种支持。
我的问题是关于 libgomp 版本的 - 我想我需要使用来自 llvm (http://openmp.llvm.org/) 的 openmp 库 但我没有在其中看到 omp_get_num_procs(只有带后缀的),我想知道为什么。
nm llvm_openmp/openmp/runtime/build/runtime/src/libgomp.so | grep omp_get_num_procs
0000000000067369 t __kmp_api_omp_get_num_procs
0000000000068180 t __kmp_api_omp_get_num_procs_
0000000000067369 t __kmp_api_omp_get_num_procs_10_alias
0000000000068180 t __kmp_api_omp_get_num_procs__10_alias
0000000000067369 T omp_get_num_procs@@VERSION
0000000000067369 T omp_get_num_procs@OMP_1.0
0000000000068180 T omp_get_num_procs_@@VERSION
0000000000068180 T omp_get_num_procs_@OMP_1.0
【问题讨论】:
标签: compilation clang llvm libgomp