back to article Suffering ceepie-geepies! Do we need a new processor architecture?

Do we need a new processor architecture? Graphcore says that machine learning computation is different from existing computational types, and will be broad enough in its usage for – as well as accelerated significantly by – a dedicated processor architecture. If UK-based Graphcore is right, then its IPU will join CPU and GPU …

  1. Anonymous Coward
    Anonymous Coward

    Well, what about inspirations, sudden flashes of novel insight that seem to come out of nowhere? Like say Einstein and General Relativity? Or just happening to figure out that taking process A, putting it into another, unrelated, process B, then combining them into a C somehow makes something never seen before yet extremely useful?

    1. Paul Smith

      What about them? When a large truck is heading for my self-driving car, I would rather that it did not take that as an opportunity to contemplate the significance of id and ego on a semi-autonomous entity.

      1. Charles 9

        Yes, but it MIGHT be nice for it to consider that, with cars bumper-to-bumper on the one side blocking that exit, that it may be preferable to try to ram the guardrail on the other side or navigate the otherwise-illegal "emergency opening" in the median, even if it was never taught this before. Perhaps, as a last resort, intentionally put itself on its side to present less cross-section to the oncoming truck and focus the meat towards the median. IOW, to think outside the box and find a third option through which the driver may be better able to escape with his/her life.

        1. Filippo Silver badge

          Re driving, I would far prefer for the machine not to have the ability to "get creative", and that kind of responses to be well-defined, programmed in advance, predictable and reliable.

          1. Charles 9

            Even when the situation is FAR from predictable or typical?

            1. Cynic_999

              "

              Even when the situation is FAR from predictable or typical?

              "

              Humans are very poor in that situation, and are more likely to make a situation worse than better. It's why airline pilots use an emergency checklist which attempts to include every eventuality rather than making it up as they go along.

              1. Anonymous Coward
                Anonymous Coward

                "Humans are very poor in that situation, and are more likely to make a situation worse than better. It's why airline pilots use an emergency checklist which attempts to include every eventuality rather than making it up as they go along."

                So you're saying there's a section on losing both engine soon after takeoff and you only have seconds to find someplace to land? I don't think "ditch in the Hudson River" would've been in the book that day. Sometimes, you have no choice but to wing it.

    2. Mage Silver badge

      Re: Inspirations

      Maxwell was very close and Einstein credited him and others. Einstein was brilliant, but it wasn't "out of nowhere". The time was right.

  2. Oliver Humpage

    Quick bit of history: Graphcore was spun out of XMOS, which in turn took on the legacy of INMOS who invented the massively parallel transputer chip way back in the early 80s. Maybe the transputer's time has finally come :)

  3. Anonymous Coward
    Anonymous Coward

    "[...] but FPGA design is fixed once expressed as hardware and thereby inflexible, [...]"

    Since the Xilinx developments of the mid-1980s - SRAM FPGAs have been reprogrammable on the fly. That was a revolution compared to the one-off fused PROM types from Actel.

    One of the earliest Xilinx reference designs was reloading the FPGA between transmit and receive phases of a serial line. Later developments allowed for partial reloads to reconfigure only parts of a running system's function.

    It has always been possible to reconfigure FPGAs on the fly in PCs so as to adapt calculation algorithms during data processing.

    1. Mage Silver badge

      Adaptation

      It has always been possible to reconfigure FPGAs on the fly in PCs so as to adapt calculation algorithms during data processing.

      I agree.

      However I'm not convinced how useful it is compared to a program running on a CPU. An FPGA is designed by humans. It's not simple (I've done it). It's essentially like designing a PCB full of digital ICs. I'd expect that most adaptation is either an alternate pre-defined design, or different parameters (to get round lack of on-board RAM). An FPGA has some dedicated multipliers and loads of RAM based cells, implementing logic functions using a look up table. You can inefficiently implement an actual CPU core, or get ones with dedicated actual CPUs built in, but otherwise an FPGA is just a table defined TTL logic board in an expensive power hungry chip to avoid ASIC NRE. It can only "run" a program in sense of GPU, CPU or "Graph" processor by first having the design of one of those implemented in it.

      You could at "run" time switch a soft defined CPU from say an x86 to an ARM, or 6502 to Z80. But I'm not sure why you would!

      1. Anonymous Coward
        Anonymous Coward

        Re: Adaptation

        "However I'm not convinced how useful it is compared to a program running on a CPU."

        A reprogrammable FPGA gives you the parallel processing capability of logic chips in a denser, less power hungry, physical form.

        In the late 1980s there was a tendency for network products to use faster, and much more expensive, microprocessors to avoid the upgrade problems of ASICs or hard-wired TTL chips. They were limited by the rate at which a serial processor can handle what are effectively parallel signals. Our company used a much cheaper microprocessor combined with a reprogrammable FPGA and CAMs. We warehoused at a fraction of the market price set by our competitors.

      2. Cynic_999

        Re: Adaptation

        A product that I developed was designed to interface to the customer's multi-function printer via the printer's auxilliary port. The problem was that almost every printer model (even from the same manufacturer) had a completely different way of implementing the interface. Some were pretty complex such as one that was a raw CPU bus where we had to provide it with I/O port decoding on certain addresses, while others were simple synchronous or non-synchronous serial ports of one sort or another (SIO, I2S, Manchester etc)

        The solution I adopted was to have a multi-way connector on my device that went to a small Xilinx, and the Xilinx would be loaded by the CPU at boot time with the appropriate configuration for the printer make & model as selected by the customer. We then had to stock only one hardware board plus a range of interface cables (some of which incorporated simple level changing circuits) that could be quickly made to order if necessary.

  4. Mage Silver badge
    Boffin

    FPGA

    Not a CPU/Processor type

    FPGAs can be specifically designed, but FPGA design is fixed once expressed as hardware and thereby inflexible, Graphcore says, which adds that they are also difficult to program, power-hungry and have relatively low performance.

    FPGA is primarily an implementation method for prototypes or low volume production, where power consumption and die size (per chip production cost less important than ASIC NRE costs).

    In theory an FPGA "could" be reconfigured at run time, rather than as a field upgrade. That's not a processor type either. Does anyone have any example of such a product in production?

    1. Anonymous Coward
      Anonymous Coward

      Re: FPGA

      "In theory an FPGA "could" be reconfigured at run time, rather than as a field upgrade."

      Xilinx reprogrammable SRAM FPGAs had reference designs when they came out in the mid-1980s. One was revolutionary as it reloaded between the transmit and receive phases on a serial line.

      A networking product in the late 1980s had several possible Xilinx FPGA download images available in the box - each one expressed particular options that the management station selected. This made it very efficient as the FPGA didn't have unused modes taking up space that would have required a more expensive chip.

      A piece of test gear in the late 1980s overcame the limitations of the then Xilinx maximum gate counts by run-time "compiling" of the FPGA download image to modify certain preset features. That set up user configurable timing counters and test conditions etc.

      Those examples were in the infancy of the reprogrammable FPGA. Over the last 30 years FPGAs' capabilities have grown enormously as the gate counts have increased by several magnitudes. They now have partial reloads while running - and enough gates to include an embedded cpu function as part of the on-board capability.

      The challenge has been to describe a language that allows an FPGA function to be expressed as dynamic changes to algorithms when doing data processing in a main processor.

    2. Hull

      Re: FPGA

      FPGA reconfiguration at runtime: It's being researched in academia, see scholar.google.com "partially reconfigurable FPGA"

      Some state-of-the-art FPGA by the big vendors can already do this, support in their design suites is less-documented and incomplete, by my last information (1 year old).

      1. Mage Silver badge

        Re: FPGA

        "Some state-of-the-art FPGA by the big vendors can already do this, "

        AFAIK almost all can. Years ago.

        The bigger issue is doing it in a useful fashion. You can do a SDR where so as to avoid wasting internal resources, the filters, noise blankers, demodulation type etc are different designs loaded from external Flash at "run" time as a result of signal conditions or operator selection, using a separate CPU even to control the JTAG.

    3. Ken Hagan Gold badge

      Re: FPGA

      It doesn't sound like this company has told us the extent to which their processor can be reconfigured at run-time, so it is entirely possible that they are no better placed than someone using a clever FPGA on one of the chips that Intel and AMD have (both?) promised that will include an FPGA on the die.

      If they aren't doing something distinctly different from that, I'd bet on Intel's manufacturing abilities rather than a small start-up's cleverness. Of course, this may be *why* they aren't saying anything yet; they want a head start!

  5. John Smith 19 Gold badge
    Go

    "graph with 18.7 million vertices and 115.8 million edges."

    So how many FP processors can you put in an FPGA?

    How many FPGA's can you put on a board.

    I think it was interesting when the EFF built their DES cracker (to finally prove DES was FUBAR) they looked at this and went with ASIC's because it was a more affordable solution.

    Those numbers mean either 2^25 or 2^27 elements are being processed. So either those PE's have to be very simple (how much smaller a floating point range can you get away with) or you'll need a lot of chips.

    This looks quite sensible, although I'd wish the graphic at the top could be blown up. It's pretty useless at that size.

    BTW has anyone else noted someone has been fiddling with the outlining code for icons?

    1. This post has been deleted by its author

      1. Mage Silver badge

        Re: "graph with 18.7 million vertices and 115.8 million edges."

        view background gives

        https://www.graphcore.ai/hubfs/images/alexnet_label.jpg?t=1487676776004

        However it's not "real", just artistic.

  6. Anonymous Coward
    Anonymous Coward

    "[...] and went with ASIC's because it was a more affordable solution."

    An ASIC is more cost effective if the function is fixed, does not require upgrades over a network, and the quantity needed is large enough to cover the NRE costs.

  7. &rew

    Stealing a march on Quantum?

    Large array probabilistic problems are what quantum computers are supposed to do in a few steps, run many times to determine outcome probabilities. Looks like this solution is trying to speed up the brute force classical method by tailoring the chip architecture.

    1. Anonymous Coward
      Anonymous Coward

      Re: Stealing a march on Quantum?

      Yep, I was thinking the same thing; this is dovetailing with quantum computing in a interesting, and hopefully fruitful way, once some chips start to be deployed and the performance is up to the task. Whereas quantum computers will have high levels of accuracy and do the TIP (training, inference, prediction) tasks with blinding speeds, this type of processor architecture is fascinating in that the needs are for massively parallel cores with low-precision floating point capabilities. Something we can build today, and can get the 'bleeding edge' software developers coding to it and perhaps having something useful to port to real QCs, when they are more widely available. Great stuff, very interesting article!

      Here's something that looks similar from those wacky IBM folks:

      https://en.wikipedia.org/wiki/TrueNorth

      FPGAs are wondrous devices, but can you build a 4096 core specialized CPU out of one and have it perform as well as a dedicated, purpose-built device?

  8. Anonymous Coward
    Anonymous Coward

    So let me see if my tiny mind understands this,

    Simultaneously multiple programs will run determining answers however these are all connected at another level and the outcomes of each answer influences all the other answers and the final answer?

    So in theory without having to determine every question and answer if you feed enough already answered questions the program would be able to determine answers on it's own?

    Am I close with that?

  9. Tom Paine

    Been here before

    This all sounds not dissimilar to Lisp machines.

    https://en.wikipedia.org/wiki/Lisp_machine

    1. no-one in particular

      Re: Been here before

      I was thinking more of the Japanese "Fifth Generation" which was intended to run Logic Programming because that was the bees-knees of AI back in the 1980s.

      The inevitable Wikipedia article

      https://en.wikipedia.org/wiki/Fifth_generation_computer

      - although that me grit my teeth because it presents "argument" that there were "parallel generations of programming languages" because they've fallen hook, line and sinker for the "4GL" marketing twaddle that came out because of misreading the line "Prolog is the language of the Fifth Generation" as "Prolog is a fifth generation language" so we can call our database language "fourth generation" and then retrofitting "SQL is 4GL" to the claim here that "TeX is 4GL".

      </rant_to_get_lots_of_downvotes>

  10. Anonymous Coward
    Anonymous Coward

    FPGA notes

    As a grab-bag response to a number of the posts above

    It's now possible to do "High Level Synthesis" for FPGAs, compiling C-code to logic structures. Both big vendors have HLS products (OK Altera's is OpenCL). In essence the HLS compiler identifies the data flow in the C code and builds a dataflow machine that has the same behaviour.

    FPGAs currently available come with up to 1500 floating point DSP blocks. So plenty of parallel processing power available.

    Main pain point is the long compile times (hours) especially for HLS.

    I can believe that a machine-learning optimised processor would beat out the CPU, GPU, FPGA alteratives for machine learning applications.

    FPGA will always suffer in comparison with purpose-designed hardware; however with specialised hardware there is always the risk of new techniques coming out that aren't suited to the hardware. With FPGAs you can implement completely different techniques if desired (and you have enough time!).

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Other stories you might like