Senior Performance Software Engineer

NVIDIA

NVIDIA

Software Engineering
Taipei City, Taiwan
Posted 6+ months ago

We are now looking for a highly motivated Sr Performance Software Engineer to join this dynamic and innovative team.

NVIDIA’s invention of the GPU in 1999 sparked the growth of the PC gaming market, redefined modern computer graphics, and revolutionized parallel computing. More recently, GPU deep learning ignited modern AI — the next era of computing — with the GPU acting as the brain of computers, robots, and self-driving cars that can perceive and understand the world. Today, we are increasingly known as “the AI computing company.” We're looking to grow our company and build our teams with the smartest people in the world. Join us at the forefront of technological advancement.

What you’ll be doing:

  • Evaluate performance bottlenecks and come up with ways to improve performance in the whole deep learning-based application stack

  • Generate consistent performance metrics based on industry standards and develop frameworks, needed scripts for collecting and reporting the metrics.

  • Work actively on creating micro benchmarks for performance evaluation in cloud and bare metal environment.

  • Debugging various issues related to performance and recommend optimization in I/O stack.

  • Work closely with other software engineers to evaluate performance of deep learning frameworks on GPU accelerated systems.

  • Work collaboratively with other specialists and be willing to tackle any engineering tasks that commit to the progress towards the goals of the team and the company.

What we need to see:

  • Advanced knowledge in Computer Architecture. Detailed knowledge of NUMA, Cache coherency, PCIe.

  • Extensive experience in platform optimization. Solid knowledge of Computer I/O (e.g., RDMA, remote storage, etc.)

  • Experience with tools for performance analysis.

  • Good knowledge of Linux kernel internals, Filesystem, memory architecture, scheduling algorithms and parallel programming.

  • Experience with virtualization (e.g. KVM) and experience with Cloud platforms

  • Solid in coding using any of languages like python, C/C++. Shell scripting experience. Python and Perl experience is a Plus. Experience with version control tools (e.g. git).

  • Excellent communication skills. Ability to work in dynamic environment and can-do attitude.

  • Bachelor of Science Degree in Electrical Engineering or Computer Science or equivalent experience. 5+ years of experience

Ways to stand out from the crowd:

  • Good understanding of ARM and x86 platforms at architecture level

  • Knowledge of deep learning neural networks, how they work and familiarity with various DL frameworks.

  • Experience with GPU-accelerated software.

  • Experience in networking as a developer or as a performance engineer. Experience with container technologies (e.g. Docker).

  • Deep understanding of technology and passionate about what you do. Strong collaborative and interpersonal skills, specifically a proven ability to effectively guide and influence within a dynamic work environment.

NVIDIA offers highly competitive salaries and a comprehensive benefits package. We have some of the most brilliant and talented people in the world working for us and, due to unprecedented growth, our world-class engineering teams are growing fast. If you're a creative and autonomous engineer with a real passion for technology, we want to hear from you.