When I studied cognitive psychology I remember one of the professors told us about how they had been playing with implementing neurals nets on their PDP11 back in the day. I remember thinking that had to have been be a total waste of time. Silly me.
If I remember right that FORTRAN IV compiler really sucked, it used a stack machine and that floating point accelerator "sucked" by normal standards but was actually 100% effective at accelerating that stack machine. The FORTRAN 77 compiler that came latter was better.
Author here. They call it a FORTRAN IV compiler but it uses some F66 extensions, such as proper types and functions, although it lacks some of the nicer constructs of F66 like If/Then/Else, which would have been handy.
Regarding floating point, I realized the code actually works fine without an FPU, so I assume it uses soft-float. There's no switch to enable the FP11 opcodes, maybe that was in their F77 compiler.
It's indeed rough and spartan, but using a 64KB optimizing compiler requiring just 8KB of memory was a refreshing change for me.
When I studied cognitive psychology I remember one of the professors told us about how they had been playing with implementing neurals nets on their PDP11 back in the day. I remember thinking that had to have been be a total waste of time. Silly me.
The first convolutional neural network, the Neocognitron, was AFAIK implemented on a PDP-11 as well: https://www.semanticscholar.org/paper/Neocognitron%3A-A-neur...
No backpropagation back then, this only appeared around 1986 with Rumelhart, probably on VAX machines by that time.
The 11/34 was hardly a powerhouse (roughly a turbo XT) but it was sturdy, could handle sustained load and its FPU made the whole difference.
If I remember right that FORTRAN IV compiler really sucked, it used a stack machine and that floating point accelerator "sucked" by normal standards but was actually 100% effective at accelerating that stack machine. The FORTRAN 77 compiler that came latter was better.
Author here. They call it a FORTRAN IV compiler but it uses some F66 extensions, such as proper types and functions, although it lacks some of the nicer constructs of F66 like If/Then/Else, which would have been handy.
Regarding floating point, I realized the code actually works fine without an FPU, so I assume it uses soft-float. There's no switch to enable the FP11 opcodes, maybe that was in their F77 compiler.
It's indeed rough and spartan, but using a 64KB optimizing compiler requiring just 8KB of memory was a refreshing change for me.