We are looking for a Compiler Verification: Software Developer — GPU, for Compute Performance.
What you’ll be doing:
Analysis: Analyze performance degradation or functional defect of compilers, identify regression root cause, suggest corrective action, and perform reviews to continuously improve testing.
Test Automation : Automate compiler testing using NVIDIA test frameworks and by programming. Includes test execution, test reporting, and results analysis and automation of build and test environments. Work with software compiler developers and assist in providing automated solutions for unit testing.
Test Operations: Utilize test suites to find, report and track compiler performance changes. Work with development team to drive regressions to resolution. Generate statistics based on performance data, identify and investigate outliers and monitor performance trends. Maintain historical data and baselines for comparison.
Compiler Test Development: Develop and review test plans, implement test cases, automate tests, integrate tests into NVIDIA test management frameworks, port 3rd party testing, and author test reports. May include integrating already existing tests into the compiler test automation.
Process Improvement: Utilize current iterative planning and test development processes. As part of team, identify potential or observed weaknesses in current process, offer ideas for actions that can improve quality, and participate in quality initiatives.
What we need to see:
You will soon graduate with a Bachelor’s Degree or Master’s degree.
Understanding of System Development Life Cycle (SDLC), High-Performance Computing (HPC), and Software Testing Methodologies.
Compiler Domain Expertise: You should understand how compilers work and how compilers are implemented.
Ability to work with various teams to generate a solution for performance regression and be productive under tight schedules, and have strong analytical skills with attention to detail.
You are able to apply existing skills to new situations. Break large problems into smaller problems and further triage difficult performance regressions.
Programming Languages: experience programming and/or testing in C and/or C++ as well as scripting languages (Python, Perl, Shell)
Excellent communications skills, self-motivated and well organized.
Ways to stand out from the crowd:
Previous internship experience in software development and/or compiler testing.
Some experience testing production software, preferably compiler or other system software.
Experience with NVIDIA CUDA Toolkit, especially solving issues and debugging in Linux environment.
Knowledge of deep learning frameworks such as Caffe, TensorFlow, Theano and Torch, as well as other deep learning applications.
Experience with revision control software and management tools, such as Git, Perforce, JIRA, Confluence and Make.
Familiarity with statistical analysis tools for identifying and isolating out-of-bound behavior
NVIDIA is widely considered to be one of the technology world’s most desirable employers. We have some of the most forward-thinking and hardworking people on the planet working for us. If you’re creative and autonomous, we want to hear from you! NVIDIA is committed to fostering a diverse work environment and proud to be an equal opportunity employer. As we highly value diversity in our current and future employees, we do not discriminate (including in our hiring and promotion practices) on the basis of race, religion, color, national origin, gender, gender expression, sexual orientation, age, marital status, veteran status, disability status or any other characteristic protected by law.