4

One can compute the integral of a function using software, specifically one can get add doubles to obtain an approximate integral -- this is fast but suffers from rounding errors, or one can use arbitrary precision -- this is precise but generally slower.

I was wondering if it is possible to implement a middle-ground in hardware (thus obtaining something that is fast, and of bigger precision than doubles) by generating in hardware a wave that corresponds to the function to be integrated and using a simple circuit with a capacitor and a resistor to obtain the integral of the resulting wave? Are there implementations of such "hardware integrators" and are they used in practice?

blaber
  • 104
  • 8
  • I'm assuming you've at least started here? https://en.wikipedia.org/wiki/Integrator – horta Jun 06 '20 at 03:48
  • Sure, but my question if this is actually used in HPC? Specifically, I'm looking for resources about what kind of precision and speed I can expect... I'm sorry if this is extremely well-known. – blaber Jun 06 '20 at 03:51
  • Also look up multiply-accumulate units. They're a part of an ALU particularly common in DSPs that is responsible for doing, essentially, integration. – Hearth Jun 06 '20 at 14:07

2 Answers2

2

Generally analog circuits like this aren't used in computers chips except for I/O and power delivery. The reason for this is that in the space that you can put an IC capacitor, you could have thousands if not millions of transistors. Capacitors eat up IC real estate. This is why the world has gone digital in general. Lots of transistors can be squeezed onto ICs.

As mentioned in my comment, there's other limitations of an analog integrator such as input offset error amplification and the bandwidth is small.

If there was a large enough application for needing integration in HPC, they would add digital hardware integrators into the cpu's or accelerators.

horta
  • 12,818
  • 23
  • 45
1

Not so long ago, most of the signal processing was analog. There was a ancient art of circuit theory, that helped the mankind to do relatively complex signal processing task only with integrators, derivators and constants. (capacitors, inductors, resistors and transistor amplifiers). Those were the days when transistors were expensive. They no longer are. However, there still is requirement for analog signal processing, as the physical world around us is analog. Also, even the speed of the transistor is/has been constantly increasing, you can not do much digital at tens of gigaherz frequencies. Moreover, you can do digital stuff only with numbers, and you do not see lots of numbers lying around.

One application of analog in "HPC" are analog neural networks, formerly called cellular neural networks. Those were the first steps towards "machine learning".