NVIDIA-posted 5 days ago
Full-time • Mid Level
Us, CA
5,001-10,000 employees

We are looking for software engineers to contribute to the design and development of libraries and tools to simplify and accelerate computing for unstructured sparsity in DL and HPC. Around the world, leading commercial and academic organizations are revolutionizing AI, data analytics, and scientific and engineering simulations, using data centers powered by GPUs and high-performance linear algebra libraries. Applications of these technologies include LLMs, computer aided engineering, quantum chemistry, autonomous vehicles, computer vision, and countless others. Did you know our team develops the GPU accelerated libraries and SDKs that help make these possible? In this role, you will work together with other developers on developing solutions that involve generalizations to sparse tensor computations, domain specific language (DSL) specifications of sparse storage formats, and on-demand code generation. Ideal candidates will not only have experience developing accelerated computing software, but also be motivated to advance the state-of-the-art in a variety of accelerated computing domains and DL frameworks like PyTorch. If this sounds exciting, we would love to meet you!

  • Design and develop a C++-based system to simplify and accelerate computing for unstructured sparsity in DL and HPC on NVIDIA GPUs
  • Enable the system in languages and frameworks that are more commonly used in DL, such as Python and PyTorch
  • Evaluate and improve the performance of the system on real-life applications
  • Realize opportunities to improve library quality, performance and maintainability by writing effective and well-tested code for production use
  • Work closely with product management and other internal and external partners to understand feature and performance requirements and contribute to technical roadmaps
  • BS, MS or PhD degree in Computer Science, Applied Math, or related field (or equivalent experience)
  • 6+ years of overall experience in developing, debugging and optimizing high-performance software using C++ and parallel programming; ideally for sparse linear algebra applications and using CUDA, MPI, OpenMP, or equivalent technologies
  • Experience with domain-specific language design and compiler optimizations, in particular sparse compilers (MLIR or TACO)
  • Excellent C++, Python, and CUDA programming skills
  • Strong collaboration, communication, and documentation habits and ideally experience with working in a globally distributed organization
  • Strong understanding of sparse computations, in particular sparsity in AI and HPC
  • Good understanding of LLMs, Deep Learning methods and frameworks
  • Experience with low-level GPU performance optimization
  • Understanding of numerical linear algebra methods like direct and iterative solvers
  • Experience with adopting and advancing, software development practices such as CI/CD systems and project management tools such as JIRA.
  • equity
  • benefits
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service