Intel C/C++ XE2013 compiler options

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

Sergei S. Markoff
Posts: 227
Joined: Mon Sep 12, 2011 11:27 pm
Location: Moscow, Russia

Intel C/C++ XE2013 compiler options

Post by Sergei S. Markoff »

I'm planning to make builds of SmarThink 1.41 just now.
Please suggest proper options to build it for actual platforms.

That's what I have for 32-bit version for the moment:

Code: Select all

/Zi /nologo /W4 /O2 /Ob2 /Oi /Ot /Oy /GT /D "NDEBUG" /D "_CONSOLE" /D "WIN32" /D "_VC80_UPGRADE=0x0600" /D "_MBCS" /GF /MT /Zp4 /GS /Gy /arch:SSE2 /fp:fast=2 /QaxSSE2 /QxSSE2 /Zc:wchar_t /Zc:forScope /Fp".\Release\smt.pch" /Fa".\Release\" /Fo".\Release\" /Fd".\Release\" /Gd -fast
Linker options:

Code: Select all

/OUT:".\Release\smt.exe" /INCREMENTAL:NO /NOLOGO "odbc32.lib" "odbccp32.lib" "kernel32.lib" "user32.lib" "gdi32.lib" "winspool.lib" "comdlg32.lib" "advapi32.lib" "shell32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" /MANIFEST /ManifestFile:".\Release\smt.exe.intermediate.manifest" /ALLOWISOLATION /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /PDB:"C:\work\chess\smarthink\Release\smt.pdb" /SUBSYSTEM:CONSOLE /OPT:REF /OPT:ICF /TLBID:1 /DYNAMICBASE /NXCOMPAT /MACHINE:X86 
The Force Be With You!
Modern Times
Posts: 3555
Joined: Thu Jun 07, 2012 11:02 pm

Re: Intel C/C++ XE2013 compiler options

Post by Modern Times »

FYI, your previous versions did not work on AMD X6 at all, not even the SSE3 version. They seemed to be Intel specific. This was after installing the necessary libraries. They did work on my Intel Sandybridge laptop however.
Sergei S. Markoff
Posts: 227
Joined: Mon Sep 12, 2011 11:27 pm
Location: Moscow, Russia

Re: Intel C/C++ XE2013 compiler options

Post by Sergei S. Markoff »

Modern Times wrote:FYI, your previous versions did not work on AMD X6 at all, not even the SSE3 version. They seemed to be Intel specific. This was after installing the necessary libraries. They did work on my Intel Sandybridge laptop however.
It's the one of the reasons I need more variations of options to satisfy all users.
The Force Be With You!
User avatar
velmarin
Posts: 1600
Joined: Mon Feb 21, 2011 9:48 am

Re: Intel C/C++ XE2013 compiler options

Post by velmarin »

I work with Intel inside Visual Studio GUI, so I put the options visually.
Working with Intel 12.1, the latest compiler seems too dependent Windows 8.
Statica Linking libraries to avoid dependencies.
This would be my project options 64 bits:

Compiler:

Code: Select all

/GS /W3 /Zc:wchar_t /Zi /O3 /Ob2 /Fd"x64\Release\vc100.pdb" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /Qipo /GT /Zc:forScope /Oi /MT /Fa"x64\Release\" /EHsc /nologo /Fo"x64\Release\" /Ot /Fp"x64\Release\Bouquet 1.8CA x64.pch" 
Link:

Code: Select all

/OUT:"D:\Bouquet 1.8C\x64\Release\Bouquet 1.8CA x64.exe" /MANIFEST /NXCOMPAT /PDB:"D:\Bouquet 1.8C\x64\Release\Bouquet 1.8CA x64.pdb" /DYNAMICBASE /ALLOWISOLATION /DEBUG /MACHINE:X64 /OPT:REF /INCREMENTAL /SUBSYSTEM:CONSOLE /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /ManifestFile:"x64\Release\Bouquet 1.8CA x64.exe.intermediate.manifest" /OPT:ICF /NOLOGO /TLBID:1 
[/quote]
User avatar
beachknight
Posts: 3533
Joined: Tue Jan 09, 2007 8:33 pm
Location: Antalya, Turkey

Re: Intel C/C++ XE2013 compiler options

Post by beachknight »

Sergei S. Markoff wrote:I'm planning to make builds of SmarThink 1.41 just now.
Please suggest proper options to build it for actual platforms.
Sergey, I just would like to add my wish, a special 4-cpu compile for me. ;)

Best,
hi, merhaba, hallo HT
User avatar
velmarin
Posts: 1600
Joined: Mon Feb 21, 2011 9:48 am

Re: Intel C/C++ XE2013 compiler options

Post by velmarin »

Equal 32 bits:


Compiler:

Code: Select all

/GS /W3 /Zc:wchar_t /Zi /O2 /Fd"Release\vc110.pdb" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /Zc:forScope /Gd /MD /Fa"Release\" /EHsc /nologo /Fo"Release\" /Fp"Release\Bouquet 1.8C.pch" 

Link:

Code: Select all

/OUT:"D:\Bouquet 1.8C\Release\Bouquet 1.8C.exe" /MANIFEST /NXCOMPAT /PDB:"D:\Bouquet 1.8C\Release\Bouquet 1.8C.pdb" /DYNAMICBASE "kernel32.lib" "user32.lib" "gdi32.lib" "winspool.lib" "comdlg32.lib" "advapi32.lib" "shell32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" "odbc32.lib" "odbccp32.lib" /DEBUG /MACHINE:X86 /OPT:REF /SAFESEH /INCREMENTAL /SUBSYSTEM:CONSOLE /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /ManifestFile:"Release\Bouquet 1.8C.exe.intermediate.manifest" /OPT:ICF /NOLOGO /TLBID:1 
mar
Posts: 2566
Joined: Fri Nov 26, 2010 2:00 pm
Location: Czech Republic
Full name: Martin Sedlak

Re: Intel C/C++ XE2013 compiler options

Post by mar »

mine (64-bit):

Code: Select all

/GS- /W4 /Zc:wchar_t /Zi /Ox /Ob2 /Fd"x64\Release Intel\vc110.pdb" /fp:strict /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_CRT_SECURE_NO_WARNINGS" /D "_HAS_EXCEPTIONS=0" /D "_SECURE_SCL=0" /D "_MBCS" /Qipo /GF /Zc:forScope /GR- /Oi /MT /Fa"x64\Release Intel\" /nologo /Fo"x64\Release Intel\" /FAs /Ot /Fp"x64\Release Intel\cheng4.pch"
linker:

Code: Select all

/OUT:"C:\blah\cheng4\x64\Release Intel\cheng4.exe" /MANIFEST /PROFILE /NXCOMPAT /PDB:"C:\blah\cheng4\x64\Release Intel\cheng4.pdb" /DYNAMICBASE "kernel32.lib" "user32.lib" "gdi32.lib" "winspool.lib" "comdlg32.lib" "advapi32.lib" "shell32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" "odbc32.lib" "odbccp32.lib" /MACHINE:X64 /OPT:REF /INCREMENTAL:NO /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /ManifestFile:"x64\Release Intel\cheng4.exe.intermediate.manifest" /OPT:ICF /NOLOGO /TLBID:1 /SUBSYSTEM:CONSOLE,"5.01"
note: project has been imported from VS2008/MSC so some arguments may be obsolete/invalid

Code: Select all

/SUBSYSTEM:CONSOLE,"5.01"
is necessary if you want to support XP

Edit: for some reason, I get

Code: Select all

LINK : warning LNK4010: invalid subsystem version number 5.01; default subsystem version assumed
But it really helps.
jdart
Posts: 4368
Joined: Fri Mar 10, 2006 5:23 am
Location: http://www.arasanchess.org

Re: Intel C/C++ XE2013 compiler options

Post by jdart »

You probably want /INCREMENTAL:no for a production build. In fact I believe /OPT:ref automatically selects this.

--Jon