OpenSceneGraph Forum Forum Index OpenSceneGraph Forum
Official forum which mirrors the existent OSG mailing lists. Messages posted here are forwarded to the mailing list and vice versa.
 
   FAQFAQ    SearchSearch    MemberlistMemberlist    RulesRules    UsergroupsUsergroups    RegisterRegister 
 Mail2Forum SettingsMail2Forum Settings  ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 
   AlbumAlbum  OpenSceneGraph IRC ChatOpenSceneGraph IRC Chat   SmartFeedSmartFeed 

Windows Binaries of OSG 3.4.0 : Visual C++ 2015 and Intel C++ 2016


 
Post new topic   Reply to topic    OpenSceneGraph Forum Forum Index -> Announcement [ANN]
View previous topic :: View next topic  
Author Message
DeadParrot (Stuart Mentzer)
User


Joined: 28 Nov 2010
Posts: 43

PostPosted: Thu Apr 28, 2016 8:09 pm    Post subject:
Windows Binaries of OSG 3.4.0 : Visual C++ 2015 and Intel C++ 2016
Reply with quote

Hello dear OSG-community,

OSG 3.4.0 Windows binaries built with Visual C++ 2015 and Intel C++ 2016 are now available from this page on my company's site:
http://objexx.com/OpenSceneGraph.html

A ReadMe.txt file in the root directory of the expanded package has some details.

These are 64-bit builds with the default GL2 OpenGL level and these dependencies: curl, freetype, giflib, glut, jpeg, lpng, minizip, tiff, zlib. We can add other plugins (GDAL, Collada, ...) based on community interest.

There is a vanilla VC++ build and also builds optimized for AVX2 (Haswell and later) CPUs. We are going to do some performance comparisons to see if the AVX2 and/or Intel C++ are beneficial for our application: we also welcome feedback on performance from the community.

The Intel C++ build should be binary compatible with VC++ 2015 so you don't need Intel C++ to use it. Note that it was built with /fp:fast=2 to enable auto-vectorization of floating point loops: this could cause small precision loss that might matter with larger/geo distance scales. If vectorization isn't significant/beneficial this option may be dropped: input on this is welcomed.

We hope to do some OSG profiling and experiment with tuning on the Windows side with VTune: if we find anything interesting we'll post it on our OSG page and submit code back to the developers.

We don't have a need for 32-bit builds or older compilers but feel free to ask Wink .

Since we need these ourselves we plan to post binaries for future OSG and compiler releases as a way to give back to the OSG community.

Best regards,
Stuart
Back to top
View user's profile Send private message
SMesserschmidt (Sebastian Messerschmidt)
Forum Moderator


Joined: 10 Sep 2013
Posts: 720

PostPosted: Thu Apr 28, 2016 8:43 pm    Post subject:
Windows Binaries of OSG 3.4.0 : Visual C++ 2015 and Intel C++ 2016
Reply with quote

Hi Stuart,

First of all: Thank you for giving something back to the community.
Can you elaborate on the specific versions used for the 3rd-party
libraries? Especially if you compiled against Qt and possibly which version.
Quote:
Hello dear OSG-community,

OSG 3.4.0 Windows binaries built with Visual C++ 2015 and Intel C++ 2016 are now available from this page on my company's site:
http://objexx.com/OpenSceneGraph.html

A ReadMe.txt file in the root directory of the expanded package has some details.

These are 64-bit builds with the default GL2 OpenGL level and these dependencies: curl, freetype, giflib, glut, jpeg, lpng, minizip, tiff, zlib. We can add other plugins (GDAL, Collada, ...) based on community interest.

There is a vanilla VC++ build and also builds optimized for AVX2 (Haswell and later) CPUs. We are going to do some performance comparisons to see if the AVX2 and/or Intel C++ are beneficial for our application: we also welcome feedback on performance from the community.

The Intel C++ build should be binary compatible with VC++ 2015 so you don't need Intel C++ to use it. Note that it was built with /fp:fast=2 to enable auto-vectorization of floating point loops: this could cause small precision loss that might matter with larger/geo distance scales. If vectorization isn't significant/beneficial this option may be dropped: input on this is welcomed.
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.

Quote:

We hope to do some OSG profiling and experiment with tuning on the Windows side with VTune: if we find anything interesting we'll post it on our OSG page and submit code back to the developers.

We don't have a need for 32-bit builds or older compilers but feel free to ask Wink .

Since we need these ourselves we plan to post binaries for future OSG and compiler releases as a way to give back to the OSG community.

Cheers
Sebastian
Quote:

Best regards,
Stuart

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









------------------
Post generated by Mail2Forum
Back to top
View user's profile Send private message
DeadParrot (Stuart Mentzer)
User


Joined: 28 Nov 2010
Posts: 43

PostPosted: Thu Apr 28, 2016 10:11 pm    Post subject:
Re: Windows Binaries of OSG 3.4.0 : Visual C++ 2015 and Intel C++ 2016
Reply with quote

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

Quote:
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
Back to top
View user's profile Send private message
Chris Hanson
Guest





PostPosted: Thu Apr 28, 2016 10:40 pm    Post subject:
Windows Binaries of OSG 3.4.0 : Visual C++ 2015 and Intel C++ 2016
Reply with quote

Hey Stuart, we should coordinate.

On Thu, Apr 28, 2016 at 4:11 PM, Stuart Mentzer < (
Only registered users can see emails on this board!
Get registred or enter the forums!
)> wrote:
Quote:
Hi Sebastian,


SMesserschmidt wrote:
Quote:
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


Quote:
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





_______________________________________________
osg-users mailing list
(
Only registered users can see emails on this board!
Get registred or enter the forums!
)
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org






--
Chris 'Xenon' Hanson, omo sanza lettere. http://www.alphapixel.com/
Training • Consulting • Contracting
3D • Scene Graphs (Open Scene Graph/OSG) • OpenGL 2 • OpenGL 3 • OpenGL 4 • GLSL • OpenGL ES 1 • OpenGL ES 2 • OpenCL
Legal/IP • Code Forensics • Digital Imaging • GIS • GPS • osgEarth • Terrain • Telemetry • Cryptography • LIDAR • Embedded • Mobile • iPhone/iPad/iOS • Android
@alphapixel facebook.com/alphapixel (775) 623-PIXL [7495]

------------------
Post generated by Mail2Forum
Back to top
DeadParrot (Stuart Mentzer)
User


Joined: 28 Nov 2010
Posts: 43

PostPosted: Fri Apr 29, 2016 12:16 am    Post subject:
Re: Windows Binaries of OSG 3.4.0 : Visual C++ 2015 and Intel C++ 2016
Reply with quote

Chris Hanson wrote:
Hey Stuart, we should coordinate.


Sure. I'll email you directly for parts of the discussion that won't be of general interest.

Since the first info I posted for you I have got the builds scripted after the initial CMake setup tweaks.

Stuart
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    OpenSceneGraph Forum Forum Index -> Announcement [ANN] All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum

Similar Topics
Topic Author Forum Replies Posted
No new posts Support for Windows Universal Platform tomhog General 4 Fri Apr 21, 2017 11:07 pm View latest post
No new posts Cross-platform guide for Linux, macOS... kornerr Announcement [ANN] 3 Mon Apr 03, 2017 5:05 pm View latest post
No new posts 3rdParty package precompiled with Vis... zonk Announcement [ANN] 0 Wed Mar 22, 2017 3:51 pm View latest post
No new posts OSG on Universal Windows Platform Oneiros General 3 Thu Feb 16, 2017 9:59 am View latest post
No new posts Examples Not Responding; Windows 10 x64 S Senften General 0 Tue Feb 07, 2017 8:37 pm View latest post


Board Security Anti Bot Question MOD - phpBB MOD against Spam Bots
Powered by phpBB © 2001, 2005 phpBB Group
Protected by Anti-Spam ACP