Как узнать, работает ли OpenMP?

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

CFLAGS = -Wall -Wconversion -O3 -fPIC -fopenmp

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

/sbin/ldconfig -p | grep gomp

и вижу, что он -возможно -установлен:

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

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

Есть ли способ проверить, работает ли он на нескольких ядрах?

9
задан paul simmons 7 May 2012 в 11:55
поделиться