About The Position

At NVIDIA, we build groundbreaking products for the following sectors: Automotive, VR, Gaming, Deep Learning, and High Performance Computing. See your efforts in action as developers use your tools to debug, profile and analyze the performance of their systems/applications using the low-level libraries that you helped to craft as a member of the GPU Foundations Developer Tools team! Innovate as you develop the performance analysis capabilities of NVIDIA hardware along with the Nsight tools and the foundation library to support next generation accelerated computing at datacenter scale. As a system software engineer in the Developer Tools group, you will be developing software that empowers GPU application developers to build outstanding compute applications deployed on the world’s largest distributed environments. We are seeking a talented Software Engineer to join our team and contribute to the performance triage development and co-design of foundational software libraries for developer tools in collaboration with our Hardware Architecture team. Join our team and gain exciting opportunities to work hands-on at every layer of NVIDIA's outstanding technology.

Requirements

  • B.S. EE/CS (or equivalent experience) and 5+ years of experience or MS with 2+ years' experience, or Ph.D.
  • Strong programming ability in C, C++, and scripting languages such as Python.
  • Good understanding or prior experience with low level assembly code.
  • Solid understanding of hardware pipeline and execution unit instruction pipeline concepts, with a willingness to work at a detailed implementation level.
  • Knowledge of hardware-software co-design principles and practices.
  • Experience with performance analysis and optimization of software on hardware accelerators.
  • Experience with developing on simulators and emulators.
  • Excellent problem-solving skills and the ability to work collaboratively in a team environment.
  • Strong communication skills, both written and verbal.

Nice To Haves

  • Shown knowledge of compute (CUDA/OpenCL), modern graphics (DirectX12, OpenGL, Vulkan, Metal), or DL frameworks (PyTorch/JAX).
  • Prior experience authoring developer tools, particularly for GPUs, games, pro visualization, or compute workloads.
  • Knowledge of performance analysis, particularly of GPU applications.
  • Experience in driver development.

Responsibilities

  • Design, develop, and maintain GPU performance foundation libraries for Nsight tools with focus on high fidelity hardware events and counters.
  • Develop and implement GPU assembly tests.
  • Build and maintain a test validation framework written primarily in CUDA and GPU Assembly.
  • Utilize emulators to debug and verify instruction events.
  • Document tools use cases and data processing workflows to facilitate architectural explorations.

Stand Out From the Crowd

Upload your resume and get instant feedback on how well it matches this job.

Upload and Match Resume

What This Job Offers

Job Type

Full-time

Career Level

Mid Level

Number of Employees

5,001-10,000 employees

© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service