Answers.Body: <p>This is more as an example than answering the question.</p>
  <p>&quot;Legal move generation&quot; had dedicated hard coded hardware in systems like Deep Blue, this hardware could generate the set of legal moves from a position much faster then any CPU at the time. (Still true with FPGA.)  Then a few issues hit:</p>
  <ul>
  <li><p>CPUs become fast enough that they could do &quot;Legal move generation&quot; faster than the set of legal moves could be transferred over the PCI bus, so however fast the dedicated hardware was, it stopped being useful, except on the some silicon chip as the CPU.</p>
  </li>
  <li><p>The cost of creating custom CPU sized silicon chips become unaffordable for anyone working in chess computers.  There were no open source CPU designs like RISC-V, so a complete CPU would need designing not just the few custom instructions.</p>
  </li>
  <li><p>By the time a CPU with custom chess extensions was ready to be used, Intel would be many hardware generations ahead with commodity CPUs. So the custom CPU would need to be at least two order of multitude faster than a commodity CPU built on the same technology.</p>
  </li>
  <li><p>The primary issue with large search spaces become <strong>random</strong> (impossible to cache and hard to pipeline) memory access speed, as most of the &quot;per move code&quot; would totally fit in the Level 0 data/instruction cache.  Custom CPUs don't speed up access to very large off chip memory systems.</p>
  </li>
  </ul>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-08-08T10:55:39.323Z
Answers.LastActivityDate: 2024-08-12T07:38:57.760Z
Answers.LastEditDate: 2024-08-12T07:38:57.760Z
Answers.UserDisplayName: Ian Ringrose
Answers.Body: <blockquote>
  <p>When did software only engines overtake custom hardware?</p>
  </blockquote>
  <p>I think that your question can be answered even outside of the chess world. Historically, computers were huge machines (physically) where the hardware was so expensive that it was cheap to write the software specifically for each computer. Software was more like the filler of the blanks, rather than the focus of the product.</p>
  <p>With the introduction of personal PCs, things changed. It was proven that cheap (standardized) hardware with generic (cheap) software might be even better than what existed previously.</p>
  <p>And if we look at the lifetime of Deep Blue, it coincided with the shift of technologies (and mentality). It was created as a hardware-based product because that was the kind thinking in those days. It was exactly that kind of thinking that allowed IBM to consider software as irrelevant, and lose one of the biggest business opportunities of the world, possibly of all times, to Microsoft. To underline: IBM created Deep Blue <sup>(*)</sup> in hardware BECAUSE IBM dismissed software as unimportant.</p>
  <p>The history after that is visible, I will not go into the details.</p>
  <hr />
  <p><sup>(*)</sup> IBM was not the original creator of Deep Blue (which was originally named differently), but IBM <em>could</em> change the concept from hardware to software, had they a different mindset.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-08-10T06:40:16.147Z
Answers.Text: “ . . .  IBM dismissed software as important”. Should the last word be “unimportant”?
Answers.UserDisplayName: John Bentin
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-08-12T05:30:22.267Z
Answers.Text: @JohnBentin: "they dismissed the software not noticing it is important" **+** "they thought it is unimportant" = "dismissed software as important" :) Updated, tnx.
Answers.UserDisplayName: virolino
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-08-08T09:52:29.480Z
Answers.LastActivityDate: 2024-08-12T05:30:35.283Z
Answers.LastEditDate: 2024-08-12T05:30:35.283Z
Answers.UserDisplayName: virolino
Answers.Body: <p>The last machine based on special hardware (FPGAs with a chess-specific configuration in this case) that was the undisputed strongest computer in the world was Hydra. Hydra was an FPGA cluster developed by a team around Christian Donninger, who was already known as a very competent chess programmer. It was probably the best chess computer in the world until around early 2006, when Rybka started to perform better than it on high-end commodity hardware.</p>
  <p>Software is much more flexible than hardware, i.e. you can update it freely if you discover a better way of doing things. Even FPGA-defined circuits are a bit more of a headache to port to new logic (or new underlying hardware) than software running on standard hardware is. Likewise, pure software solutions profit almost automatically from the very large amount of work that hardware vendors put into improving hardware. Also, it is not clear that anything could beat current Stockfish running on good hardware at tournament time controls much of the time without pre-set openings, because chess is drawn and Stockfish is probably good enough, on good current hardware, to prove this point in practice most of the time. So it seems likely that even the best chess machine this universe allows would not have a large Elo advantage over Stockfish.</p>
  <p>Lastly, funding for computer chess dried up quite a bit when it became clear that man vs machine matches would henceforth be uninteresting. It's possible that special hardware could still be interesting (maybe a machine with special circuitry running Stockfish's NNUE networks even more efficiently?), but nobody is willing to pay the rather significant development costs that would be necessary to prove it. This was very different in the era of Deep Blue, when special hardware was just enough to put the goal of playing at world champion level within reach.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-08-13T23:13:13.010Z
Answers.LastActivityDate: 2024-08-13T23:13:13.010Z
Answers.UserDisplayName: Polytropos
Answers.Body: <blockquote>
  <p>When did software only engines overtake custom hardware?</p>
  </blockquote>
  <p>Pinning an exact date on this is difficult because the last great dedicated chess computer, the final 1997 version of Deep Blue, never played against software-engine-only programs.</p>
  <p>I would guess somewhere between May 1997, when Deep Blue beat world champion Garry Kasparov 3½–2½, and November 2006 when the program Deep Fritz, running on a dual-core Intel Xeon 5160 CPU, beat world champion Vladimir Kramnik 4-2.</p>
  <blockquote>
  <p>What is the history of this changeover?</p>
  </blockquote>
  <p>This <a href="https://en.wikipedia.org/wiki/Deep_Blue_(chess_computer)" rel="noreferrer">Wikipedia article about Deep Blue</a> is a good source of information on this period.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-08-07T17:53:41.703Z
Answers.Text: My AI lecturer hated Deep Blue as his research was in hand coded "expert systems" mostly using Prolog.
Answers.UserDisplayName: Ian Ringrose
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-08-07T22:37:59.820Z
Answers.Text: @IanRingrose no offense your AI lecturer is a moron. The objective of Deep Blue was to beat humans at chess not to advance some academic field.
Answers.UserDisplayName: David
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-08-08T05:47:40.390Z
Answers.Text: @David his lecturer has some point actually - development of chess engines mirrored wider shift in ai field from expert systems to search; also objective of Deep Blue was certainly related to academia, see https://en.wikipedia.org/wiki/Deep_Blue_(chess_computer)#Computer_science at Brian's link.
Answers.UserDisplayName: Matija Sirk
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-08-08T13:13:24.770Z
Answers.Text: There dedicated chess computers after Deep blue; I suppose it depends a bit on your definition of "dedicated" and "great".  Hydra is one later computer built solely to play chess, and is at least the last I know of: https://en.wikipedia.org/wiki/Hydra_(chess)
Answers.UserDisplayName: SamM
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-08-08T15:36:56.720Z
Answers.Text: @MatijaSirk: An AI lecturer should keep up to date with developments in the AI field. Machine Learning overtook expert systems; neural networks overtook competing ML approaches, unsupervised reinforcement learning overtook supervised training of neural networks.
Answers.UserDisplayName: MSalters
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-08-08T16:00:31.513Z
Answers.Text: @MSalters machines learning was not practical 35 years ago!
Answers.UserDisplayName: Ian Ringrose
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-08-12T13:56:35.723Z
Answers.Text: @IanRingrose Yann LeCun was doing conv nets in the 90s, if you count that as machine learning (which I do)
Answers.UserDisplayName: qwr
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-08-07T17:14:11.683Z
Answers.LastActivityDate: 2024-08-07T17:14:11.683Z
Answers.UserDisplayName: Brian Towers
Body: <p>Back in the 1990's the top Chess computers had racks full of custom hardware to generate moves etc. These days the top chess computers all use standard CPU with no custom hardware.</p>
  <p>What is the history of this changeover?</p>
  <p>See also <a href="https://chess.stackexchange.com/questions/18332/how-did-the-engines-improve-since-deep-blue">How did the engines improve since Deep Blue?</a></p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2024-08-12T13:57:55.450Z
Comments.Text: There's an interesting parallel with chip design. It's much easier to ask library and compiler writers to make an optimized memset than changing the hardware of the CPU.
Comments.UserDisplayName: qwr
Tags: <engines><history>
Title: When/why did software only engines overtake custom hardware?
ThreadText: # When/why did software only engines overtake custom hardware?
  
  (Asked by: username_0 on 2024-08-07)
  
  Back in the 1990's the top Chess computers had racks full of custom hardware to generate moves etc. These days the top chess computers all use standard CPU with no custom hardware.
  
  What is the history of this changeover?
  
  See also [How did the engines improve since Deep Blue?](https://chess.stackexchange.com/questions/18332/how-did-the-engines-improve-since-deep-blue)
  
  **Tags:** engines, history
  
  > **Comments:**
  > **username_1**: There's an interesting parallel with chip design. It's much easier to ask library and compiler writers to make an optimized memset than changing the hardware of the CPU.  
  
  ---
  
  ## 4 answers
  
  ### Answer by username_5 on 2024-08-07. Score: 11 | Accepted answer
  
  > When did software only engines overtake custom hardware?
  
  Pinning an exact date on this is difficult because the last great dedicated chess computer, the final 1997 version of Deep Blue, never played against software-engine-only programs.
  
  I would guess somewhere between May 1997, when Deep Blue beat world champion Garry Kasparov 3½–2½, and November 2006 when the program Deep Fritz, running on a dual-core Intel Xeon 5160 CPU, beat world champion Vladimir Kramnik 4-2.
  
  > What is the history of this changeover?
  
  This [Wikipedia article about Deep Blue](https://en.wikipedia.org/wiki/Deep_Blue_(chess_computer)) is a good source of information on this period.
  
  > **Comments:**
  > **username_0**: My AI lecturer hated Deep Blue as his research was in hand coded "expert systems" mostly using Prolog.  
  > **username_6**: @IanRingrose no offense your AI lecturer is a moron. The objective of Deep Blue was to beat humans at chess not to advance some academic field.  
  > **username_7**: @username_6 his lecturer has some point actually - development of chess engines mirrored wider shift in ai field from expert systems to search; also objective of Deep Blue was certainly related to academia, see https://en.wikipedia.org/wiki/Deep_Blue_(chess_computer)#Computer_science at Brian's link.  
  > **username_8**: There dedicated chess computers after Deep blue; I suppose it depends a bit on your definition of "dedicated" and "great".  Hydra is one later computer built solely to play chess, and is at least the last I know of: https://en.wikipedia.org/wiki/Hydra_(chess)  
  > **username_9**: @MatijaSirk: An AI lecturer should keep up to date with developments in the AI field. Machine Learning overtook expert systems; neural networks overtook competing ML approaches, unsupervised reinforcement learning overtook supervised training of neural networks.  
  > **username_0**: @username_9 machines learning was not practical 35 years ago!  
  > **username_1**: @IanRingrose Yann LeCun was doing conv nets in the 90s, if you count that as machine learning (which I do)  
  
  ---
  
  ### Answer by username_0 on 2024-08-08. Score: 12
  
  This is more as an example than answering the question.
  
  "Legal move generation" had dedicated hard coded hardware in systems like Deep Blue, this hardware could generate the set of legal moves from a position much faster then any CPU at the time. (Still true with FPGA.) Then a few issues hit:
  
  * CPUs become fast enough that they could do "Legal move generation" faster than the set of legal moves could be transferred over the PCI bus, so however fast the dedicated hardware was, it stopped being useful, except on the some silicon chip as the CPU.
  * The cost of creating custom CPU sized silicon chips become unaffordable for anyone working in chess computers. There were no open source CPU designs like RISC-V, so a complete CPU would need designing not just the few custom instructions.
  * By the time a CPU with custom chess extensions was ready to be used, Intel would be many hardware generations ahead with commodity CPUs. So the custom CPU would need to be at least two order of multitude faster than a commodity CPU built on the same technology.
  * The primary issue with large search spaces become **random** (impossible to cache and hard to pipeline) memory access speed, as most of the "per move code" would totally fit in the Level 0 data/instruction cache. Custom CPUs don't speed up access to very large off chip memory systems.
  
  
  ---
  
  ### Answer by username_2 on 2024-08-08. Score: 4
  
  > When did software only engines overtake custom hardware?
  
  I think that your question can be answered even outside of the chess world. Historically, computers were huge machines (physically) where the hardware was so expensive that it was cheap to write the software specifically for each computer. Software was more like the filler of the blanks, rather than the focus of the product.
  
  With the introduction of personal PCs, things changed. It was proven that cheap (standardized) hardware with generic (cheap) software might be even better than what existed previously.
  
  And if we look at the lifetime of Deep Blue, it coincided with the shift of technologies (and mentality). It was created as a hardware-based product because that was the kind thinking in those days. It was exactly that kind of thinking that allowed IBM to consider software as irrelevant, and lose one of the biggest business opportunities of the world, possibly of all times, to Microsoft. To underline: IBM created Deep Blue (\*) in hardware BECAUSE IBM dismissed software as unimportant.
  
  The history after that is visible, I will not go into the details.
  
  ---
  
  (\*) IBM was not the original creator of Deep Blue (which was originally named differently), but IBM *could* change the concept from hardware to software, had they a different mindset.
  
  > **Comments:**
  > **username_3**: “ . . .  IBM dismissed software as important”. Should the last word be “unimportant”?  
  > **username_2**: @JohnBentin: "they dismissed the software not noticing it is important" **+** "they thought it is unimportant" = "dismissed software as important" :) Updated, tnx.  
  
  ---
  
  ### Answer by username_4 on 2024-08-13. Score: 3
  
  The last machine based on special hardware (FPGAs with a chess-specific configuration in this case) that was the undisputed strongest computer in the world was Hydra. Hydra was an FPGA cluster developed by a team around Christian Donninger, who was already known as a very competent chess programmer. It was probably the best chess computer in the world until around early 2006, when Rybka started to perform better than it on high-end commodity hardware.
  
  Software is much more flexible than hardware, i.e. you can update it freely if you discover a better way of doing things. Even FPGA-defined circuits are a bit more of a headache to port to new logic (or new underlying hardware) than software running on standard hardware is. Likewise, pure software solutions profit almost automatically from the very large amount of work that hardware vendors put into improving hardware. Also, it is not clear that anything could beat current Stockfish running on good hardware at tournament time controls much of the time without pre-set openings, because chess is drawn and Stockfish is probably good enough, on good current hardware, to prove this point in practice most of the time. So it seems likely that even the best chess machine this universe allows would not have a large Elo advantage over Stockfish.
  
  Lastly, funding for computer chess dried up quite a bit when it became clear that man vs machine matches would henceforth be uninteresting. It's possible that special hardware could still be interesting (maybe a machine with special circuitry running Stockfish's NNUE networks even more efficiently?), but nobody is willing to pay the rather significant development costs that would be necessary to prove it. This was very different in the era of Deep Blue, when special hardware was just enough to put the goal of playing at world champion level within reach.
  
  
  ---
  
  