Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.

why so large difference hanppens ?

frogsu
Beginner
374 Views


Dear IPP Technologist:
Im greatly appreciated that you will pay attention to my technique questions. Im a student from SJTU university and major in Information Engineering. Our lab buy the product of IPP 5.1 software. Recently I make use of Intel IPP software to do signal demodulation application, but meet a problem which puzzles me for a long time.
I made a test to run a demodulation procedure which adopts IPP signal processing library on the two servers whose configurations are listed whereafter respectively. The test conditions is shown as follows:

Software Operating System: Windows Server 2003 Professional Edition
Programming Software: Visual Studio 2005
IPP Version: IPP Version 5.1 and IPP Trial Version 6.1

Server Configuration

ServerType CPU Type Memory Type
HP ProLiant DL380 G4 Intel Xeon CPU 3.60GHZ 2 cores 4GB DDR2
PowerLeader P2310N Intel Xeon CPU E5520 @2.27GHZ4 cores 4GB DDR3

The IPP signal processing functions I have uesed in the procedure are listed
ippsCos_64f_A53
ippsFIRGenBandpass_64f
ippsZero_64f
ippsFIRInitAlloc_64f
ippsFIRGenLowpass_64f
ippsConvert_16s64f_Sfs
ippsFIRSetDlyLine_64f
ippsFIR_64f
ippsFIRGetDlyLine_64f
ippsMul_64f
ippsSampleDown_64f
ippsConvert_32f16s_Sfs
ippsConvert_64f32f
ippsFIRFree_64f
ippsFree
ippsMalloc_64f

Test Results

Server Type Integer Operation Efficiency Float Operation Efficiency Memory Bandwidth
HP ProLiant DL380 G4 17.52GIPS 21.45GFLOPS 3.36GB/s
PowerLeader P2310N 93.64GIPS 66.68GFLOPS 15.19GB/s

If the procedure runs in a single process way, the test results shows that the PowerLeader server performance is better than Hp server for the reason of consuming much less time. However, If the procedure runs in multiple processes or a single process using multiple threads way, the test results show that the efficiency of PowerLeader server is about 10 times slower than the HP server, whats more, under the condition of the same number of the threads, the demdoulation procedure shows much higher taking rate of CPU than HP server.
I am eager to know why the case above happens, or if there is something wrong with the IPP library that supports the hardware type of PowerLeader.
Im looking forward to your reply. Many thanks !

Sincerely yours
David.suwq
2009.7.6

0 Kudos
3 Replies
Chao_Y_Intel
Moderator
374 Views

David,

Both of the servers you listed before are supported by Intel IPP. We are not clear how you are measure the performance:

Intel IPP has a performance tools. You can use this tool to measure the performance:
http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-using-the-performance-tool/

Please check if there is any problem on each of the servers.

Thanks,
Chao
0 Kudos
frogsu
Beginner
374 Views
Quoting - Chao Yu (Intel)

David,

Both of the servers you listed before are supported by Intel IPP. We are not clear how you are measure the performance:

Intel IPP has a performance tools. You can use this tool to measure the performance:
http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-using-the-performance-tool/

Please check if there is any problem on each of the servers.

Thanks,
Chao

Dear Chao,
I measure the performance by running the demodulation procedure that makes use of IPP signal processing library on both servers to get the calculating time.
In my opinion, the PowerLeader server performance is better than Hp server for the reasons listed below:
Server Type Integer Operation Efficiency Float Operation Efficiency Memory Bandwidth
HP ProLiant DL380 G4 17.52GIPS 21.45GFLOPS 3.36GB/s
PowerLeader P2310N 93.64GIPS 66.68GFLOPS 15.19GB/s
Butwhat puzzles me is thatthe demodulation procedure that makes use of the IPP signal processing library runnig inthe PoweLeader server gets the poorer performance than that running in HP.
Besides, in the Intel IPP user's guide, I find the words as follows:
For processors with more than two cores, a special OpenMP enviroment variable must be set:
KMP_AFFINITY = compact
Otherwise, the performance may degrade significantly.
I'm eager to know how to set this environment variable.Could you tell me that.

Many thanks!

David.suwq

0 Kudos
Vladimir_Dudnik
Employee
374 Views
Setting of environment varibales is pretty easy on windows. You may set variable temporarily, just for current command line session by invoking set KMP_AFFINITY=compact command in command line window. The setting will affectthis command line session only. So, if you launch your test from this command line window it will work with this variable set.
To set environment variable on persistent base please check with Windows documentation.

Vladimir
0 Kudos
Reply