We are looking for a highly motivated compiler engineer to join the Assembler Development team. Join the GPU Assembler team and help build tools that enable creation of most performant applications and libraries for HPC, DL and Autonomous Driving domain. Work with key HPC developers around the world to help them achieve performance & efficiency on current and next generation NVIDIA GPUs by developing best in industry Assembler and Code Analysis Tools.We will be part of a team that develops a core component of our platform for accelerating general purpose computation on the GPU. Disassembler (NVDISASM) developed by the team is used by all the CUDA users worldwide to analyze their binaries with various code analysis features built into the disassembler. Assembler is used for achieving the best performance for key DL applications. We get to work on exciting problems working alongside some of the top minds in GPU computing and systems software. See your efforts in action as HPC and DL developers use our tools to debug and analyze the performance of their applications.What you will be doing:Develop, maintain and consistently improving NVIDIA’s Assembler and Disassembler for GPU compute.Work with GPU architecture and debugger/profiler development teams to understand their requirements and deliver vital features/improvement in the productCollaborate closely with teams developing other related components to ensure compatibility, reliability and high-quality code generation.Working with customers/partners to gather feedback and drive innovative ideas and features to incorporate into the product.What we need to see:BS or MS degree in Computer Science, Computer Engineering or equivalent experience.SW development and a minimum of 1+ years related to assemblers, linkers, loaders, binary tools, debuggers.Good analytical and C/C++ programming skills,Experience in any one area of compiler development including feature support, code generation and compiler infrastructureUnderstanding of Assembly Language / Processor ISA (GPU ISA a plus), Computer Architecture and system software.Ability to work independently, define project goals and scope and lead development effort.Ways to stand out from the crowd:Understanding of compiler flow / debugger / profiler tools / linkerKnowledge of GPU development and compute APIs such as CUDA and OpenCL
View Original Job Posting