我正在尝试以并行模式运行 LIBSVM,但是我的问题一般是在 OpenMP 中。根据LIBSVM FAQ,我使用#pragma 调用修改了代码以使用 OpenMP。我还通过添加 -fopenmp 参数修改了 Makefile(对于 un*x),因此它变为:
CFLAGS = -Wall -Wconversion -O3 -fPIC -fopenmp
代码编译得很好。我检查(因为它不是我的 PC)是否安装了 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
现在; 当我运行程序时,我没有看到任何速度改进。此外,当我使用“top”检查时,进程最多使用 %100 CPU(有 8 个内核),也没有 CPU 瓶颈(只有一个用户使用 %100 CPU),我希望看到更多%100(或不同的指标)该进程正在使用多个内核。
有没有办法检查它是否在多核工作?