Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.

Disable AVX instruction on ATOM processor

Chuanjun_Z_Intel
Employee
459 Views

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
459 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
0 Kudos
mecej4
Honored Contributor III
459 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.
0 Kudos
Chuanjun_Z_Intel
Employee
459 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.

0 Kudos
Chuanjun_Z_Intel
Employee
459 Views
Hi,

The Pin tool is from Intel. The AVX instructions are really not supported by ATOM processor.
0 Kudos
TimP
Honored Contributor III
459 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.
0 Kudos
Reply