Software Development Engineer 2
Job Description
THE ROLE:
- We are looking for an experienced Machine Learning GPU driver performance engineer to optimize and develop ML GPU drivers and kernels with a focus on improving performance of DirectML content creation applications.
- This is an excellent opportunity to work on the cutting edge of Machine Learning and GPU architecture.
THE PERSON:
- You are passionate about machine learning and improving the performance of games and applications utilizing the GPU for machine learning acceleration.
- Has hands-on experience and understanding of GPU architecture
- Has good programming skills in HLSL, GLSL, OpenCL, CUDA or similar
- Has solid general software development skills in C++
- Able to communicate effectively and work optimally in a distributed team
- Multiple office locations available
KEY RESPONSIBILITIES:
- Analyze shader algorithms in HLSL and other shading languages, analyze data from performance tools, identify issues and potential optimization opportunities, and develop algorithms/shaders to achieve performance improvement.
- Brainstorm with teams about potential solutions to optimize, experiment and refine optimizations and implement in drivers.
- Contribute to performance tool improvements.
PREFERRED EXPERIENCE:
- Good understanding of GPU architecture and SIMD execution
- Good understanding of machine learning runtimes, Microsoft Olive, ONNX, TensorFlow or PyTorch
- Hands-on experience in developing machine learning drivers on D3D, Vulkan or Metal APIs.
- Experience in HLSL, GLSL, OpenCL, CUDA or similar and strong C/C++ programming skills
- Working understanding of memory management, and operating systems fundamentals
- Excellent communication and collaboration skills to work across teams
#LI-HS3
#LI-DNI = Do Not Post on LinkedIn