Technology transfer and license agreements

MPSoC design

Parallelization with ATOMIUM/MPA
ATOMIUM/MPA (Multi-Processor Assist) carries out a parallelization expressed directly as what should be executed on which processor. This supports a designer’s decisions for heterogeneous platforms and results in a lightweight runtime system and reduced hardware support, both important for embedded systems. The MPA tool analyzes the relevant dependency structures and inserts communication and synchronization where necessary. In particular, the tool supports functional and mixed functional/data parallelism, an important capability that is overlooked in other methodologies.

Having a tool to analyze dependencies means that the parallelization is correct by construction and free of deadlocks and race conditions. The result of parallelization is used together with target-specific profiling information to give rapid feedback to the designer about the quality of the parallelization decisions. In particular, visualization of load balancing and causes of thread stalls allow the designer to iterate quickly over the choices to be able to meet parallel performance requirements. ATOMIUM/MPA has been successfully applied to the MPEG-4 Part 2 SP encoder in order to evaluate in a matter of hours several parallelization strategies involving different numbers of threads and different types of split.

Memory Hierarchy Management with ATOMIUM/MH
The MPSoC tools also tackle the problem of mapping multimedia applications onto multi-layer scratchpad-based platforms. In the past, cache-based platforms have been capable of largely hiding memory latency, with little or no designer effort. However, caches are energy-hungry and less suited for integration in portable multimedia devices, where battery lifetime is critical. Scratchpad-based platforms, on the other hand, have the potential to outperform caches in terms of speed and energy, but typically require a significant designer effort, since the data mapping and transfers have to be managed explicitly.

Therefore, imec has developed ATOMIUM/MH (Memory Hierarchy), a tool which can fully automatically tackle the scratchpad mapping problem for a large class of multimedia applications. It can autonomously introduce data copies, map them onto scratchpad memories, and insert the necessary DMA transfer instructions, based on a combination of static analysis and profiling information, aiming at a maximal performance and minimal energy consumption.