Speaker
Mr
Mirko Mariotti
(PG)
Description
In this talk the Bondmachine architecture will be illustrated. A Bondmachine is a group of processors connected together and running concurrently to solve complex problems. The processors share a single clock and are interconnected by special I/O registers. Processors within a Bondmachine are meant to be specialized to address a high specific computational problem. To some extent the bondbachine architecture can be implemented over multiple targets (FPGA, Software emulation, etc )
Furhtermore the single processor can share non-computing elements like memories, channels, barriers etc.
A dedicated toolkit have been developed in order to allow the creation, simulation and mamipulation of Bondmachines as well their translation to HDL code. Also, a native network protocol over ethernet called etherbond, allow to extend the paradigm among multiples interconnected bondmachines.
Putting everything together, it results in a new kind of computing ecosystem.
Several ways to map computational problems on bondmachine have been also created:
- A compiler has been created to translate a subset of the Go programming language to the Bondmachine and offer the possibility of modeling the architecture on the specific problem rather than the opposite.
- A Bondmachine may be grown via evolutionary algorithms either on architecture generation, processors programs and interconnections.
- A set of API to model matemathical expressions, matrices and neural networks to bondmachines.
- A translator of TensorFlow models to bondmachines.
Bondmachine is concurrently being proposed as a possible way to make the real time pulse shape analysis on neutronic events for high-intensity neutron sources like The European Spallation Neutron Source (ESS).