Dynex

# Dynex SDK

Customers can run computations on the decentralised Dynex neuromorphic computing platform, which is empowered by a growing number of contributing workers. These are miners who are running the proprietary Proof-of-Useful-Work (PoUW) algorithm DynexSolve. Dynex’s proprietary job management and scheduling system **Dynex Mallob** ensures that computing jobs are being distributed and computed in the fastest way possible.

Computations are performed by initialising the Dynex processing unit (DPU) into a ground state of a known problem and annealing the system toward the problem to be solved such that it remains in a low energy state throughout the process. At the end of the computation, each state ends up as either a 0 or 1. This final state is the optimal or near-optimal solution to the problem to be solved. In practice, it can be used as an Ising/QUBO sampler.

#### Dynex SDK

The Dynex SDK provides a neuromorphic Ising/QUBO sampler which can be called from any Python code. Developers and application developers already familiar with the Dimod framework, PyQUBO or the Ocean SDK will find it very easy to run computations on the Dynex neuromorphic computing platform: The Dynex Sampler object can simply replace the default sampler object which typically is used to run computations on, for example, the D-Wave system – without the limitations of quantum machines. The Dynex SDK is a suite of open-source Python tools for solving hard problems with neuromorphic computing which helps reformulate your application’s problem for solution by the Dynex computing platform. It also handles communication between your application code and the Dynex neuromorphic computing platform automatically.

##### Learn more

##### Packages

> Dynex Qiskit Package on GitHub

##### Documentation

##### Guides

> Medium: Computing on the Dynex Neuromorphic Platform: Image Classification

> Medium: Computing on the Dynex Neuromorphic Platform: IBM Qiskit 4-Qubit Full Adder Circuit

##### Dynex PyTorch Integration

Neuromorphic Dynex Chips can be used as Torch Layers ("DNX layer") in any PyTorch NN model with the Dynex SDK. This provides Python programmers easy access to neuromorphic computing as it provides seamless integration for machine learning and Artificial Intelligence tasks. DNX layers can be used stand-alone and combined with classical Torch layers (hybrid machine learning models) or used for transfer learning concepts. As DNX layers can also be run in parallel, federated machine learning tasks can be performed on the Dynex platform.

Figure: A hybrid NN Torch model using two classical and one Dynex neuromorphic Torch layer.

##### Dynex IBM Qiskit Package

Thanks to groundbreaking research from Richard H. Warren, it is possible to directly translate Qiskit quantum circuits into Dynex Neuromorphic chips. The concept behind is a direct translation of Qiskit objects, but instead of running on IBM Q, the circuits are executed on the Dynex Neuromorphic platform. Here is an example of a one-qubit adder circuit using this approach.

##### Dynex Scikit-Learn Plugin

The D-Wave quantum computer has been widely studied as a discrete optimization engine that accepts any problem formulated as quadratic unconstrained binary optimization (QUBO). In 2008, Google and D-Wave published a paper, Training a Binary Classifier with the Quantum Adiabatic Algorithm, which describes how the Qboost ensemble method makes binary classification amenable to quantum computing: the problem is formulated as a thresholded linear superposition of a set of weak classifiers and the D-Wave quantum computer is used to optimize the weights in a learning process that strives to minimize the training error and number of weak classifiers. The Dynex Scikit-Learn plugin provides this QBoost algorithm to use the Dynex Neuromorphic Platform.

##### Next Generation Algorithms for Machine Learning

Quantum computing algorithms for machine learning harness the power of quantum mechanics to enhance various aspects of machine learning tasks. As both, quantum computing and neuromorphic computing are sharing similar features, these algorithms can also be computed efficiently on the Dynex platform – but **without the limitations** of limited qubits, error correction or availability.

##### Dimod: A shared API for QUBO/Ising samplers

Dimod is a shared API for samplers. It provides classes for quadratic models—such as the binary quadratic model (BQM) class that contains Ising and QUBO models used by samplers such as the Dynex Neuromorphic Platform or the D-Wave system—and higher-order (non-quadratic) models, reference examples of samplers and composed samplers and abstract base classes for constructing new samplers and composed samplers.

##### PyQubo: QUBOs or Ising models from flexible mathematical expressions

PyQUBO allows you to create QUBOs or Ising models from flexible mathematical expressions easily. It is Python based (C++ backend), fully integrated with Ocean SDK, supports automatic validation of constraints and features placeholder for parameter tuning.