High Performance Software

The execution time of software applications is a limiting factor to many applications. Shorter execution times may make new operational modes, or even real-time operation, possible. Alternatively, shorter execution times make more detailed or more advanced functionality feasible.

DySI has an impressive track record in accelerating computer codes: speed-ups with a factor 2 to 10 are common, with few extremely successful projects where factors of 20 to 50 have been demonstrated.

Approach
In the DySI approach to software acceleration, three aspects are exploited;

  • Algorithm – the functional need for operations to be executed is analysed. Algorithm optimisations may lead to less calculations, lower memory consumption or more re-use of data.
    The goal is to reduce the number of required functional operations

  • Coding – based on detailed measurements of the resource usage during execution along with inspection of the generated assembly code, bottlenecks in the code are resolved and hotspots tempered. The code will run faster on given resources.
    The goal is to use less resources while executing the algorithm

  • Parallellisation – based on code that runs fast while not using much more resources as necessary, additional acceleration can be achieved by applying more resources, i.e. by parallellising to use multiple cores or multiple machines in a cluster or supercomputer.
    The goal is to gain speed by applying more resources.

read more > (Dutch)