Como saber se o OpenMP está funcionando?
Eu estou tentando executar o LIBSVM no modo paralelo, no entanto minha pergunta está no OpenMP em geral. De acordo comFAQ do LIBSVMEu modifiquei o código com # pragma chamadas para usar o OpenMP. Eu também modifiquei o Makefile (para un * x) adicionando um argumento -fopenmp para que ele se torne:
<code>CFLAGS = -Wall -Wconversion -O3 -fPIC -fopenmp </code>
O código compila bem. Eu verifico (já que não é meu PC) se o OpenMP é instalado por:
<code>/sbin/ldconfig -p | grep gomp </code>
e ver que é, provavelmente, instalado:
<code> libgomp.so.1 (libc6,x86-64) => /usr/lib64/libgomp.so.1 libgomp.so.1 (libc6) => /usr/lib/libgomp.so.1 </code>
Agora; quando executo o programa, não vejo nenhuma melhoria de velocidade. Além disso, quando eu verifico com "top" o processo está usando no máximo% 100 CPU (existem 8 núcleos), também não há gargalo da CPU (apenas mais um usuário com% 100 de uso da CPU), eu esperava ver mais de % 100 (ou um indicador diferente) que o processo está usando vários núcleos.
Existe uma maneira de verificar se ele está funcionando com vários núcleos?