[osg-users] [ANN] Windows Binaries of OSG 3.4.0 : Visual C++ 2015 and Intel C++ 2016

Stuart Mentzer osgforum at tevs.eu
Thu Apr 28 15:11:17 PDT 2016


Hi Sebastian,


SMesserschmidt wrote:
> Can you elaborate on the specific versions used for the 3rd-party libraries? Especially if you compiled against Qt and possibly which version.


I built against Qt 5.6 and osgQt was built. I used the latest version of dependencies:
curl 7.48.0
freetype 2.6.3
giflib 5.1.4
glut 3.7
libjpeg 9b
libpng 1.6.21
libtiff 4.0.6
minizip GitHub tip
zlib 1.2.8


> Interesting, can you point to some sources why the /fp:fast is needed 
> for auto-vectorization? I'm pretty sure I've seen at least SSE2 
> vectorization on some meta-programming matrix code of mine. Precision 
> is  a real issue for me, so forgive my skepticism.


Yes, it is hard to find the documentation on this. The "fast" option is required for floating point loops to fully auto-vectorize because vectorization can reorder operations, thus breaking strict IEEE rules. Similarly, if you put #pragma simd on a loop it will enable "fast" for you. A reference for this with VC++ is:
https://blogs.msdn.microsoft.com/vcblog/2015/10/19/do-you-prefer-fast-or-precise/  (see A7. Auto-Vectorization)
For Intel C++ one reference is the comment by Tim P. (who knows Intel compilers) in:
https://software.intel.com/en-us/forums/intel-c-compiler/topic/508146
where he says "/fp: options other than fast prevent vectorization which depends on optimizing order of operations"

It is probably most accurate to say that some vectorization is possible without the "fast" options but avoiding associativity limits vectorization. I'm not sure if /fp:fast=1 gives the full auto-vectorization with less precision loss. It would be good to have an option that allows reordering for loop vectorization but still uses the full precision math library calls, but I don't think that exists. I get the sensitivity to precision, which is why I'm trying to indicate that this first Intel C++ build is sort of experimental. Once we give it a workout and see the positive and negative effects of various options we'll know better what build variations are worth providing.

Regards,
Stuart

------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=67017#67017








More information about the osg-users mailing list