Compiler Engineer - GPU Debugging Tools
Join the NVIDIA Developer Tools team and empower engineers throughout the world developing groundbreaking products in Automotive, VR, Gaming, Deep Learning, and High Performance Computing. See your efforts in action as developers use your products to debug their systems/applications. Watch with satisfaction as 3rd-party developers use the debugger API that you helped develop to create custom debug tools to tackle complex customer debugging problems. Innovate as you develop the debug capability of future generations of NVIDIA GPUs. Be a part of the team that brings new GPU technologies to market with sophisticated simulation/emulation systems and be among the first to breathe life into new silicon.
NVIDIA is looking for a senior software engineer with expertise in the compiler/debugger interfaces (ELF, DWARF, AST, IR, etc. ) to join our efforts to advance our compute debugger products to the next level. The position will be part of a dynamic, worldwide team that develops and maintains a portfolio of debug tools and libraries that are hosted and targeting OSes including Windows, Linux, and other embedded system real time OSes (RTOS).
What you’ll be doing:
You will apply your knowledge of debuggers, binary instrumentation and computer architecture to enhance existing compute debugger tools and libraries, and extend them to new use cases. You should be comfortable working in C, C++ and assembly on a wide range of supported platforms: Windows, Linux, and embedded real time OSes. You should also be comfortable interacting with different development teams, and have an eagerness to learn about new compute and graphics drivers, GPU architectures and operating systems.
- Develop the compute debugger tools for GPUs running on Windows, Linux, and embedded operating systems.
- Extend the existing capabilities of the compute debug tools to support C++ expression parsing, expression evaluation, and code generation for GPU-evaluated conditional breakpoints, code patches, etc. to the instruction steam of the kernel(s) being debugged.
- Collaborate with the compiler team to generate workflows and interfaces to enable the compiler to support expression evaluation and optimized code generation on behalf of the debugger.
- Effectively estimate and prioritize tasks in order to create realistic delivery schedules.
- Write fast, effective, maintainable, reliable and
- documented code. - Provide peer reviews to other engineers, including feedback on performance, scalability and correctness.
- Mentor junior engineers.
What we need to see:- BS or MS in Computer Science or equivalent experience
- 5+ years of experience
- Strong programming ability in C, C++, Assembly Language and scripting languages
- Excellent knowledge of computer architecture of x86 or ARM CPUs
- Strong skills with
- level programming using assembly languages - Source control understanding (git, Perforce, etc. )
- Ability to
- manage, communicate, and adapt in a fast paced, high demand environment with changing priorities and direction - Excellent communication skills, written and verbal
Ways to stand out from the crowd:- Experience with compiler AST and IR representations
- Knowledge of CUDA programming
- Demonstrated experience with build systems (CMake, Ninja, etc. )
- Ability to interpret ELF/DWARF compiler output
- Experience with Clang and/or LLVM
- BS or MS in Computer Science or equivalent experience
- 5+ years of experience
- Strong programming ability in C, C++, Assembly Language and scripting languages
- Excellent knowledge of computer architecture of x86 or ARM CPUs
- Strong skills with
- level programming using assembly languages - Source control understanding (git, Perforce, etc. )
- Ability to
- manage, communicate, and adapt in a fast paced, high demand environment with changing priorities and direction - Excellent communication skills, written and verbal
Ways to stand out from the crowd:- Experience with compiler AST and IR representations
- Knowledge of CUDA programming
- Demonstrated experience with build systems (CMake, Ninja, etc. )
- Ability to interpret ELF/DWARF compiler output
- Experience with Clang and/or LLVM
- Experience with compiler AST and IR representations
- Knowledge of CUDA programming
- Demonstrated experience with build systems (CMake, Ninja, etc. )
- Ability to interpret ELF/DWARF compiler output
- Experience with Clang and/or LLVM
NVIDIA is widely considered to be one of the technology world’s most desirable employers. We have some of the most
- thinking and hardworking people in the world working for us. If you're creative, driven, and passionate about software tools, we want to hear from you!
Fii primul, care se va înregistra la oferta de muncă respectivă!
-
De ce să cauți de muncă pe Lucrezi.ro?
În fiecare zi oferte noi de muncă Puteți alege dintr-o gamă largă de locuri de muncă: Scopul nostru este de a oferi o gamă cât mai largă de opțiuni Lasă să-ți fie trimise noile oferte prin e-mail Fii primul care răspunde la noile oferte de muncă Toate ofertele de muncă într-un singur loc (de la angajatori, agenții și alte portaluri) Toate serviciile pentru persoanele aflate în căutarea unui loc de muncă sunt gratuite Vă vom ajuta să găsiți un nou loc de muncă