
The Ericsson Many Core Architecture (EMCA) is an in-house developed ASIC architecture designed for computation in mobile networks. Among its components is a custom digital signal processor (DSP) core, for which we maintain a custom compiler. Applications running on the EMCA DSP have strict real-time constraints and limited hardware resources, making the performance and memory footprint of compiler-generated code very important.
Superoptimization takes fragments of the code being compiled and searches for the cheapest fragment that computes the same result. The candidates come from a search over possible programs, and a Satisfiability Modulo Theories (SMT) solver such as Z3 proves equivalence before one is accepted. A notable example is Souper, which works on LLVM Intermediate Representation (IR).
A previous thesis project adapted Souper to our tool chain and ran it offline over DSP application code. That work is the starting point for this project: a superoptimizer that already runs against our EMCA DSP target. One limiting factor in that project was the cost model, and this follow-up explores an alternative. Souper decides which fragment is cheapest from a table of fixed per-operation costs. Such a table can only guess, because the chosen fragment then passes through the rest of the compiler and is transformed further on its way to machine code. On a Very Long Instruction Word (VLIW) DSP, the gap is wide enough that Souper both accepts rewrites that are slower on the hardware and discards real improvements.
The project is hands-on: your work can directly influence our production compiler and DSP program performance. You will work with SMT-based reasoning about programs, target-specific compiler passes, a VLIW instruction set, and real hardware constraints.
This is a technically advanced thesis project suitable for:
Why join Ericsson?
At Ericsson, you´ll have an outstanding opportunity. The chance to use your skills and imagination to push the boundaries of what´s possible. To build solutions never seen before to some of the world’s toughest problems. You´ll be challenged, but you won’t be alone. You´ll be joining a team of diverse innovators, all driven to go beyond the status quo to craft what comes next.
What happens once you apply?
Click Here to find all you need to know about what our typical hiring process looks like.Encouraging a diverse and inclusive organization is core to our values at Ericsson, that's why we champion it in everything we do. We truly believe that by collaborating with people with different experiences we drive innovation, which is essential for our future growth. We encourage people from all backgrounds to apply and realize their full potential as part of our Ericsson team. Ericsson is proud to be an Equal Opportunity Employer. learn more.
Primary country and city: Sweden (SE) || Linköping
Req ID: 791221

The future of mobile isn’t on the horizon, it’s happening now. At Ericsson, we’re building the foundation for an open network ecosystem where industries, developers, and enterprises thrive.
The convergence of 5G, AI, cloud, and network APIs isn’t just a technological shift; it’s a transformation that is redefining industries and enhancing everyday life. Open, programmable networks are enabling real-time innovation and unlocking new business models across the globe.
Imagine a world where developers can dynamically access network capabilities on demand, where enterprises don’t just use connectivity but shape it. This isn’t a distant vision, it’s the ecosystem we’re creating today.
Collaboration fuels everything we do. By working across industries, we’re designing a future where connectivity isn’t just seamless. It’s intelligent, programmable, and transformative.
The shift is happening. Are you part of it?