Here's the .bat file I use for compiling windows Crafty 2014 with intel compiler.
******* crafty.bat ********
Code: Select all
cls rem rem The next options are optimizations inside Crafty that you will have rem test to see if they help. on some machines, these will slow things rem by up to 10%, while on other machines these options will result in rem improving search speed up to 20%. NOTE: if you are running Linux rem system, the default configurations below will use the hand-written rem assembly modules. Typical performance improvement is 5%, but this rem only applies to X86 machines running Linux. rem rem default rem -DBOOKDIR N path to the directory containing the book binary files. rem The default for all such path values is "." if you don't rem specify a path with this macro definition. rem -DCPUS=n N defines the maximum number of CPUS Crafty will be able rem to use in a SMP system. Note that this is the max you rem will be able to use. You need to use the smpmt=n command rem to make crafty use more than the default 1 process. rem -DDGT N This is a unix-only option to support the DGT board. rem -DEPD Y if you want full EPD support built in. rem -DHASHSTATS N This option compiles in some of the statistics rem gathering to provide hashing statistics. rem -DINLINE32 N Compiles with the Intel assembly code for FirstOne(), rem LastOne() and PopCnt(). This is for gcc-style inlining rem and now works with the Intel C/C++ compiler as well. rem -DINLINE64 N Compiles with the Intel assembly code for FirstOne(), rem LastOne() and PopCnt() for the AMD opteron, only tested rem with the 64-bit opteron GCC compiler / Intel ICC compiler. rem -DLIMITEXT N limit extensions as search gets deeper rem -DLOGDIR N path to the directory where Crafty puts the log.nnn and rem game.nnn files. rem -DNOEGTB N eliminates the egtb code for compilers that can't deal rem with the large egtb.cpp code/templates. rem -DNOFUTILITY N disables classic futility pruning rem -DNUMA N says this system is NUMA, which is mainly used for Linux rem systems, and references libnuma, needed for the NUMA calls rem (crafty doesn't use many of these, it does the memory rem setup stuff itself) rem -DPOWERPC N enables PPC spinlock inline function for SMP boxes only rem -DRCDIR N path to the directory where we look for the .craftyrc or rem crafty.rc (windows) file. rem -DSMP N enables SMP support (not clustering). If you choose rem this option, you need to look closely at the following rem two options as well. rem -DTBDIR N path to the directory where the endgame tablebase files rem are found. default = "./TB" rem -DTRACE N This enables the "trace" command so that the search tree rem can be dumped while running. rem add '#define inline __inline' to 'chess.h' rem add 'typedef unsigned long DWORD_PTR;' to 'utility.c' rem comment out 'dgt.c' 'epd.c' 'epdglue.c' from 'crafty.c' (for speedup) rem smp version below rem icl -o crafty.exe crafty.c egtb.cpp /DNT_i386 /DWIN32 /DCPUS=2 /DSMP /G7 /Ox /Qipo /QxK /MT /Qparallel /Qprof-gen rem single cpu version below rem icl -o crafty.exe crafty.c egtb.cpp /DNT_i386 /DWIN32 /G7 /Ox /Qipo /QxK /MT /Qparallel /Qprof-gen cls del *.o del *.obj cls icl -o crafty.exe main.c attacks.c book.c boolean.c data.c draw.c drawn.c edit.c enprise.c epd.c epdglue.c evaluate.c give.c history.c init.c input.c interupt.c iterate.c lookup.c make.c movegen.c next.c nextc.c nexte.c resign.c root.c search.c setboard.c store.c swap.c test.c time.c utility.c valid.c validate.c /DNT_i386 /DWIN32 /DCPUS=2 /DSMP /G7 /Ox /Qipo /QxK /MT /Qparallel /Qopenmp /Qprof-gen
Add the 'crafty.bat' + all crafty src files to 'Program Files\Intel\Compiler\C++\10.0.025\IA32\Bin' and run it.