How to analyse the SPEC CPU2006 Benchmarks with INTEL Vtunes

How to analyse the SPEC CPU2006 Benchmarks with INTEL Vtunes

Hi,
I am trying to analyse the processor performance using SPEC CPU2006 Benchmarks and INTEL Vtunes.

I chose a benchmark (470.lbm which is in C language) and generated binary using the SPEC provided tools, as follows:

1) runspec --fake --loose --size test --tune base --config my_test lbm

2) specmake

Once the executable (binary) is generated I created a new project in the standalone GUI of Intel Vtune, choosing the above generated binary as the target application. The analysis type was "Intel Core 2 Family - General Exploration".

But when I started the new analysis, Vtune could not run the binary and gave the following error:
syntax: lbm <0: nil, 1: cmp, 2: str> <0: ldc, 1: channel flow> []

Can anyone please explain me the procedure of carryout processor performance analysis using Intel Vtunes and SPEC CPU2006 benchmark.
Please Help me.

Regards,
Raju

18 Beiträge / 0 neu
Letzter Beitrag
Nähere Informationen zur Compiler-Optimierung finden Sie in unserem Optimierungshinweis.
Best Reply

Once your SPEC 2006 is running, check process id that you hope to profile, then in other console (I assume that the directory is same as SPEC 2006's running) do -

run C:\Program Files (x86)\Intel\VTune Amplifier XE 2011\amplxe-vars.bat on Windows, or
source /opt/intel/vtune_amplifier_xe_2011/amplxe_vars.sh

amplxe-cl -collecthotspots -durationN -r r0001hs -target-pid pid
// if N is bigger value, you can stopmanually, in other console
amplxe-cl -command detach -r r0001hs

You can use amplxe-gui to open result generated in command line.

Regards, Peter

Hi Peter,

Thank you very much.

I executed spec cpu 2006 benchmark and got its process id. Then in another console I entered the command:

amplxe-cl -collecthotspots -duration 1000 -r r0001hs -target-pid pid

The follwoing details are displayed:

Executing actions 75% Generating a report

Summary
Elapsed time : 2.832
CPU time : 1.032
Executing actions 100% done

What I observed is, by the time I entered amplxe command, almost 25% execution of the benchamrk was got over. Therefore I think profiling the benchmark was not done 100%. Is it possible to begin the execution of amplexe and the benchmark program together so that profiling would be complete.

Also what does the duration in the amplxe command stand for? ( I simply assumed it to be 1000)

Please help.

Regards
Raju

Hi Raju,

As you said, only 25% execution of benchmark was got over...probably benchmark ran shortly, duration 1000s was ignored since application exited. We may work in this way:

1. First console:
runspec --fake --loose --size test --tune base --config my_test lbm
specmake

2. Second console:
amplxe-cl -collecthotspot -duration1000 -target-process specmake

Press in first console, quickly press in second console - Hopefully more execuation25% of benchmark will be done.

Regards, Peter

Hi,

It works.... Thanks a lot...

Regards,
Raju

Hi,

I want to do the similar type of analysis using Vtune performance analyzer. I am using windows 7 O.S. I have already compiled the SPEC CPU2006 Benchmarks and I have the exe files of all the benchmarks of both speed and rate. Now how do I use it in the Vtune Performance analyzer. Please can ayone help me

leena

>  Now how do I use it in the Vtune Performance analyzer

VTune(TM) Peformance Analyzer is an old product, end of life. Please use recent product, VTune(TM) Amplifier XE 2013. 

Hi Peter,

I am using the Vtune Amplifier for analyzing the performance of the three different processor. I have compiled the SPEC Benchmarks and got the binaries.I just want to know that, do I have to use the binary obtained after the compilation of SPEC Benchmark as the application file in the Vtune aplifier ? I have the trouble at the starting point. Like what kind of file I should be using when I start a new analysis.

leena

> .I just want to know that, do I have to use the binary obtained after the compilation of SPEC Benchmark as the application file in the Vtune aplifier ?

It is not difficult to create a new project on GUI, then specify a launched application which is you run SPEC Benchmark - for example, meanwhile you can set arguments for your app, working directory, etc. Then you can start a new analysis...have a try! 

Hi peter,

I am using Vtune amplifier on windows 7. And I already have the binaries that I got after compilation. I just have have to choose these binaries as the application file right ? I don't need to do both the things parallely like compiling the benchmarks and running on Vtune amplifier as in Linux. In the previous posts of the same topic, its been said that we have have to do both simultaneously.

Please can you make it clear about this...

Thanks,

Leena

leena

>> I just have have to choose these binaries as the application file right ? I don't need to do both the things parallely like compiling the benchmarks and running on Vtune amplifier as in Linux

Yes. Just choose the benchmark binary then VTune Amplifier will execute/profile it.

VTune Amplifier is not responsible to compile your benchmark...

Hello Peter,

When I start a new project, after naming it, another window opens and it asks to choose the application file. After choosing a binary for that, there is one option below that to choose the application argument. What does it mean ? it says "modify" beside it. 

I want to do analysis for the general exploration. I tried a sample and I could see the result file in which I could get only info about CPI,Clock rate unhalted, LLC, Branch_mispred. but I could not find the rest of the info. 

Please can you tell me correct procedure that I have follow. Because the results what I got was not sufficient.

Regards,

Leena

leena

Hello Peter,

When I start a new project, after naming it, another window opens and it asks to choose the application file. After choosing a binary for that, there is one option below that to choose the application argument. What does it mean ? it says "modify" beside it. 

I want to do analysis for the general exploration. I tried a sample and I could see the result file in which I could get only info about CPI,Clock rate unhalted, LLC, Branch_mispred. but I could not find the rest of the info. 

Please can you tell me correct procedure that I have follow. Because the results what I got was not sufficient.

Regards,

Leena

leena

>> ... there is one option below that to choose the application argument. What does it mean ? it says "modify" beside it. 

You can input arguments of your application, if have. "modify" button assists you to put file or path as arguments - you might use this, if your arguments are strings.

>> I could get only info about CPI,Clock rate unhalted, LLC, Branch_mispred. but I could not find the rest of the info.

Other field with zero data meant that associated events never occurred or less occurred in your application. 

Hi Peter,

I could get the result files based on their type of analysis I choose. But I could not find out how to get the value of mico-ops/inst. I selected the cycles & micro-ops option for analysis and tried with all 4 types of select view-point (Hardware data events). I found 0 for micro-ops.retired and other events related to micro-ops. Is there any other way to choose the option ? Please help me with this.

leena

You may select "Cycles and uOps" analysis, should see result (non-zero) of Hardware Event Counts view-point in column named UOPS_RETIRED.ALL_PS.  Note that one instruction consists of multiple micro-ops...

Actually, the Cycles and uOps analysis type doesn't work on some platforms.  We are moving away from those analysis types and putting more focus on General Exploration.  You should use GE to collect the data and then switch to the Hardware Event Counts viewpoint to look at specific events, such as uOps (depending on the processor and availability of such events).

Regards, MrAnderson

Kommentar hinterlassen

Bitte anmelden, um einen Kommentar hinzuzufügen. Sie sind noch nicht Mitglied? Jetzt teilnehmen