Почему ошибка сегментации происходит в этой ситуации? OpenMP проблемы

Модуль расширения kjbuckets C предоставляет структуру данных «graph», которая, как я считаю, дает вам то, что вы хотите.

3
задан L.C. 13 March 2019 в 16:04
поделиться

1 ответ

Проблема в том, что вы вызываете

threadCount = omp_get_num_threads();

вне параллельного блока, так что это 1, и ваш цикл внутри

mulMatrAndVecMP(vec1, A, z, (threadNum * N) / threadCount, N / threadCount, N);

выходит за пределы.

Установка

threadCount = 4 

вместо этого должна решить вашу проблему.

Как вы можете прочитать здесь , вызов возвращает количество потоков в текущей команде, а текущей команды нет.

Редактировать: будьте осторожны, если N не делится на количество потоков: ваш код пропускает некоторые строки умножения.

0
ответ дан L.C. 13 March 2019 в 16:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: