Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Chuanjun_Z_Intel
Employee
134 Views

Disable AVX instruction on ATOM processor

A program uses MKL on an atom computer. It runs with correct results. However, when the Pin tool profiled the program, the Pin complained that an invalid instruciton: xgetbvwas found!.

The programwas compiled using both g++ and icpc with options: -march=atom, -xssse3_atom.
I did find AVX istructions in the profiles of the Pin. These AVX instruction comes from the MKL, I trie both dynamic and static library, neither worked.
Ihaveto use Pin to profile the code.
Please help.

0 Kudos
5 Replies
Gennady_F_Intel
Moderator
134 Views

Zhang, actually it doesn't matter which compiler has been used in that case.
Does your application work well? Do you have run time problem?
--Gennady
mecej4
Black Belt
134 Views

It appears that you are using a third party tool (PIN, which I have no knowledge about) that does not recognize one or more CPU instructions that were added to some recent processors.

If the message from PIN is just a warning, just ignore it. Otherwise, wait for the PIN developers to make the tool aware of the new instruction, or look for another suitable tool.
Chuanjun_Z_Intel
Employee
134 Views

Yes. The application work well on anATOM machine. No run time problem.

It is compiled andran on the ATOM machine. The sde (Pin) also ran on the same machine. I used the xed (pin) to generate the assemble code of the program, it has "xgetbv" instruction in the code.

The Pin tools can generate the traces for another application that dose not use the MKL on the ATOM machine.

Thanks.

Chuanjun_Z_Intel
Employee
134 Views

Hi,

The Pin tool is from Intel. The AVX instructions are really not supported by ATOM processor.
TimP
Black Belt
134 Views



The programwas compiled using both g++ and icpc with options: -march=atom, -xssse3_atom.
I did find AVX istructions in the profiles of the Pin.

I suppose it would be better to stay with documented options when using gcc. -x means choose a language (among those supported by gnu compilers) e.g -x c would specify c source code, over-riding any determination from the file. I don't know whether -march=atom has a sane meaning. If you look at other references, -march=core2 -mssse3 are options which have been reported in successful use for atom. Recommendations from Intel as well have been to use normal ssse3 settings, even with Intel compilers. If your goal was to find weaknesses in gcc's checking of unsupported options, this isn't the place to get those resolved, and that's a digression from the subject of pin tracing.
Reply