Description
Key Skills: C++, System Design, Performance Analysis, Linux, Hardware Performance Counters, Microarchitecture, Cross-Platform Development, Operating Systems, Profiling Tools, Software Engineering
Good to Have Skills: Experience with AMD uProf, perf, VTune, rocProfiler, knowledge of pipelines, caches, branch prediction, memory hierarchy, IBS sampling techniques, distributed/HPC workloads (MPI, OpenMP), trace analysis, call stacks, sampling-based profiling models, container environments, system-level debugging, AI/ML-assisted performance insights, FreeBSD experience.
Roles & Responsibilities:
- Design and develop system-level profiling tools spanning CPU, memory, IO, and power analysis for AMD platforms.
- Build and optimize data collection frameworks leveraging hardware counters, IBS, and OS tracing mechanisms.
- Develop low-overhead profiling infrastructure for large-scale and long-running workloads to ensure minimal performance impact.
- Enhance performance analysis pipelines including data processing, correlation, and visualization for actionable insights.
- Enable cross-platform profiling support across Linux, Windows, and emerging OS ecosystems like FreeBSD.
- Work on advanced analysis techniques such as top-down microarchitecture analysis, pipeline utilization, and bottleneck detection.
- Contribute to CLI and GUI-based tools for performance debugging and visualization to improve user experience.
- Integrate support for runtime and framework-level tracing including OpenMP, MPI, Java, and Python environments.
- Collaborate with CPU, GPU, kernel, and compiler teams to enable new hardware features in profiling tools.
- Drive automation and intelligent analysis, including AI/ML-assisted performance insights for enhanced tool capabilities.
- Participate in architecture discussions, design reviews, and roadmap planning as a senior team member.
- Take initiative in mentoring team members to achieve on-time delivery goals and maintain execution excellence.
Experience Required: Senior level position requiring hands-on experience with performance profiling tools, strong understanding of microarchitecture concepts, experience with hardware performance counters, familiarity with OS internals, and experience with distributed/HPC workloads.
Education: Bachelor's or Master's degree in Electrical or Computer Engineering. Master's degree preferred