C++ 18 / DLL / With optimization doesn't work on all systems

C++ 18 / DLL / With optimization doesn't work on all systems

Hi, we compile (C++ 18) a DLL that contains a lot of HPC code with a bunch of otpimizations. The problem is that it doesn't work on all systems.

It works on an Xeon X5482 but not on a Core I7-2720QM system and not on a Xeon E5-2696V3 system. All should support at least SSE4.1, which we use, so that shouldn't make a difference.  Any idea about the cause? Or how to track this down?

Viele Grüsse. Robert

 

Robert M. Münch, CEO, Saphirion AG
6 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

You would need to build with /arch:SSE4.1 set so as not to check cpu arch or require newer ISA.

@Tim: I'm building with  /QxSSE4.1 which I assume is the same. Or is there anything else to consider? Because the app works on an Intel Core i7 (4770HQ, 4870HQ, 4980HQ) ("Haswell") as well.

Viele Grüsse.

Robert M. Münch, CEO, Saphirion AG

You haven't been specific about your failure. If QxSSE4.1 is failing architecture check on an Intel cpu it seems a reportable problem but then the /arch: option should work.

I'm still not sure I fully understand. Is /arch:SSE4.1 something different than /QxSSE4.1? Or do you mean using a different architecture than SSE.41? But all processors should support it or not?

[after some RTFM I found]:

On Windows systems, options /Qx and /arch are mutually exclusive.

/Qx produces binaries that display a fatal run-time error if they are executed on unsupported processors, including all non-Intel processors (!!). The code does a CPU check and fails if it's not an Intel CPU. With /Od (Windows*), no CPU check is performed but may result in undefined behavior. 

/arch produces binaries that should run on processors not made by Intel that implement the same capabilities as the corresponding Intel processors.

Robert M. Münch, CEO, Saphirion AG

with /QxSSE4.1: it should work on all Intel processors supporting SSE4.1.

could you file a bug report at Intel Online Service center?

https://software.intel.com/en-us/articles/how-to-create-a-support-request-at-online-service-center

Jennifer

Leave a Comment

Please sign in to add a comment. Not a member? Join today