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.
I always found it annoying that Rumelhart and McClelland named their books with the acronym “PDP” - Parallel Distributed Processing. Now I know that they were probably aware of the name collision…
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.
> it used a stack machine
Do you have some reading for this? I've used that compiler but I never read the resulting assembly language.
Yes! It took 73 years , but Fortran 77 was definitely better than Fortran IV
Why 73 years?
Fortan IV -- released in 1904. Fortran 77: 1977
Targeted https://en.wikipedia.org/wiki/Analytical_engine ?
I always found it annoying that Rumelhart and McClelland named their books with the acronym “PDP” - Parallel Distributed Processing. Now I know that they were probably aware of the name collision…
I did a few systems like this in the early 80s, but by then I was on a Vax and running Fortran 77.
Nice to see this. It’s a good way to learn the basics without getting bogged down with modern complexities.