Author Topic: Intel C++ Compiler  (Read 530 times)

0 Members and 1 Guest are viewing this topic.

Offline ShivanSpS

  • 210
Im specially thinking about performance here, has anyone successfully compiled FSO on the Intel C++ Compiler? Most people says is a lot faster, even on AMD cpus, and there is a 30-day trial that anyone can try.

 

Offline The E

  • He's Ebeneezer Goode
  • Global Moderator
  • 213
  • Nothing personal, just tech support.
    • Skype
    • Steam
    • Twitter
All our compilation duties are currently handled through the Travis and AppVeyor CI services.

No matter what performance enhancements we could get from the Intel compiler, the fact that none of us have the several hundred dollars required to buy a license makes them intensely unattractive.
**** every cause that ends in murder and children crying. ― Iain Banks
Join the fun at the HLP IRC channel. Get the latest spam and gossip as long as it's fresh!

 

Offline ShivanSpS

  • 210
All our compilation duties are currently handled through the Travis and AppVeyor CI services.

No matter what performance enhancements we could get from the Intel compiler, the fact that none of us have the several hundred dollars required to buy a license makes them intensely unattractive.

At this point i just want to see if there is any gain at all.  About the license itselft considering HLP is just running an open source project with no commercial value, im not sure if thats much of a issue as you think, ill have to read the EULA of the free trial and Noncommercial or student licenses.

Ive already signed up for the trial license and im trying to see if FSO can be compiled whiout having to do extra work, so far im getting a lot of warnings about "stricmp" being deprecated and ive commented the "unsupported compiler" on scp_compiler_detection.h since i have no idea of what anything in there does.

Dont worry if successfull im not going to upload the exe anywhere just in case, its taking a really long time to compile trought, the microsoft compiler takes about 2 minutes max.

EDIT: yep, you cant redistribute an .exe with the trial or Noncommercial license.
Quote
A. Evaluation License. If You obtained the Materials under an evaluation license, You may use the Materials only for internal evaluation purposes and only for the term of the evaluation period, as specified on Intel’s download website or controlled by the license key for the Materials. Notwithstanding anything to the contrary elsewhere in this Agreement, You may use the Materials only for evaluation purposes and only for any term of the Evaluation, You may not distribute any portion of the Materials, and the application and/or product developed by You may only be used for evaluation purposes and only for the term of the evaluation. You may install copies of the Materials on a reasonable number of computers to conduct Your evaluation provided that You are the only individual using the Materials and only one copy of the Materials is in use at any one time. A separate license key is required for each additional use and/or individual user in all other cases, including without limitation, use by persons, computer systems, and other use methods known now and in the future. Intel may provide You with a license key that enables the Materials for this evaluation license. If You are an entity, Intel grants You the right to designate one individual within Your organization to have the sole right to use the Materials in the manner provided above.

B. Noncommercial Use License. If You obtained the Materials under a noncommercial use license, You may use the Materials only for non-commercial use where You receive no fee, remuneration or any other form of compensation. The Materials may not be used for any other purpose, whether “for profit” or “not for profit.” Any work performed or produced as a result of use of the Materials cannot be performed or produced for the benefit of other parties for a fee, compensation or any other reimbursement or remuneration. You may install copies of the Materials on an unlimited number of computers provided that You are the only individual using the Materials and only one copy of the Materials is in use at any one time. A separate license is required for each additional use and/or individual user in all other cases, including without limitation, use by persons, computer systems, and other methods of use known now and in the future. Intel will provide You with a license key that enables the Materials for a noncommercial-use license. If You obtained a time-limited, noncommercial-use license, the term of Your license is either specified on Intel’s download website, specified in the applicable documentation or controlled by the license key for the Materials.

But there is nothing wrong in trying myselft to see if there is any gain.

EDIT: They are really being too harsh on the noncommercial license, HLP qualifies for a noncommercial license under the Intel "open-source contributor offer", what only supports the Linux compilers AND you cant redistribute the executable? really Intel?

EDIT: Hang on, maybe im reading that wrong, because it makes NO SENCE that you cant redistribute the executable under the noncommercial licesence, what would be the point for any open source project to having that? Anyway, you may want to check it out https://software.intel.com/en-us/parallel-studio-xe/choose-download/open-source-contributor

I think it means only the person who get the license can use the compiler and tools, it would be something to ask them.
« Last Edit: March 30, 2018, 03:55:57 pm by ShivanSpS »

 

Offline ShivanSpS

  • 210
Well, its done, but at least with my system (Ryzen/Radeon) im not seeing any difference that is outside the margin of error.

That is using full optimizations, /O3 /Qip /GA /Qopt-matmul /Qparallel

I wish to try with /Qipo but it takes HOURS to compile and it does generate a 3.7GB code.lib, ill let it running overnight.

 

Offline The E

  • He's Ebeneezer Goode
  • Global Moderator
  • 213
  • Nothing personal, just tech support.
    • Skype
    • Steam
    • Twitter
I'm pretty sure that, whatever performance optimizations the Intel compiler has over the MSVC, gcc, or clang compilers, we're not really set up to take advantage of them. Making the engine more performant, at this stage, is more about architectural updates than it is about microoptimizations like the ones compilers can do.
**** every cause that ends in murder and children crying. ― Iain Banks
Join the fun at the HLP IRC channel. Get the latest spam and gossip as long as it's fresh!

 

Offline ShivanSpS

  • 210
I'm pretty sure that, whatever performance optimizations the Intel compiler has over the MSVC, gcc, or clang compilers, we're not really set up to take advantage of them. Making the engine more performant, at this stage, is more about architectural updates than it is about microoptimizations like the ones compilers can do.

Yeah, auto optimisations does not seems to do much at this point from what i can see, but it can also be AMD BAD OpenGL that it is the botteneck for me, ill keep testing trought and ill post if i see anything meaningful, BUT the supporting toolset may worth a look, the VTune Amplifier, Advisor and Inspector. Those are all avalible in the noncommercial version as a open source contributor for Linux.

 

Offline ShivanSpS

  • 210
With BP Icarus
Quote
01-04-2018, 12:16:29 fs2_open_3_8_1_x64_AVX2.exe benchmark completed, 15980 frames rendered in 177.781 s (Intel)
                     Average framerate  :   89.8 FPS
                     Minimum framerate  :   35.9 FPS
                     Maximum framerate  :  129.4 FPS
                     1% low framerate   :   35.9 FPS
                     0.1% low framerate :   15.1 FPS
01-04-2018, 12:29:33 fs2_open_3_8_1_x64_AVX2.exe benchmark completed, 15802 frames rendered in 176.860 s (MS)
                     Average framerate  :   89.3 FPS
                     Minimum framerate  :   32.6 FPS
                     Maximum framerate  :  127.0 FPS
                     1% low framerate   :   32.1 FPS
                     0.1% low framerate :   16.6 FPS

Well inside the margin of error and 0.1% is worse. This is just using default config, trying to use any Intel advanced optimisations results in the same or worse perf for me.