Я хочу включить трассировку во время выполнения и посмотреть вывод. Что-то вроде вывода
KD_TRACE(10, ( buff, gtid, schedule, chunk, lb, ub, st ) );
в kmp_dispatch. cpp
См. Это https://elixir.bootlin.com/llvm/latest/source/openmp/runtime/src/kmp_dispatch.cpp#L624
Итак, пока я следовал следующий учебник: https://passlab.github.io/CSE436536/Assignments/project_dev_setup.html Но я не могу увидеть какие-либо выходные данные из трассировщика.
Есть ли определенный файл или что-то, где выходные данные регистрируются? Или он зарегистрирован в терминале?
Я компилирую программу openMP следующим образом:
clang omp1.c -L/PATH/llvm_work/openmp/BUILD/runtime/src -o omp1
ldd omp1
Это вывод:
linux-vdso.so.1 (0x00007ffdae305000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fca2f3bb000)
/lib64/ld-linux-x86-64.so.2 (0x00007fca2f7ac000)
Я надеюсь, что это используя OpenMP, я имею сборку из исходного кода, а не libomp.
omp1. c:
#include<stdio.h>
#include "omp.h"
int main()
{
int i=0;
#pragma omp parallel for schedule(static)
for(i=0;i<1000;++i)
{
int x = 4+i;
}
}
Но когда я пытаюсь запустить эту программу, используя та же команда, я получаю сообщение об ошибке.
/tmp/omp2-d969a9.o: In function `main':
omp2.c:(.text+0x1c8): undefined reference to omp_set_num_threads
clang-11: error: linker command failed with exit code 1 (use -v to see invocation)
Может кто-нибудь помочь мне с правильной компиляцией программ openMP с кодом openMP, который я собрал из исходного кода, а также с использованием tracer?
Спасибо .