Researchers Develop Transistor-Free Compute-in-Memory Architecture
allaboutcircuits.com
allaboutcircuits.com
In the past basically everything lost to Dennard scaling of silicon transistors. Then everything lost to massive capital spend to scale silicon transistors via other optimizations.
Now that we’ve clearly started hitting a wall (see Nvidia CEO recent statement on hardware no longer getting cheaper each cycle), these alternative paths may actually be able to compete on their own exponential learning curve.
That would further hurt silicon transistor scaling as manufacturers like TSCM shifted resources toward new materials scaling, creating a strong positive feedback loop.
As long as there’s some amount of scaling learning curve in a new material, it seems like the markets will shift rapidly (best guess 5-10 years) whereas before nothing could catch the exponential learning of silicon transistors.
As far as I remember, non-von Neumann architectures (Harvard architecture being the textbook example) are ones where program code is not stored in the same memory as data (please correct me if I'm wrong). Since most of the modern programs don't rely on modifying code in execution, why would software for non-von Neumann architectures be any different from the current software for von Neumann architectures?
If you look at writing C programs for AVR (Harvard architecture) there's a lot of extra stuff provided to allow reading from "program memory", with all regular pointers reading from RAM/data memory.
Thanks for the clarification.
That’s true for C++ and maybe Java and C#. Is that true for python or javascript? Swift?
It’s definitely not true for newer languages like Scala, rust or zig.
I should've phrased things differently not to imply that all of them use vtables - vtables was just the first example that popped to my mind.
There are some languages that are intended to parallelize implicitly, though. They tend to use keywords like "data-parallel" and "array language" to describe themselves. Futhark is a good example: https://futhark-lang.org/
Yes, but evaluation models can adapt easier when the language does not have explicit mutation, so there's less "catching up" to do for functional languages. Also concurrent programming will always require a separate class of constructs from parallelism.
There's also: https://wiki.haskell.org/GHC/Data_Parallel_Haskell
Imagine something like an FPGA but with memory.
So of course you have to find ways to make it do what you want, but that does not mean it could be combined with a traditional von Neumann architecture.
It’s practically ‘free’ since you perform multiplication by applying resistance to a current, and kirchoff’s law results in a sumnation of currents. Very elegant in concept.
That being said, when scaling this approach, I recall one paper saying they had serious issues with signal integrity, in part from analog process mismatch.
If this AlScN approach addresses that this would be really big. I’m interested to see if this can scale beyond a small model like mnist and also about how they map the weights.
The fact that most people just immediately try to find ways that these advancements can't work rather than trying to actually make them work is the reason that these things take so long to go from research to product.
And it's also an example of the type of weak cognition that will mean un-augmented humans will be irrelevant within the next quarter century.
Finding negatives is easy. Working through them to a positive result is gold.
With a new computing paradigm we should anticipate at least a 500X increase in compute per dollar over a period of 25 years. We also should anticipate quite a lot of progress in AI and brain-computer interfaces.
Obviously what I suggested is speculation, but sensible speculation in these areas based on historical trends anticipates changes that are just as radical as the ones we have seen.
"Moore's Law" came close to a wall a long time ago and has been braking hard. Compute-in-memory will allow us to speed up again.
Possibly? But the solution would be to put a Faraday cage around the memory. Something that effectively already happens when you have a heat sink on your memory. But further, you also have steal case surrounding your memory that helps there.
Rethinking the Computer Chip in the Age of AI:
Does this have the capability to amplify or oscillate?
This seems more analogous to the old core memory or diode-based ROM.