- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
Hi,
I am using the latest Linux Intel Fortran 14.0.1.
I compiled my code using the following options:
-O2 -vec-report0 -axSSE4.2 -assume buffered_io -warn noalignments -openmp
This code works fine on my computer. I gave the executable to another user who has AMD Opteron(tm) Processor 2384 CPU, and he told me that he is getting the following error message when he tries running the code:
"Please verify that both the operating system and the processor support Intel (R) X87, CMOV, MMX, FXSAVE, SSE and SSE2 instructions"
Does anyone know what the problem could be? I am using the -axSSE4.2 option, but from what I have read, it should still work. Should I remove -ax and try again?
Roman
コピーされたリンク
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
It looks like the cpu identification function is failing. If the -ax option runs into trouble identifying the CPU, -x might be expected to fail as well.
You might try building with -msse3, as that would be the latest Intel instruction set supported by that and other AMD CPUs of the last 7 years, then there should be no cpu identification, except possibly in the run-time library. You should be able to avoid any problems with run-time library by adding -imf-arch-consistency=true in the build options.
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
That should have worked. Are you absolutely certain that those are the exact options you selected? In particular, did you also add -fast? (You shouldn't.) Yes, try removing -ax but if adding -ax gives this error then we may have a bug. Let me know what you find.
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
That error message ought not to be displayed when -ax is used. For non-Intel CPUs, it would simply take the generic code path (which is SSE2 by default, changeable with -m). If this is not working correctly, we want to know about it.
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
I have just checked, and the options I told you about previously are the ones used to compile and link all source files. I'll try without the -ax and see what happens. Sorry, but it is difficult for me to debug this since I don't have access to a computer with AMD CPU, and the person who wants to run my code is on a different continent. I will let you know what happens.
Roman
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
Thanks. We'll do some testing on our own. We do regularly test on Opterons so it seems improbable that we'd have introduced a bug here, but one never knows. For my benefit, would you please do a test compile with the options you stated and add -watch - then attach the console output from that compile.
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
After removing the -axSSE4.2 option, I was told that the code now works on the Opteron computer.
I have recompiled everything with the original options and -watch. The output is attached. I have checked, and the compiled executable is identical to the one that produced the above error message.
Roman
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
Thanks - I'll have the developers check this out. Would you be willing to provide us with the executable? You can do it here, use "Send Author a Message" for more privacy, or use Intel Premier Support (please ask that the issue be assigned to me.)
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
One more question - do you know if your customer is running this under a virtual machine? I know some VMs deliberately mis-report the CPU capabilities.
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
Please ask your customer to download and run CPU-Z in the environment where the application is run, and to send you a screenshot of the first screen (as shown on the web site). Then attach that here.
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
CPU-Z in a Windows, not Linux utility. Would the output of /proc/cpuinfo be useful?
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
Oh, right. Sorry. I see that Linux has a cpuid command - maybe that would help. I want to see what the processor says its capabilities are. And if you can get an answer to the VM question that would help.
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
Thanks - that was helpful. I will now escalate this to the developers fror investigation. Issue ID is DPD200249585.
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
If you add -msse2 (along with -axSSE4.2), it should work. I'm discussing this with the developers now.
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
I removed my previous reply as it may not end up being correct. The workaround I suggested is valid. Stay tuned.
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
Ok, final answer. This is a bug and is expected to be fixed in Update 2, scheduled for January. Adding -msse2 is a workaround for 32-bit compiles. You may need to use -msse3 for 64-bit.
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
Thanks for the information. Do you know if this bug also exists in the Windows Fortran compiler, or is it only in Linux?
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
It exists on Windows as well. On Windows, use /arch:sse2 or /arch:sse3 as workarounds.
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
Hi !
It seems it isn't fixed.
I'm using latest ICC.
I've built my app with /fast /QxAVX. But when I try to start it it shows:
Please verify that both the operating system and the processor support Intel(R) X87, CMOV, MMX, FXSAVE, SSE, SSE2, SSE3, SSSE3, SSE4_1, SSE4_2, POPCNT and AVX instructions.
My CPU is AMD FX-8350. And the app works well if I use MSVC with /arch:AVX.
Please, stop this CPU discrimination.