Marko Radosavljevic

Software Engineer specializing in ML Inference & Performance Optimization

Belgrade, RS.

About

Highly skilled Software Engineer with a Master's in Computer Science, specializing in optimizing machine learning inference systems and high-performance computing. Proven track record in significantly reducing latency by up to 45% and achieving ~60% speedup through advanced parallel algorithms, compiler optimizations, and efficient hardware utilization. Eager to leverage expertise in performance engineering, distributed systems, and ML acceleration to drive innovation in challenging technical environments.

Work

AMD

|

Software Engineer 2

Belgrade, Serbia, Serbia

→

Summary

Currently optimizing LLM inference performance on GPUs, focusing on throughput, latency, and hardware utilization to enhance AI model efficiency.

Highlights

Leading initiatives to optimize Large Language Model (LLM) inference performance on GPUs, targeting significant improvements in throughput and latency for advanced AI applications.

Focusing on maximizing hardware utilization and efficiency across GPU architectures to enhance the scalability and cost-effectiveness of LLM deployments.

Tenstorrent

|

Software Engineer

Belgrade, Serbia, Serbia

→

Summary

Designed and optimized ML inference pipelines for custom Tensor Processing hardware, achieving significant latency reductions in distributed systems.

Highlights

Designed and tuned high-performance ML inference pipelines for custom Tensor Processing hardware, utilizing PyTorch models as reference, with a strong focus on low-latency and high-throughput execution.

Implemented advanced parallel algorithms to leverage hardware concurrency, scaling the inference pipeline to a multi-chip distributed system and achieving a remarkable 45% end-to-end latency reduction.

Microsoft Development Center Serbia

|

Software Engineer Intern

Belgrade, Serbia, Serbia

→

Summary

Developed and optimized internal tools for Azure SQL Managed Instance, enhancing high availability, disaster recovery, and cloud migration experiences.

Highlights

Developed and optimized an internal tool for High Availability and Disaster Recovery (HADR) within Azure SQL Managed Instance, leveraging C# and PowerShell for robust solutions.

Improved the cloud migration experience for customers transitioning from on-premises solutions, streamlining the process and enhancing user satisfaction.

Microsoft Development Center Serbia

|

Software Engineer Intern

Belgrade, Serbia, Serbia

→

Summary

Built a client-side ML inference system that achieved significant speedup by utilizing cached models and reducing network calls.

Highlights

Engineered a client-side ML inference system utilizing cached (local) models instead of repeated network calls, achieving approximately 60% speedup in inference time.

Developed and implemented system components using C# and TypeScript, ensuring robust functionality and efficient data handling.

Education

University of Belgrade

Belgrade, Serbia, Serbia
→
Master Computer Science Grade: GPA: 9.8/10

University of Belgrade

Belgrade, Serbia, Serbia
→
Bachelor Computer Science Grade: GPA: 9.1/10

Skills

Programming Languages

C++, Python, C#, SQL, Java, Haskell.

Tools & Frameworks

PyTorch, LLVM, Git, Docker, vLLM, GitHub Actions.

Technical Concepts

Performance Engineering, Parallel & Distributed Systems, Accelerator Programming, ML Inference Systems, Systems Optimization.

Projects

Stochastic SAT solver

Summary

Implemented a heuristic, incomplete SAT solver in C++ designed for large CNF instances where complete solvers are computationally impractical.

kOrganizify

Summary

Developed a smart scheduling application with a SmartPlan auto-planner, real-time availability matching, and calendar syncing capabilities using C++ and Qt6.

Minimum Multi Cut

Summary

Solved the NP-hard Minimum Multi-Cut problem using advanced metaheuristic algorithms to efficiently find minimal-weight edge sets in graph networks.

OurMem2RegPass

→

Summary

Developed an LLVM pass to optimize compiler performance by promoting stack-allocated variables to SSA form, significantly reducing memory access overhead.