But when it comes to programming a multicore system — whether multicores are homogeneous or heterogeneous, such an insurmountable task has been left to engineering teams’ “empirical experience” or their “seat-of-the-pants” programming, observed Kumar Venkatramani,vice president, business development at Silexica. “Software for these multicores has not come of age yet,” he said.
Silexica (Aachen, Germany) announced Wednesday that the next generation of the company’s SLX Tool Suite is shipping now. Silexica's engineering team spent more than a decade in multicore software design automation for complex, multicore platforms, before it was founded in 2014 as a spin-off from the Institute for Communication Technologies and Embedded Systems (ICE) at RWTH Aachen University.
The company offers a suite of automated software modelling tools both for multicore SoC developers and hardware/software system architects.
Silexica’s products include tools to expose parallelism and solve software mapping problems. They have been named respectively SLX Parallelizer, SLX Mapper, SLX Generator, and SLX Explorer. Under the new version, “Each tool has grown up,” said Venkatramani. Changes made in the updated version include: supporting additional languages and broadening the type and kinds of models.
Programming for multicores is no cakewalk, especially at a time when the number of cores is exponentially growing and those cores include different computation engines such as CPUs and DSPs.
Take an example of 5G base stations, said Venkatramani. It’s not unusual to find a project in which designers are developing a system consisting of 500 cores where 55,000 tasks must run. 500 engineers are put to the task in programming it. The project would take 4 times longer to complete, 3 times more engineers, resulting in 4.5 times more costly, he explained.
For now, Silexica is targeting its tools for three key market segments. They include embedded vision/augmented reality, wireless broadband and autonomous driving/ADAS.
Common to all three segments is that these applications tend to “push the boundaries of available hardware,” noted the company. These segments also use applications that have little legacy.
More important, those multicore system designers and programmers are under tremendous pressure to innovate. They need, more than anything else, tools that let them do data-oriented analysis, rather than “eye-balling” and relying on “gut feel,” Venkatramani explained.