SATYAJIT SARANGI

San Jose, CA | satyajit.sarangi@gmail.com | | ssarangi.github.io
Summary

Currently have 8 years of experience in a variety of domains encompassing application layer, user mode drivers and compilers.
Professional

Intel Corp
Dec 2012 - Present
Graphics Software Engineer (Compilers)
Santa Clara, CA
Currently working in the graphics compiler team to develop a unified shader compiler for graphics and GPGPU api’s across all desktop and mobile operating systems.
  • Was a key member of the new graphics compiler frontend and midend. Involved since the inception to the delivery of the project from end to end.

  • Architected and implemented the Apple Metal Frontend and worked closely with Apple engineers to make it functional.

  • Implemented new frameworks for reading metadata coming from different api’s.

  • Designed and implemented the DirectX 10, 11 frontend including the parser and code generator, making it modular to be extendible for future api’s using design patterns.

  • Added infrastructure to be able to detect memory leaks.

  • Designed and Implemented the Geometry Shader and Compute Shader units of the compiler.

  • Prototyped memory allocators for benchmarking compile time performance improvements.

  • Implemented various optimizations for the compiler to improve performance leading to multiple patents.

  • Debugged various games, WHQL, Metal unit tests, OCL Khronos tests for both performance and functional issues.

  • Managed the team for a period of 3 months when manager was on sabbatical.

  • Mentored multiple interns and managed contractors.

  • Was responsible for creating and productizing multiple tools including a first of its kind shader debugger (C#, WPF), a dashboard for measuring statistics and performance data (Django) and tools for managing machine pools (C#).

Advanced Micro Devices (AMD)
Jan 2011 - Dec 2012
Sr. Driver Engineer (DirectX)
Boxborough, MA
Worked in the DirectX driver team to develop driver functionality for all new asics including discrete and fusion products.
  • Led the Bring up for Kabini Fusion APU, which got completed in a record 3.5 days with an aggressive schedule of booting Win 7 & Win 8 and running 3D Mark 11.

  • Led the feature, development and debug support for Kabini Fusion APU.

  • Involved in meeting memory requirements for driver for Windows 8

  • Worked on various features for improving performance for Southern Islands asic family.

  • Developed shader binary compression algorithms to reduce memory footprint.

  • Got driver feature ready for the upcoming asic products with emulators.

  • Have been a major stakeholder for a shared component, used across kernel mode driver, Apple OpenGL driver and linux platform.

Geodigm Corp.
Oct 2007 - Dec 2010
Sr. Software Engineer
Chanhassen, MN
Worked in a R&D environment to design and develop products as well as enhance and rearchitect the core engine to improve performance and functionality.
  • Re-architected the graphics pipeline for the emodel© engine to achieve a significant performance improvement for heavy meshes to improve rendering and user interaction using C / C++ and OpenGL.

  • Implemented Core Engine enhancements in the Geometry based algorithms using C / C++.

  • Did UI design based on Qt and C++ for the engine.

  • Worked on embedding Python and Tcl into the core engine to enable embedded scripting.

  • Worked on geometric algorithms for enhancing the crown building algorithms for auto-building of various parts of a tooth.

  • Was involved in development of a metric database system using Django for the production tracking of the ICON™ digital assembly line.

  • Conceptualized, developed and prototyped the Metal Occlusal product for the ICON™ dental production system and eventually got it to production.

  • Designed and architected the emodel 9.0 software for Orthodontists.

  • Designed and implemented the AutoGrid application using C# which integrates the ICON system with the Rapid Prototyping system.

Skills

Domains: 3D, graphics, drivers, compilers, tools, debugger, dashboard
Languages: C++, C, Python, C#, Javascript , Scala
API: DirectX, OpenGL, Metal, Django
Patents Pending

  • Facilitating dynamic runtime transformation of graphics processing commands for improved graphics performance at computing devices. (Filed 2015)

  • Apparatus and method for Efficient Prefix Sum Operation (Filed 2015)

  • Hardware Instruction Set to replace a plurality of atomic operations with a single Atomic Operation (Filed 2014)

Education

State University of New York, Buffalo
Aug 2005 - Oct 2007
MS, Graphics & Virtual Reality
Buffalo, NY
  • Thesis - Surface Reconstruction from Unorganized Point Cloud Data using Incremental Delaunay Triangulation

Projects

  • Working on a dynamic language jit using python

  • Experimenting with Luajit for python jit support. Managed to get some basic constructs running.

  • Designed a cloth simulation using OpenGL Compute Shader support.

  • Rendered OpenStreetMaps and used djikstra for optimal path computation with python and Vispy.

  • Rendering of OpenStreetMaps using opengl on android.