Как определить, работает ли OpenMP?

Я пытаюсь запустить LIBSVM в параллельном режиме, но мой вопрос в целом в OpenMP. В соответствии сLIBSVM FAQЯ изменил код с помощью вызовов #pragma для использования OpenMP. Я также изменил Makefile (для un * x), добавив аргумент -fopenmp, чтобы он стал:

<code>CFLAGS = -Wall -Wconversion -O3 -fPIC -fopenmp
</code>

Код хорошо компилируется. Я проверяю (поскольку это не мой компьютер), установлен ли OpenMP:

<code>/sbin/ldconfig -p | grep gomp
</code>

и увидеть, что он, вероятно, установлен:

<code> libgomp.so.1 (libc6,x86-64) => /usr/lib64/libgomp.so.1
 libgomp.so.1 (libc6) => /usr/lib/libgomp.so.1
</code>

Сейчас; когда я запускаю программу, я не вижу каких-либо улучшений скорости. Кроме того, когда я проверяю с помощью "top" процесс использует не более 100% ЦП (имеется 8 ядер), также нет узких мест ЦП (только еще один пользователь с использованием 100% ЦП), я ожидал увидеть более 100% (или другой индикатор) этот процесс использует несколько ядер.

Есть ли способ проверить, что работает многоядерный?

Ответы на вопрос(2)

Ваш ответ на вопрос