OpenMPI 1.4.3与英特尔MPI效率问题

时间:2011-07-12 23:43:08

标签: compiler-construction performance mpi parallel-processing

我注意到完全相同的代码在OpenMPI上运行的时间比英特尔多50%。我使用以下语法编译并运行:

英特尔MPI编译器:Redhat Fedora Core版本3(海德堡版),内核版本:Linux 2.6.9-1.667smp x86_64

 mpiicpc -o xxxx.cpp <filename> -lmpi

OpenMPI 1.4.3 :( Centos 5.5 w / python 2.4.3,内核版本:Linux 2.6.18-194.el5 x86_64)

 mpiCC xxxx.cpp -o <filename

MPI运行命令:

 mpirun -np 4 <filename> 

其他硬件规格

processor       : 0
vendor_id       : GenuineIntel
cpu family      : 15
model           : 3
model name      : Intel(R) Xeon(TM) CPU 3.60GHz
stepping        : 4
cpu MHz         : 3591.062
cache size      : 1024 KB
physical id     : 0
siblings        : 2
core id         : 0
cpu cores       : 1
apicid          : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 5
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36    
clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall lmconstant_tsc pni monitor ds_cpl est tm2   
 cid xtpr
 bogomips        : 7182.12
clflush size    : 64
cache_alignment : 128
address sizes   : 36 bits physical, 48 bits virtual
power management:

可以从上述信息中解读效率问题吗?编译器标志是否会影响模拟的效率。如果是这样,那么检查要包含在Open MPI中的标志可能是有用的。包含MPICH2会增加使用OpenMPI运行模拟的效率吗?

1 个答案:

答案 0 :(得分:1)

OpenMPI是否配置为使用与Intel MPI编译器相同的编译器?您的OpenMPI可能使用gcc,这解释了差异。如果OpenMPI使用与Intel MPI编译器相同的编译器,请确保两者使用的编译器优化标志相同。