Senior Software Engineer, GPU Systems

Beijing ByteDance Technology Co Ltd
  • San Jose, CA
    5 days ago

    Job Description

    About the Team We are a systems software team building the foundational software for large-scale GPU computing platforms. We work at the hardware/software boundary across the Linux kernel, accelerators, storage, firmware, and platform validation. We value rigorous engineering, clear interfaces, measurable performance and reliability, and upstream collaboration where appropriate. The team partners closely with hardware, architecture, product, validation, and production engineering groups to move new capabilities from design through dependable deployment.

    About the Role You will build and optimize low-level software that makes modern GPU accelerators usable, observable, and reliable in production. Your work may span kernel drivers, runtime components, firmware interfaces, resource management, telemetry, debugging tools, and performance-critical paths. You will own technically difficult features end to end and collaborate across the stack while remaining primarily accountable for code, validation, and production outcomes.

    Responsibilities

    • Design, implement, and maintain production GPU system software, including kernel-driver, runtime, firmware-interface, host-management components, debugging tracing and profiling tools, and GPU system performance measurement tools
    • Own accelerator features from proof of concept and architecture through implementation, pre-silicon or emulation validation, bring-up, qualification, and deployment.
    • Debug complex failures involving GPUs, CPUs, memory, PCIe or interconnects, IOMMU, firmware, operating systems, runtimes, and distributed workloads.
    • Profile workloads and remove bottlenecks in initialization, memory movement, scheduling, synchronization, communication, recovery, and device utilization.
    • Build automated tests, telemetry, dashboards, health checks, and diagnostic tools that make failures reproducible and regressions visible.
    • Partner with silicon, firmware, compiler, library, machine-learning framework, platform, validation, and production teams to deliver compatible system behavior.
    • Improve resilience through error detection, isolation, retry, reset, repair, graceful degradation, and clear operational procedures.
    • Review low-level designs and code, document hardware/software contracts, and share practical performance and debugging methods with peers.Minimum Qualifications
    • Bachelor's degree in Computer Science, Computer Engineering, Electrical Engineering, or equivalent practical experience.
    • 3+ years of professional programming experience in C or C++ for low-level, embedded, kernel, driver, runtime, or performance-critical software.
    • Solid understanding of computer architecture, operating systems, concurrency, memory hierarchies, DMA, interrupts, and device I/O.
    • Hands-on experience with GPU or accelerator software in at least one layer, such as kernel drivers, runtimes, firmware, libraries, collective communication, or performance tooling.
    • Demonstrated ability to diagnose system failures using traces, logs, profilers, debuggers, counters, and controlled experiments.
    • Experience delivering and maintaining production-quality features across hardware and software teams.

    Preferred Qualifications

    • Experience with CUDA, ROCm, Level Zero, OpenCL, Triton, CUTLASS, or comparable accelerator programming and runtime environments.
    • Knowledge of GPU scheduling, memory management, virtualization, PCIe, coherent interconnects, NUMA, or multi-GPU topology.
    • Experience with pre-silicon development, board bring-up, firmware communication, baseboard management controllers, or fleet qualification.
    • Familiarity with distributed training or inference and topology-aware communication libraries; this is preferred rather than a universal requirement.

    Numbers & Facts

    LocationSan Jose, CA

    Skills

    • C Programming Languageunmatched
    • C++ Programming Languageunmatched
    • CPU (Central Processing Unit)unmatched
    • CUDA (Compute Unified Device Architecture)unmatched
    • Computer Architectureunmatched
    • Computer Engineeringunmatched
    • Computer Firmwareunmatched
    • Computer Scienceunmatched
    • Computer Systemsunmatched
    • Concurrencyunmatched
    • Debugging Skillsunmatched
    • Debugging Toolsunmatched
    • Electrical Engineeringunmatched
    • Embedded Systemsunmatched
    • GPU (Graphics Processing Unit)unmatched
    • Hardware Architectureunmatched
    • Identify Issuesunmatched
    • Input/Outputunmatched
    • Kernel Programmingunmatched
    • Linux Kernelunmatched
    • Low-Level Designunmatched
    • Machine Learningunmatched
    • Machine Toolunmatched
    • Memory Hardwareunmatched
    • Memory Managementunmatched
    • OpenCLunmatched
    • Operating Systemsunmatched
    • Operations Processesunmatched
    • PCI Express (PCI-E)unmatched
    • Performance Metricsunmatched
    • Product Testingunmatched
    • Production Systemsunmatched
    • Proof of Conceptunmatched
    • Quality Managementunmatched
    • Reporting Dashboardsunmatched
    • Resource Managementunmatched
    • Software Engineeringunmatched
    • Systems Engineeringunmatched
    • Systems Maintenanceunmatched
    • Team Buildingunmatched
    • Telemetryunmatched
    • Test Automationunmatched
    • Topologyunmatched
    • Vehicle Fleetsunmatched
    • Virtualizationunmatched

    Be found by employers

    5,500+ employers search our resume database daily. Add yours to get found by recruiters looking for candidates like you.

    Level up your application

    Professional resume templates

    Browse dozens of recruiter approved resume templates, layouts and formats. Choose your favorite and make it your own in minutes.

    Free resume templates

    Free resume builder

    Improve your existing resume or start from scratch and create a standout, ATS-friendly resume. Add job-specific content, download and apply.

    Free resume builder