About me
Name: Markus Lavin
Location: Lund, Sweden
Year of birth: 1978
Resume
Personal profile
Enthusiastic software engineer with 12+ years of industry experience. Professional interests range from compiler engineering, graphics programming, embedded software to digital architecture and design.
Employment
Software developer @ Ericsson
Location: Lund
Duration: October 2018 - Present
Summary: DSP compiler engineer working on compilers for the company’s proprietary DSPs.
Supreme genius engineer1 @ ZZZ-Consulting
Location: Lund
Duration: November 2017 - October 2018
Senior software engineer @ ARM
Location: Lund
Duration: August 2011 - November 2017
Summary: GPU compiler engineer working on compilers for the company’s Mali series GPUs.
Main achievements:
- Compiler middle end infrastructure (major improvements and rewrite)
- Loop analysis and optimizations
- Initiated and developed a very appreciated Lauterbach T32 like debugging tool for GPU model traces
- Started reading club on compiler theory and graphics
- Bug patrol
- And a lot more
Software engineer @ ST-Ericsson
Location: Lund
Duration: September 2006 - July 2011
Summary: Working mainly with DSP software and tools (e.g. execution platform, debugger software, coredump analyzers, compiler). Working with ARM software. General low level programming.
Main achievements:
- Execution platform for DSP cluster
- Debugging tools for DSP cluster
- Logging framework
Software developer @ Gambro
Location: Lund
Duration: August 2001 - June 2002
Summary: Embedded software and USB communication
Software developer @ Axis Communications
Location: Lund
Duration: June 2000 - July 2001
Summary: Embedded Linux and USB host device driver
Projects (outside of work)
- Various FPGA constructions (mostly a VLIW DSP and a multithreaded CPU)
- Prototype C compiler to evaluate code generation techniques
- Graphics engine (first based on OpenGL then Vulkan)
Skills / expertise
Technical
- C, C++ and assembly
- Graphics programming (OpenGL, Vulkan)
- Compiler engineering (infrastructure, optimization passes, feature development)
- Embedded systems (execution platform, multi core, debugging, DSP, FPGA, RTL, Verilog)
Personal
- Curious
- Innovative
- Once hooked very driven
Education
Lund University M.Sc., Mathematics 2002 - 2006 Master’s thesis in numerical analysis
Master’s thesis supervision
- Develop and prototype code generation techniques for a clause-based GPU (Dept. of Computer Science, Lund University, 2017)
- Basic-block vectorization for graphics compilers (Dept. of Computer Science, Lund University, 2013)
- Value Range Propagation on an Embedded GPU (Dept. of Computer Science, Lund University, 2013)
- Retargeting GCC for a DSP architecture (Dept. of Computer Science, Lund University, 2010)
Personal interests
My family, and at some previous point in life also hiking, nature, rock climbing, slacklining, boardsports and natural movement in general.
References
Given at request.
1 Well since it is my company I can assign myself this ridiculous title. On a more serious note though I do find that job titles are rather meaningless and often times arbitrarily applied.