Я пытаюсь запустить 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 (или другой индикатор ), указывающий на то, что процесс использует несколько ядер.
Есть ли способ проверить, работает ли он на нескольких ядрах?