Skip to main content

Toshiba Claims New Algorithm Runs Faster on Desktop PCs than Similar Algorithms on Supercomputers

(Image credit: Shutterstock)

Toshiba announced that a quantum computing-inspired algorithm could outperform other similar (combinatorial optimisation) algorithms running on supercomputers, but while using the resources of a single desktop computer.

Its creator Hayato Goto, a senior research scientist at Toshiba, called it the “Simulated Bifurcation Algorithm” after noticing how the qualities of certain complex systems can suddenly change after new inputs are added, creating a phenomenon called bifurcation. A combinatorial optimisation algorithm attempts to extract an approximate (good) solution out of a high number of possible combinations.

After he first came up with the idea in 2015, it took Goto another two years to implement the algorithm in a way that it could efficiently sift through a huge number of possibilities, much like a quantum computer can. The difference being that it only required a desktop machine with off the shelf components to run it. 

Goto also partnered with Kosuke Tatsumura, another Toshiba senior research scientist whose semiconductor expertise allowed the team to make the algorithm highly scalable. It can now work not just on a single computer, but also on clusters of server CPUs and FPGAs. 

Using a cluster of FPGAs, Toshiba's algorithm proved to be ten times faster than a laser-based quantum computer, too, which is currently the fastest at solving a particular set of problems.

Quantum computers are meant to solve many of the same problems that this algorithm addresses, but so far, they haven’t become powerful enough to deal with large numbers of possibilities. In the meantime, scientists like Hoto continue to find new classical algorithms, some even inspired by quantum computers that can solve certain problems much faster than it was previously possible or with much lower resources.

Until quantum computers become more practical, Toshiba intends to sell access to its Simulated Bifurcation Algorithm to financial and stock trading companies, social networks, manufacturing companies, and any other company that needs to solve combinatorial optimization problems much more efficiently (and therefore more cheaply).

  • ron baker
    I was always told NEVER to use GOTO in programming ... maybe thats why its faster ?
    Reply
  • bit_user
    ron baker said:
    I was always told NEVER to use GOTO in programming ... maybe thats why its faster ?
    You could write some seriously fast code, using jump tables. Back in the day, at least... but maybe not so much, on modern CPUs.

    From a source cited in the article:

    Details of the new technology are published in the online academic journal Science Advances.

    The Simulated Bifurcation Algorithm harnesses bifurcation phenomena, adiabatic processes, and ergodic processes in classical mechanics to rapidly find highly accurate solutions. Toshiba derived the principle from a theory of a quantum computer proposed by the company itself. This discovery in classical mechanics inspired by quantum mechanics is an academically interesting, highly novel result that suggests the existence of unknown mathematical theorems.

    So, um, I think it's more than just GOTO's.
    Reply
  • nofanneeded
    ron baker said:
    I was always told NEVER to use GOTO in programming ... maybe thats why its faster ?

    What "goto" ? you call libraries "objects" in Programming. goto ??!!?? how old is that?
    Reply
  • Rdslw
    nofanneeded said:
    What "goto" ? you call libraries "objects" in Programming. goto ??!!?? how old is that?
    ~20 years now (since its dropped, ~50 since introduction). AND goto is not optimized by branch prediction so you will go back with performance to pentium 4 days, and probably end up with few memory security issues.
    Reply
  • bit_user
    Rdslw said:
    ~20 years now (since its dropped, ~50 since introduction).
    C still has it.

    Rdslw said:
    goto is not optimized by branch prediction
    goto should just compile into a jmp instruction. There's nothing to predict - it's not conditional.

    Rdslw said:
    so you will ... probably end up with few memory security issues.
    There are two basic problems with goto:
    It tends to result in messy, hard-to-follow control-flow. This is the main reason it fell out of favor.
    It doesn't play well with object scoping, leading to potential memory & resource leaks.It's not inherently bad for security, although anything which makes code more buggy or harder to understand/maintain will also tend to have security implications.

    If you want something that really melts your mind, check out setjmp()/longjmp(). Try using that correctly, in C++.
    Reply
  • TJ Hooker
    Uh, I believe the "GOTO" reference in the first comment was just a pun based on the researchers name...
    Hayato Goto
    Reply
  • bit_user
    TJ Hooker said:
    Uh, I believe the "GOTO" reference in the first comment was just a pun based on the researchers name...
    Ah. Ha! Good one.
    Reply
  • StewartHH
    ron baker said:
    I was always told NEVER to use GOTO in programming ... maybe thats why its faster ?

    You realize in the end all programming eventually uses GOTO but more specifically JMP instruction in the CPU. But I think you are referring to GOTO in BASIC or specific situation for error handling I C
    Reply
  • ron baker
    Code snippet
    GO JMP(inalake) .
    Yes surname .. LOL
    Does InTel use C++++ to program their new CPU's ?
    Reply