Advanced Process Lab/Samsung Research America
Location: Mountain View, CA
Technical professionals are defined by what they create. Samsung has the risk taking corporate culture, strategic R&D investments and global know-how to imagine, develop and market products that lead the industry. Millions of people all over the world use our products every day to work, to communicate and to enjoy. Samsung's new Advanced Processor Lab (APL) located in San Jose, California is currently recruiting world-class processor and GPU engineers who share our "Innovation through Passion" philosophy and thrive in a fast-pace, results-driven environment. At Samsung APL you will get the best of both worlds – you will have the freedom and creative environment to research while your project have the potential to translate to real services. You’ll also collaborate with other labs in Silicon Valley and around the world.
Design and implement world class JIT compiler for new GPU architecture targeting OpenGL-ES and OpenCL. Architect IR and global JIT infrastructure. Select and implement set of relevant optimizations, determine and implement code generation strategies (adoptive compilation, run-time feedback).
Work closely with driver team to integrate JIT into driver infrastructure and determine compilation strategies for good performance and low power.
Work closely with GPU architecture team to provide timely input on ISA and various architectural design decisions
Determine compiler testing strategies, both for unit test and application levels. Interact with the driver team to have unified testing approach.
MS/PhD CS/EE/Applied math or relevant field with 5+ years of industrial experience or BS with 10+ years of industrial experience
5+ years in compiler development (industry)
Strong software design / engineering skills, C, C++, excellent debugging skills
Good communication skills, strong team work
Understanding of debug support
Good working knowledge of compiler technology, hands on experience in one of the following:
Register allocation, instruction scheduling, graphics specific optimizations, SIMD relevant control flow and code placement optimizations, classic machine independent optimizations preferably on low level IRs
Desirable additional skills: compiler development for mobile architectures, knowledge of Android, knowledge of OpenGL/OpenGL-ES, OpenCL, Direct3D (D3D9-10-11), HSA, GLSL/HLSL, Clang, LLVM, practical experience in developing JIT compilers, practical experience in developing compilers for shading languages.