Hard Light Productions Forums

General FreeSpace => FreeSpace & FreeSpace Open Support => Topic started by: AV8R on November 09, 2011, 04:59:33 pm

Title: FSOpen Builds/Exe's
Post by: AV8R on November 09, 2011, 04:59:33 pm
Can anyone list out the various "Builds/Exes" that have been developed and what the differences are between them (or provide a link to somewhere where this info already exists)?

The reason I'm asking is that I'm putting together a new gaming rig (Intel "Sandy Bridge" based) and I wanted to select the most optimized EXE for that particular processor. I know Intel's Sandy Bridge is a pretty recent processor release with new optimizations of its own, but it still contains older optimizations too (SSE1, 2, 3, 4, etc). Just wanted to use the best build for the processor.

And no, I'm not going to use the integrated graphics!  :nono:

I have an dedicated card for that.  :cool::yes:
Title: Re: FSOpen Builds/Exe's
Post by: LHN91 on November 09, 2011, 05:29:05 pm
If it supports SSE2, which is everything since the P4 and the Athlon 64 (and thus by extension Sandy Bridge), then the SSE2 build (which is now the default with the 3.6.14 RC) is the best one. The SSE1 or non-SSE builds are only really there for really old processors that can't use the newer optimizations, and they will run slower than the SSE2 builds on modern processors due to less optimization.

The 3.6.14 Release Candidate thread
http://www.hard-light.net/forums/index.php?topic=78886.0

The (now older, but the most recent 'official' release, does not work with some mods, the mods will say on their threads) 3.6.12 Thread.
http://www.hard-light.net/forums/index.php?topic=70692.0

and the Wikipedia page for SSE and what it actually is.
http://en.wikipedia.org/wiki/Streaming_SIMD_Extensions

EDIT: For typo.
EDIT2: For grammar fail.
Title: Re: FSOpen Builds/Exe's
Post by: AV8R on November 09, 2011, 05:40:28 pm
Thanks for the links.

Ok, so for optimized builds, there are:

1) Regular" non-optimized builds
2) SSE optimized builds
3) SSE2 optimized builds

But I also see there are "Inferno" and non-Inferno builds too. What are the differences there?

EDIT: Ok, after scanning the links I see that Inferno builds are for normal use and the non-Inferno builds are around for troubleshooting and such. Now I know what they're for, but why is the build called "Inferno" anyway?
Title: Re: FSOpen Builds/Exe's
Post by: LHN91 on November 09, 2011, 06:11:13 pm
Can't remember exactly, but for the most part you want the Inferno builds. IIRC, the Inferno builds have been the de-facto standard since 3.6.12. Has something to do with some modifications to the limits of what the engine can support at one time. There's probably a link over in that board if you look closely. At any rate, many new mods require the Inferno builds anyways.

Also, with 3.6.14, the builds now go
1)SSE2 default (unmarked) build
2)SSE build
3)non-SSE build
in terms of the way they are named/shown in the thread. For 3.6.12 your list is accurate.

EDIT: Manual install instructions are here. A ways down the first post is a description of the main differences between Regular and Inferno.
http://www.hard-light.net/forums/index.php?topic=78710.0


Title: Re: FSOpen Builds/Exe's
Post by: headdie on November 09, 2011, 06:25:42 pm
inferno builds started out as an attempt to expand the limitations of the engine for example ship counts in missions.  They were maintained as a separate build for several development cycles to ensure stability and are now considered standard, for the most part non inferno builds are used only for bug fixing.

as for SSE builds they are optimised for different CPU technology levels.  The vast majority of people should be using SSE2 (PIII and onward?)
Title: Re: FSOpen Builds/Exe's
Post by: AV8R on November 09, 2011, 06:45:44 pm
I believe SSE2 started with the P4 (I'm using a late model P3 1ghz processor now and it only supports SSE).

So future builds will have SSE2 optimizations rolled-in unless otherwise stated. Good to know. I've been using 3.6.12 for a while now and knew of the SEE, SSE2 and non-SSE builds but didn't know if others were around (like SSE3 or SSSE3 or other processor optimizations like 3DNow!, etc). What I didn't get was the significance of the "Inferno" marked builds.

I was originally using the non-inferno SSE build on my PC but switched over to the Inferno SSE build later to see if there was any difference. I immediately discovered:

1) My pilot files were not compatible (had to create fresh pilots - no biggie. Just another excuse for another campaign "go-around").
2) Better visual effects (for example - imact effects, such as cap-ship "blob" turrent fire, had nicer impact effects when they hit other ships).

So from now on I'll be using the Inferno builds. And when I get my Sandy Bridge PC together I'll start using the 3.6.14 build (SSE2). Should be well enough along by December and maybe even have "official" status by then.

Thanks for the info!  :yes:
Title: Re: FSOpen Builds/Exe's
Post by: pecenipicek on November 09, 2011, 09:02:44 pm
I believe SSE2 started with the P4 (I'm using a late model P3 1ghz processor now and it only supports SSE).
any Pentium 4 and Athlon64 and onwards cpu has sse2 support.

Quote
So future builds will have SSE2 optimizations rolled-in unless otherwise stated. Good to know. I've been using 3.6.12 for a while now and knew of the SEE, SSE2 and non-SSE builds but didn't know if others were around (like SSE3 or SSSE3 or other processor optimizations like 3DNow!, etc). What I didn't get was the significance of the "Inferno" marked builds.
SSE2 is the max due to lack of compiler on windaz or somesuch. not 100% sure on the whole issue, but its a moot point anyhow, and one you shouldnt bother yourself with.
Title: Re: FSOpen Builds/Exe's
Post by: Jeff Vader on November 10, 2011, 12:30:11 am
inferno builds started out as an attempt to expand the limitations of the engine for example ship counts in missions.
Also high increases in ship and weapon table entry limits.
Title: Re: FSOpen Builds/Exe's
Post by: Fury on November 10, 2011, 01:19:05 am
I hope SSE3 will make its way into FS2Open in the near future, as it does have quite wide support by now.
http://en.wikipedia.org/wiki/SSE3

The gap between SSE2 and SSE3 is not actually that large as far as CPU support goes.
Title: Re: FSOpen Builds/Exe's
Post by: The E on November 10, 2011, 03:23:53 am
Problem is getting a compiler that can understand SSE3, the standard MSVC one for example doesn't. Of course, there's always the option of handcrafted assembler to make it work, but that requires skills I don't think anyone has at the moment.
Title: Re: FSOpen Builds/Exe's
Post by: pecenipicek on November 10, 2011, 09:42:37 am
Problem is getting a compiler that can understand SSE3, the standard MSVC one for example doesn't. Of course, there's always the option of handcrafted assembler to make it work, but that requires skills I don't think anyone has at the moment.
the intel compiler does, however, it apparently produces sub-optimal code for non-intel CPU's.


as far as a 5 mintue googlage discovered.
Title: Re: FSOpen Builds/Exe's
Post by: The E on November 10, 2011, 09:44:22 am
So do gcc and Open64 (the AMD compiler), but unfortunately integrating gcc into Visual Studio is nontrivial, Open64 is Linux only, and the Intel compiler costs a ton of money.
Title: Re: FSOpen Builds/Exe's
Post by: AV8R on November 10, 2011, 11:02:19 am
I hope SSE3 will make its way into FS2Open in the near future, as it does have quite wide support by now.
http://en.wikipedia.org/wiki/SSE3

The gap between SSE2 and SSE3 is not actually that large as far as CPU support goes.

Actually, if you read that wiki article carefully you'll see that AMD only uses a subset of SSE3 in their newer processors (to use the full implementation would force AMD to pay Intel for licensing its use - something they did for SSE and SSE2 but didn't want to keep shelling out for just to use Intel's newer iterations of SSE).

That's why the Intel SSE3 compiler would produce sub-optimal code for AMD CPU's - the full implementaion of SSE3 is simply not there. Seems SSE2 may be the last fully-implemented SIMD feature in both AMD and Intel CPUs.
Title: Re: FSOpen Builds/Exe's
Post by: The E on November 10, 2011, 11:28:19 am
Except that that's slightly misleading. Current AMD CPUs implement SSE3 completely, and have done so since 2005.
Title: Re: FSOpen Builds/Exe's
Post by: AV8R on November 10, 2011, 05:17:10 pm
Then the Wiki article is being misleading as it states at the beggining of the article:

"In April 2005, AMD introduced a subset of SSE3 in revision E (Venice and San Diego) of their Athlon 64 CPUs."

It didn't say "AMD fully implemented SSE3....".

So I did a little research and found Intel and AMD have a cross-licesning agreement to share certain processor technologies with each other (probably due to federally-mandated anti-monopoly corporate rules of some sort). So eventually Intel would have to cough up the SSE3 specs to AMD so they could include it in their processors later.

More recently, it seems AMD got tired of waiting around for Intel to develop and martket new SIMD instructions first and then hand over the specs a year later (after Intel gets their new compilers with their new SIMD features in developers hands and gets the developers "hooked"). During Intel's SSE4 development, AMD jumped the gun and started developing SSE5 (later changing the name to SSE4a) while Intel develoed SSE4.1 and SSE4.2. AMD was willing to skip Intel's SSE4 in a generation of their processors just so they could finally get their foot in the door first for the next SIMD feature race. Interesting to see if their gamble pays off. Check out this link for more info:

http://www.zdnet.com/blog/ou/sse-extension-wars-heat-up-between-intel-and-amd/719 (http://www.zdnet.com/blog/ou/sse-extension-wars-heat-up-between-intel-and-amd/719)
Title: Re: FSOpen Builds/Exe's
Post by: The E on November 10, 2011, 05:53:43 pm
Yes, 4 year old news are sooo relevant....

Point being, all current AMD processors support SSE3. SSE4 and variants do not seem to be of particular relevance to 3D maths, as such, their application in FSO does not seem to be necessary.
Title: Re: FSOpen Builds/Exe's
Post by: pecenipicek on November 10, 2011, 06:23:32 pm
Then the Wiki article is being misleading as it states at the beggining of the article:

"In April 2005, AMD introduced a subset of SSE3 in revision E (Venice and San Diego) of their Athlon 64 CPUs."

It didn't say "AMD fully implemented SSE3....".

So I did a little research and found Intel and AMD have a cross-licesning agreement to share certain processor technologies with each other (probably due to federally-mandated anti-monopoly corporate rules of some sort). So eventually Intel would have to cough up the SSE3 specs to AMD so they could include it in their processors later.

More recently, it seems AMD got tired of waiting around for Intel to develop and martket new SIMD instructions first and then hand over the specs a year later (after Intel gets their new compilers with their new SIMD features in developers hands and gets the developers "hooked"). During Intel's SSE4 development, AMD jumped the gun and started developing SSE5 (later changing the name to SSE4a) while Intel develoed SSE4.1 and SSE4.2. AMD was willing to skip Intel's SSE4 in a generation of their processors just so they could finally get their foot in the door first for the next SIMD feature race. Interesting to see if their gamble pays off. Check out this link for more info:

http://www.zdnet.com/blog/ou/sse-extension-wars-heat-up-between-intel-and-amd/719 (http://www.zdnet.com/blog/ou/sse-extension-wars-heat-up-between-intel-and-amd/719)
i think you'd see the GCC folks kick up a huge stink or make actual notifications of **** like this. guess what. they didnt.
Title: Re: FSOpen Builds/Exe's
Post by: AV8R on November 10, 2011, 11:56:28 pm
Thanks to the moderators and "those-in-the-know" here for making everyone feel so welcome. All I was trying to do was share information (be it "relevant" or not) for those who are less "in-the-know" here.

Sorry, but not everyone here is an expert on all of the inner-workings of the FSOpen project that has transpired over the years and all it entails and all of its whys and what-fors. The least everyone here can do is convey knowledge in a way as to educate, not berate. As I look back thru the post, no one here was arguing any points in a disrespectful, thoughtless way. If, in any one of my posts I came across that way, I apologize.

Respectful transfer of data/knowledge among many; isn't that what a "forum" is all about?
Title: Re: FSOpen Builds/Exe's
Post by: jr2 on November 11, 2011, 11:00:59 am
AV8R, go read this (http://www.hard-light.net/forums/index.php?topic=39765.0) thread.  Should be mandatory for new joins to at least take a glance.  Then you couldn't say you weren't warned.  :P ;)
Title: Re: FSOpen Builds/Exe's
Post by: AV8R on November 11, 2011, 11:18:54 am
*chuckle*

Ok, I get this place now and I won't take it so seriously in the future.

Thanks, jr2.  ;)
Title: Re: FSOpen Builds/Exe's
Post by: pecenipicek on November 11, 2011, 02:16:01 pm
*chuckle*

Ok, I get this place now and I won't take it so seriously in the future.

Thanks, jr2.  ;)
In any case, dont get offended by the terseness of replies of some folks here. Its just the way most of us are.
In most cases it arises due to the fact that similar questions have been answered, or, somebody annoyed the coders with backseat coding.


Dont worry, have fun and leave the expert stuff to experts :)