Этот код тестирования OpenMP полностью не работает. В начале параллельной области должно быть что-то вроде этого:
th_id = omp_get_thread_num();
Он получает идентификатор вызывающего потока и представляет собой число, которое варьируется от 0 до числа потоков, выполняющих параллельную область, минус 1 , с 0, соответствующим основному потоку.
Опять же, этот код действительно не работает и, кажется, был переведен с Фортрана. Доступ к массиву вне границ:
int th_count[4];
...
#pragma omp parallel private(th_id)
{
...
if (th_id == th_count[4]) {
...
}
Я бы сказал, что вам следует просто отказаться от теста Myocyte.