Role Overview
At NVIDIA, we build groundbreaking products for Deep Learning, High Performance Computing, Gaming, VR, and Automotive. As a member of the GPU Foundations Developer Tools team, you will innovate by developing performance analysis capabilities of NVIDIA hardware along with the Nsight tools and the foundation library to support next generation accelerated computing at datacenter scale. You will be developing software that empowers GPU application developers to build outstanding applications.
Responsibilities
- Partner with multi-disciplinary teams to design, implement, and verify performance metrics for NVIDIA GPUs
- Work on developing and improving methodologies for profiling data collection from GPUs
- Define, invent, and improve our GPU profiling library with new features to allow NVIDIA's customers to extract the best performance out of their applications
- Read and understand HW specs to design solutions based on it
- Work on software unit level tests and framework ensuring the quality of the product
- Work on supporting a variety of platforms ranging from super-computers to embedded systems
Requirements
- B.Tech. EE/CS or equivalent with 4+ years of experience, or M.Tech. with 2+ years of experience, or Ph.D.
- Strong programming ability in C, C++, Python with proficiency in Data Structures and Algorithms
- Solid understanding of Computer Architecture (e.g. x86, ARM CPUs, GPUs) and Operating System concepts
- Knowledge of SW design principles, as that's a key as we scale!
Ways to stand out from the crowd
- Experience in Device Drivers or System Software development
- Knowledge of GPU APIs such as CUDA, OpenCL, OpenGL, Direct3D, Vulkan
- Prior experience authoring developer tools, particularly for GPUs
- Experience in performance analysis of GPU applications
- Ability to read and write in Assembly language, especially for multi-processor architectures