It was originally FORTRAN as that was the only choice on the system we had in 1968. I started to convert it to PL/1 several times, but each time I thought about it, portability was an issue as PL/1 was really an IBM language at first, and then when the Cray came along in the mid 70's it was obvious that they were never going to be anything but a FORTRAN machine, so I stuck with FORTRAN.
For speed, we did lots of profiling and rewrote the time-critical parts in cray assembly language. We made sure that the CAL code was functionally equivalent to the FORTRAN code so that we could debug things, but the CAL was pretty wild in that it was really tailored to use the architectural tricks available in the Cray, such as vector operations, tons of registers, etc.
I think I will put the whole mess on my ftp box in case anyone is interested. I played one test game between CB and Crafty last night, one CPU, no pondering since CB can't yet ponder, 10 secs per move. Crafty won handily, typically searching 14-15 plies to CB's 9-10. I even used the nm=2 command to set null-move R=2 in CB. Not quite sure why the depth is so different, other than the checks and things CB does in the q-search might be a bit out of control, and/or the extensions might be "too much". But in any case, it played just fine, although not all compilers are going to be happy compiling it I'd bet...
Robert Hyatt, Harry Nelson, Albert Gower (1986). Cray Blitz - 1984 Chess Champion. Telematics and Informatics Vol. 2, No. 4, pp. 299-305. Pergammon Press Ltd.
was the successor of the program Blitz by Robert Hyatt and Albert Gower. With the sponsorship of Cray Research, supported by Dave Darling and Derek Robb [1], and later by Cray Assembly expert Harry Nelson from the Lawrence Livermore National Laboratory [2], they adopted and optimized Blitz for a Cray-1 supercomputer [3], later a Cray X-MP, Cray Y-MP and C916 with up to 16 processors. Cray Blitz initially used root splitting as parallel search algorithm on the two processor Cray X-MP, implemented and tested just before the WCCC 1983 [4], later principal variation splitting [5], enhanced principal variation splitting [6], and in the 90s DTS [7], specifically designed for a shared memory multiprocessor architecture of the Crays. Cray Blitz was written in Fortran, time-critical parts in the Cray Assembly Language CAL.
Cray Blitz won two times the ACM North American Computer Chess Championships and also was two times winner of the World Computer Chess Championships, the WCCC 1983 in New York [8] , and the WCCC 1986 in Cologne [9].
Table of Contents
Photos & Game
WCCC 1983
WCCC 1986
ACM 1988
Quote
by Robert Hyatt, September 2008 [14]:For speed, we did lots of profiling and rewrote the time-critical parts in cray assembly language. We made sure that the CAL code was functionally equivalent to the FORTRAN code so that we could debug things, but the CAL was pretty wild in that it was really tailored to use the architectural tricks available in the Cray, such as vector operations, tons of registers, etc.
I think I will put the whole mess on my ftp box in case anyone is interested. I played one test game between CB and Crafty last night, one CPU, no pondering since CB can't yet ponder, 10 secs per move. Crafty won handily, typically searching 14-15 plies to CB's 9-10. I even used the nm=2 command to set null-move R=2 in CB. Not quite sure why the depth is so different, other than the checks and things CB does in the q-search might be a bit out of control, and/or the extensions might be "too much". But in any case, it played just fine, although not all compilers are going to be happy compiling it I'd bet...
See also
Publications
1981 ...
1985 ...
1990 ...
Forum Posts
1990 ...
2000 ...
2010 ...
External Links
References
What links here?
Up one Level