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

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

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

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

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
Zachary1234
User


Joined: 20 Nov 2018
Posts: 24

PostPosted: Fri Feb 01, 2019 12:36 am    Post subject:
[]
Reply with quote

[]
Back to top
View user's profile Send private message
Zachary1234
User


Joined: 20 Nov 2018
Posts: 24

PostPosted: Mon Mar 25, 2019 5:15 am    Post subject:
Questions about further Windows binary builds.
Reply with quote

To Stuart,

people are greatful for the Objexx Win64 OSG library builds that are there,
however my particular issue is that these are only for intel and MSVC.

This thread does seem to say that the future plan is for OSG,
one way or another, to provide more binary library builds
(with C++ header files, of course) moving forward.

-I have understoond that the TDM compiler for Windows is fully
compatible with GNU C++ for windows, including libraries and headers.
Is this in fact still true?

-I am after a public download for Win64 OSG library stable (with Headers)
which will be compatible with TDM, or compatible with G++ Windows (secondarily).
Can someone perhaps pursue creating this kind of a build,
and offering it through the internet for public download?
Back to top
View user's profile Send private message
robertosfield
OSG Project Lead


Joined: 18 Mar 2009
Posts: 12264

PostPosted: Mon Mar 25, 2019 8:55 am    Post subject:
Windows Binaries of OSG 3.4.0 : Visual C++ 2015 and Intel C++ 2016
Reply with quote

HI Zachary,

On Mon, 25 Mar 2019 at 05:14, Zachary1234 <> wrote:
Quote:
-I am after a public download for Win64 OSG library stable (with Headers)
which will be compatible with TDM, or compatible with G++ Windows (secondarily). Can someone perhaps pursue creating this kind of a build,
and offering it through the internet for public download?

This is an open source community, not a free service that provides
anything that people want. The community have jobs, have lives, have
their own projects. If people want to come forward and provide things
like binaries for the platforms that they can then this is really
appreciated, but it's absolutely not something that others in the
community can demand. I wouldn't presume anything and consider time
that others give as a real gift, and I'm the project lead with nearly
two decades of service, I and wouldn't demand stuff from the
community. I'm not alone in thinking it rather out of place for
others to be demanding that others do work for them so they don't have
to.

If you have the need for something specific that others haven't
already provided then you may be the one to provide them. If you
aren't that person then perhaps you could hire an engineer to do it
for you. If you can't do any of these options then consider using a
more common platform/build tool combination.

As a general note, if you are programmer, that is a pre-requisite for
being an OSG users, then you should have the skills to build the OSG
yourself. Even if you have 3rd party binaries I would still recommend
that users develop the skills to build them. There is so much power
in open source because you can get the source, compile it, debug with
it, fix it.

Robert.


------------------
Post generated by Mail2Forum
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 Building with MinGW on Windows 10 Skaldi Build system [build] 4 Sat May 18, 2019 3:47 pm View latest post
No new posts Building with Visual Studio 2019 icf80 Build system [build] 0 Fri May 10, 2019 11:20 am View latest post
No new posts Building with Visual Studio 2019 icf80 Build system [build] 2 Fri May 10, 2019 11:19 am View latest post
No new posts CPU Performance issues with AMD 2700 ... robertosfield General 10 Mon Apr 01, 2019 2:01 pm View latest post
No new posts OSG static v 3.6.3 CMake 3.12.4 + Vis... Serathin Build system [build] 0 Fri Feb 01, 2019 8:19 am 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