Job Summary:
NVIDIA is a leader in GPU-accelerated computing, and they are seeking an experienced software professional to contribute to the design and development of Python APIs for numerical computing. The role involves optimizing GPU-accelerated implementations and supporting Python-based frameworks across various ecosystems.
Responsibilities:
• Work closely with product management and internal or external partners, to understand use cases and requirements, and contribute to the technical roadmaps of libraries
• Architect, prioritize, and develop accelerated and distributed implementations of numerical algorithms
• Design future-proof Python APIs for accelerated numerical/scientific computing libraries
• Analyze and improve the performance of developed APIs on various CPU and GPU architectures, especially as a part of customer-critical end-to-end workflows
• Prototype integrations of developed APIs into targeted frameworks
• Write effective, maintainable, and well-tested code for production use
• Contribute to the development of runtime systems that underlay the foundation of multi-GPU computing at NVIDIA
Qualifications:
Required:
• BS, MS or PhD degree in Computer Science, Applied Math, Electrical Engineering or related field (or equivalent experience)
• 6+ years of relevant industry experience or equivalent academic experience after BS
• Excellent Python, C++ and CUDA programming skills
• Strong understanding of fundamental numerical methods, dense and sparse array computing
• Deep familiarity with Python numerical computing libraries (e.g. NumPy, SciPy), including accelerated implementations (e.g. CuPy, Jax.NumPy, NumS, cuNumeric)
• Experience developing and publishing Python libraries, following standard methodologies for pythonic API design
• Strong background with parallel programming and performance analysis
Preferred:
• Experience using/contributing to Python libraries for data science (e.g. Pandas), machine learning (e.g. scikit-learn) and deep learning (e.g. TensorFlow, PyTorch)
• Experience with low-level GPU performance optimization
• Experience building, debugging, profiling and optimizing distributed applications, on supercomputers or the cloud
• Background with tasking or asynchronous runtimes
• Background on compiler optimization techniques, and domain-specific language design
Company:
NVIDIA is a computing platform company operating at the intersection of graphics, HPC, and AI. Founded in 1993, the company is headquartered in Santa Clara, USA, with a team of 10001+ employees. The company is currently Late Stage.