6 ms·
The mark of a maturing domain is the evolution from only general tools to general + specialized. We've gone from only CPUs to CPU + GPU to specialized AI chips
by choudharism 4y ago
The mark of a maturing domain is the evolution from only general tools to general + specialized. We've gone from only CPUs to CPU + GPU to specialized AI chips (Neural Engine, Tensor chips etc.) and specialized computing is a big tent which can fit many different architectures together.
Analog computing is the closest thing to bioengineering in fundamental computer science that I know of, so I am confident that it will find a niche. I remember reading about Mythic AI here on HN, who were doing some cool work with analog computing chips for ML. My hunch is that matrix multiplication is the most expensive mathematical operation we do as a society (not unit expensive, but in overall absolute cost) - and our progress in AI is directly proportional to how easy / cheap it is to run.
- noduerme 4y agoMaybe I'm missing something, but wouldn't any optical computer have to still funnel signal through binary logic gates at some point? In what sense is that any more analog than (digital recordings on analog) magnetic tape decoded by a modem? The ultimate computation is still 1/0
- chongli 4y agoYou can do math with analog circuits. This was the original purpose of the opamp (operational amplifier) [1]. [1] https://en.wikipedia.org/wiki/Operational_amplifier https://en.wikipedia.org/wiki/Operational_amplifier
- noduerme 4y agohuh. So the distinction between analog and digital has nothing to do with whether the logic itself is binary, just whether the delivery of signal to gate is absolute or ranged? Something has to gate the signal, right? I always thought "analog" referred to processes that didn't reduce things to a binary at some step along the way...(?)
- nextaccountic 4y agoopamps aren't binary
- chongli 4y agoAs far as the circuits are concerned, there’s no such thing as digital. For human engineers, digital is a convention. Well, technically, there are numerous digital logic conventions based on different voltage standards. For example, you might decide that 0 volts is a logical 0 and 5 volts is a logical 1. If you get everyone to agree to this convention then you can build components that talk to each other. Unfortunately, it’s very difficult (impossible) to get to exactly 0 or exactly 5 volts. So instead you decide that anything less than 2 volts is a logical 0 and anything greater than 3 volts is a logical 1. This setup makes your circuits quite robust to noise. To further improve things, you might decide that when you want to output a logical 0 you must produce a voltage less than 1 volt and if you want to output a logical 1 you must produce a voltage above 4 volts. This convention allows your system to continually correct voltages away from the undefined region (between 2 and 3 volts). A marginal input of 3.1 volts gets interpreted as a logical 1 and then output above 4 volts. This “self-correction” is what made digital computers the revolution they are.
- noduerme 4y agoso .. the only thing I could imagine making a system "analog" would be if each voltage were treated differently, rather than segregated into 0 or 1 as you just described. If a whole range of signal between 0 and 5 volts were directly output to something like a speaker system, that would be analog. I guess I'm wondering how this optical computer would get around the bottleneck of reducing everything to binary as you described with an electrical system.
- alar44 4y agoYou'd use an ADC.
- sbaiddn 4y agoGet a ruler. Draw a line 10 cm long, AB. Now grab end B and draw another another line, BC, with a certain angle $/alpha$ wrt to the first. Now measure the distance AC. Congratulations! You have just built an analog computer to use the Law of Cosines to solve for line segment AC. Non-dimensionalize your result and its a general LofC solver. A problem that (I suspect) would take the majority of modern day Eng undergrads a week to program without the use of the math lib[1], can be solved by any keen middle schooler. Now build a robot that measures AC for you and you have an API for your analog computer. Typically an analog computer is thought of as a set of opamps and diodes, whose currents and voltages solve a set of non-linear ODEs; but thats a very narrow view. An analog computer is, ultimately, any physics experiment whose model is known Wind tunnel? Navier Stokes analog computer Cold atoms traveling through a double slit in a magnetic field? Analog Quantum computer RCL circuit? Analog computer solving the response of a car's suspension. [1] code reuse and libraries are a big reason why digital computers are more popular to solve models nowadays. Cost, bandwidth, are another. Ostensibly so is reproducibility. But if CS scientists cannot get reproducible builds, what hope does a humble physicist hacking on C or Matlab have?
- mellavora 4y ago> Typically an analog computer is thought of as a set of opamps and diodes, whose currents and voltages solve a set of non-linear ODEs; Oh oh oh! and also resistor/capacitor circuits! Great for integration or differentiation! Integration and differentiation have interesting audio effects; maybe our ears might be one of the better analog computers.
- fjkdlsjflkds 4y ago> Integration and differentiation have interesting audio effects An integrator is just a low-pass filter and a differentiator is just a high-pass filter, so you'll most likely get "boring" audio effects ;)
- sbaiddn 4y agoOur senses are incredibly good.
- 4y ago
- dahart 4y agoDigitizing the output of an analog computation doesn’t make it a digital computation. It’s still analog. The ultimate computation is not binary 1/0, it gets converted to binary after the computation. We may be able to save time or energy by changing representation. Imagine a NxN matrix-matrix multiply. The computation part is (naively) N^3 multiplies. The conversion back to digital is only N^2 operations, and those operations may be much simpler than digital multipliers. If there’s a way to do the N^3 multiplies as analog, then we can potentially save a lot by converting to and from binary to enable the analog phase.
- deleted 4y ago[deleted]