Craig Hansen-Sturm

Craig Hansen-Sturm Email and Phone Number

Software Architect @ Stealth AI Startup
California, United States
Craig Hansen-Sturm's Location
San Francisco Bay Area, United States, United States
Craig Hansen-Sturm's Contact Details

Craig Hansen-Sturm personal email

n/a

Craig Hansen-Sturm phone numbers

About Craig Hansen-Sturm

I have had the honor of contributing directly to many of the foundational products in our industry:- Apple RealityKit, Apple AR/VR hardware & rOS (upcoming), Apple Logic & Garageband, iPod Video, QuickTime, and Bootcamp.- Adobe Premiere 360 video, audio and graphics. Adobe Aero AR core runtime. Microsoft DirectX.- Intel HD Graphics Drivers and OpenCL 2D imaging extensions.- Imagination Technologies PowerVR GPU Ray Tracing drivers and associated hardware.- C++ compilers at Borland and Apple.- Graphics and Audio authoring tools: Autodesk AutoCad, Avid Protools, Opcode Studio Vision, and Max/MSP.Specialties:- Hands on technical development, leadership, and management.- Deep systems knowledge of performance-critical/real-time/latency-sensitive software, GPGPU compute, heterogeneous compute, optimization, multi-threading, and parallel-programming.- Strong performance and power optimization skills at the hardware, instruction set, OS, algorithm, object-model, and system levels.- Modern C++ Generic & Meta Programming. - Cross-platform development experience across: desktop, mobile, and device for iOS, macOS, Windows, and Linux.- Expert knowledge of Audio and Video processing pipelines and streaming at the application, framework, codec, driver, and hardware-abstraction-layer levels.- General software architecture and design.

Craig Hansen-Sturm's Current Company Details
Stealth AI Startup

Stealth Ai Startup

View
Software Architect
California, United States
Craig Hansen-Sturm Work Experience Details
  • Stealth Ai Startup
    Software Architect
    Stealth Ai Startup
    California, United States
  • Sambanova Systems
    Tech Lead / Senior Principal Engineer
    Sambanova Systems Aug 2023 - Present
    Palo Alto, Ca, Us
    - Kernel compiler developer currently working on SambaNova's assembler. LLVM, MLIR, and general systems development for SambaNova Systems novel data-flow hardware accelerator. Graph compiler code generation, optimization, and performance.
  • Zero Crossing Systems, Llc
    Founder
    Zero Crossing Systems, Llc Jan 2022 - Present
    - Personal Development Projects & Consulting. Developed my 3rd audio engine.
  • Apple
    Principal Engineer Ict5
    Apple 2019 - Jan 2022
    Cupertino, California, Us
    - Member of TDG's OS team developing the display driver for Apple Vision Pro. This work included implementing frame and timing stats, color management support, initializing the display backend (fixed-function pipeline), as well as general optimizations for power and frame-rates.Previously:- Member of RealityKit's foundation team. Designed and implemented components spanning all of RealityKit, this includes: o Co-designed/implemented binary and text (json) serialization and introspection framework. Integrated framework into all RealityKit systems, including ECS, rendering engine, resource graphs and the asset pipeline. Framework has a flexible, policy-based design where IO stream types, encoders, compressors, and code-generators can be combined independently. Serialization framework rested on a new streaming IO framework, an extension of zero-copy buffers derived from protobuf. LZFSE compression with parallel encode/decode were fully supported.o Implemented SIMD/Neon "Optimized Routine" library (math and stdlib). This work included extending ARM's open source alternative to Apple's native c-runtime libraries. The introduction of this new runtime library, alone, provided ~40% reduction in power for some workloads, and a 1-10% reduction in 'typical' workloads. Framework was designed as a "drop in" replacement for the native c-runtime using shared library entry point hooking.o General power and performance driven design and system re-architecture. Designed "what if" graphics simulation studies in order to set GPU hardware performance requirements. Partnered with RealityKit rendering, GPU architecture and Metal teams; and ran a weekly, cross-functional, graphics performance group. Part of a two person "power tiger team", that saved ~1.5 watts of GPU power for baseline video workloads in ~4 weeks.
  • Adobe
    Senior Computer Scientist Ii
    Adobe 2016 - 2019
    San Jose, Ca, Us
    - A founding member of the Aero AR rendering engine team. Implemented core/system level 3d engine components including entity and gfx resource serialization and memory management.- Worked with product design and Adobe research on early/speculative prototypes of Aero's behavior system. This included proposing a custom language design as well as a UI-only scripting interface (e.g., triggers and actions).Previously:- A senior member on the Premier Pro team. Designed and implemented two Ambisonics (3D positional audio) filters as well as general pipeline support for 1st order Ambisonics. The first plugin, a 3D audio panner, projected a reorientable sphere of N sound sources (virtual speakers), onto a field of M sound sinks (virtual microphones), allowing sound sources to be dynamically positioned in 3D space and thus, keyframe animated. The second plugin, a binauralizer, collapses a 3D ambisonics sound field down to two channels using standard HRTF techniques. Worked with Adobe research to productize this work.- Implemented a HW accelerated h264 decoder for macOS/iOS. Initiated the project and drove the overall design of the demuxer and hw decoder plugin. At the time, this work enabled Premiere to comfortably work with 2-3 simultaneous 4k DCI streams.- One of two engineers on the PremierePro team with primary day to day responsibility for maintaining and extending Adobe's GPU foundation framework (a shader-language agnostic, macro-library, and a host-side device support library). This included developing, porting, and optimizing both compute & 2d imaging shaders and effects, extending Premiere's display/compositing system, and enhancements to Premiere's graphics rendering pipeline, such as: o GPU implementations of Optical Flow and multiple VR/360 effects. o Adding Metal support to Premiere's compositing and monitoring sub-systems. o Working with partners at Intel, Nvidia and Apple to optimize rendering code.
  • Fungible
    Software Engineer
    Fungible Jun 2016 - Oct 2016
    - Design and implementation of a high performance, distributed memory allocator for Fungible's revolutionary new DPU SoC.
  • Imagination Technologies
    Software Engineering Manager
    Imagination Technologies 2014 - Jun 2016
    Kings Langley, Hertfordshire, Gb
    - Technical management of a Linux systems driver team responsible for GLES, Display, HDMI, as well as additional software components which ship with the SDK/DDK for Imagination Technologies new ray-tracing GPU. Day to day technical planning and management. Hands on design and implementation of system drivers, apis, and 3D applications, in particular: o Built a scalable, high performance GPU compute-workload distribution framework capable of achieving extraordinarily high-frame rates with purely ray-traced applications. o Contributed to Imagination's Khronos GLES 3.x ray-tracing extension, as well as general 3D driver feature development and performance analysis using simulators, emulators, and physical hardware (Imagination's PCIe ray-tracing accelerator card). o Extensions to Linux display, HDMI, and kernel drivers for Imagination's ray-tracing accelerator PCIe card. General SoC and card bring up and validation. Multi-PCIe card support in the kernel. o Applications for Imagination's first public demonstrations of Imagination's ray-tracing SoC.- Designed and developed a high-performance 3D raster&ray-tracing compute/workload distribution framework which schedules GPU compute and rendering tasks across multiple PCIe accelerator cards (where each card contains a single ray-tracing SoC). With multiple cards, a high-performance cluster can easily render purely ray-traced scenes at 1080p@30-90Hz (and higher). Performance scales near linearly (Ahmdahls law), and is bounded only by the number of GPU cores, as well as overall system PCIe bandwidth. Applications fully benefit from acceleration without modification; however, there is an optional extension api which provides hinting to the scheduler.
  • Intel Corporation
    Software Architect - Visual And Parallel Computing Architecture Group
    Intel Corporation 2011 - 2014
    Santa Clara, California, Us
    - Designed a QoS framework which spans the GPU, Camera/ISP, IA Core, and other SOC accelerator blocks. This work involved building a workload/shader interception/monitoring framework (a user-mode filter driver), a kernel mode QoS driver, and a user-mode service which serves as a statistics gathering and control hub for the QoS feedback/control system. The QoS driver is used to selectively throttle bandwidth from upstream IP blocks at an internal cross-bar network, as well as to dynamically assign L2 or L3 cache priority classes to workload/shader threads in response to measured load conditions. - Implemented an OpenCL Imaging driver which virtualizes access to Intel's C for Media Framework (MDF) and Intel's GPU OpenCL runtime. This will enable OpenCL Computer Vision developers to fully leverage MDF's extensive media kernel libraries within an OpenCL environment.- Developed three D3D graphics driver extensions, as well as corresponding enhancements to the GPU hardware simulation environment. These graphics sw+hw extensions enhance the GPU command-streamer (front end command parser unit), and accelerate binding-table generation, constant gather-table generation, and graphics context save and restore.- Part of a small team which redesigned/refactored Intel's user-mode D3D driver to use generic and meta-programming techniques; the goal being to generate DDI-specific and device-specific code without introducing the additional indirection/overhead associated with subclassing/virtual functions.- Coauthored three OpenCL extensions which expose computer vision/2D imaging accelerator functions within the OpenCL runtime. These functions, implemented as built-in kernels, are directly accelerated by GPU fixed function hardware. Coauthored three Khronos OpenCL Intel extension documents which are now part of the standard (cl_intel_accelerator, cl_intel_motion_estimation, cl_intel_analytics). Drove internal company-wide review.
  • Cakewalk
    Lead Engineer
    Cakewalk 2010 - 2011
    Singapore, Sg
    - Managed a small team of developers who developed the core technology for Cakewalk ScratchPad: a tablet application designed for realtime, loop-based performance. This cross-platform framework, provides the core-foundation for all future mobile product development at Cakewalk.- Responsible for product planning, definition, architecture, and implementation.- Architected and implemented the high performance audio processing/playback engine used by ScratchPad, and other follow-on mobile products. This audio engine has a layered design. The bottom layer consists of lightweight objects tailored for performing efficient DSP operations. At this layer, everything is optimized for sample-level processing within inlined callback functions. These DSP operators are then aggregated into larger scale processing units which represent higher level audio effects. At this middle layer, processing units expose realtime control knobs (properties/parameters), connection management, and notifications. At the top layer, networks of processing units to be assembled at runtime and to be managed atomically, as graph objects. Graphs schedule processor operations on work queues which may be distributed amongst CPU cores. Graphs may be used to introduce parallel signal processing into the engine.
  • Intel Corporation
    Software Architect - Open Source Technology Center
    Intel Corporation 2009 - 2010
    Santa Clara, California, Us
    Served as the Media Software Architect for Intel's Linux (MeeGo) mobile, television, and embedded platforms. This position involved:- Platform definition, reference video and audio pipeline specifications, GStreamer development, codec evaluation, Linux driver development, hardware/software interface design, and general media framework and api design.- Technical Leadership and support for internal teams in London, Europe, and China, as well as client-facing support for external customers.
  • Avid (Digidesign)
    Senior Principal Engineer
    Avid (Digidesign) 2008 - 2009
    Burlington, Ma, Us
    Responsible for the overall design of a DSP resource management framework. This position involved: - Designing resource optimization algorithms used for allocating limited physical hardware resources (cpu, memory, dma) to software audio effects and plugins. - Designing a framework used to model and manage internal, external, and cache memory; dma allocation; and the overall cpu scheduling for a DSP HW platform. Framework provides a mechanism for statically describing, discovering, loading, and instantiating DSP accelerated plugins, and defines a new model for hosting audio plugins under Protools.
  • Apple
    Software Manager - Ipod Video Team
    Apple 2006 - 2007
    Cupertino, California, Us
    Manager of the iPod Video Team for the 3rd generation iPod Nano/6th generation Video iPod.
  • Apple
    Senior Engineer - Music Applications
    Apple 2005 - 2006
    Cupertino, California, Us
    Music Applications engineer and designer of an ultra-high performance Disk IO, File Streaming and Data Compression framework for Logic v7.x and Garageband v3.x
  • Apple
    Lead Engineer - Quicktime
    Apple 2003 - 2005
    Cupertino, California, Us
    Lead engineer and author of the audio rendering engine for QuickTime v7. This engine provided the foundation for multi-channel audio playback for the QuickTime player, the finder, and multiple iLife applications including iMovie and iDVD.
  • Cycling '74
    Lead Engineer
    Cycling '74 2000 - 2003
    Responsible for all Windows development at Cycling '74, including Max and Max/MSP. Max/MSP is a visual midi/audio authoring and programming environment.
  • Philips Semiconductors
    Senior Engineer
    Philips Semiconductors 1998 - 1999
    Eindhoven, Noord-Brabant, Nl
    Designed and implemented a DLS wavetable software synthesizer engine, as well as MP3 audio codec for the Trimedia 1000-series DSP processor.
  • Microsoft
    Senior Engineer
    Microsoft 1996 - 1998
    Redmond, Washington, Us
    Founding member of the DirectMusic team and developer of early DirectMusic APIs. General development of kernel DLS wavetable synthesizer, and author of multiple DirectShow filters.
  • Autodesk
    Software Manager
    Autodesk 1994 - 1996
    San Francisco, Ca, Us
    Software manager for core technology team. Designed and implemented framework for a 2D, drag and drop, sketching application; as well as a cross-platform utility library for AutoCAD.
  • Apple
    Lead Engineer
    Apple 1993 - 1994
    Cupertino, California, Us
    Developer of the Mr. CPP compiler. This compiler was 20x faster than original MPW Lucid PPC C++ compiler it replaced.
  • Opcode Systems
    Software Engineer
    Opcode Systems 1992 - 1993
    Developer of Opcode's Vision for Windows midi sequencer - the most influential sequencer / digital audio workstation of its day.
  • Borland Software
    Software Engineer
    Borland Software 1990 - 1992
    Newbury, Berkshire, Gb
    Developer of the C++ OWL framework, as well as general C++ compiler front-end work for BC++ v3.x. BC++ was the finest IDE snd C++ compiler and IDE during this era. Borland was one of the most innovative teams I've ever worked with.

Craig Hansen-Sturm Skills

Multithreading C++ Device Drivers Embedded Systems Sound Software Engineering Os X System Architecture Software Development Cross Platform Development Visual Studio C Algorithms Linux Xcode Windows Android Software Design Qt Debugging Distributed Systems Technical Leadership Java Objective C Mobile Devices Audio And Video Processing And Streaming Gpu C/c++ Systems Engineering Realtime And Embedded Gpgpu Opencl Multithreading And Parallel Processing Mac Os X Ios Unix Realtime Programming User Interface Design Perforce Team Leadership Boost And Stl Kernel Debugging

Craig Hansen-Sturm Education Details

  • Brown University
    Brown University
    Computer Science
  • Hunter College
    Hunter College
    Philosophy
  • Massachusetts Institute Of Technology
    Massachusetts Institute Of Technology
    Undergraduate

Frequently Asked Questions about Craig Hansen-Sturm

What company does Craig Hansen-Sturm work for?

Craig Hansen-Sturm works for Stealth Ai Startup

What is Craig Hansen-Sturm's role at the current company?

Craig Hansen-Sturm's current role is Software Architect.

What is Craig Hansen-Sturm's email address?

Craig Hansen-Sturm's email address is ch****@****ast.net

What is Craig Hansen-Sturm's direct phone number?

Craig Hansen-Sturm's direct phone number is +44 1923 2*****

What schools did Craig Hansen-Sturm attend?

Craig Hansen-Sturm attended Brown University, Hunter College, Massachusetts Institute Of Technology.

What skills is Craig Hansen-Sturm known for?

Craig Hansen-Sturm has skills like Multithreading, C++, Device Drivers, Embedded Systems, Sound, Software Engineering, Os X, System Architecture, Software Development, Cross Platform Development, Visual Studio, C.

Free Chrome Extension

Find emails, phones & company data instantly

Find verified emails from LinkedIn profiles
Get direct phone numbers & mobile contacts
Access company data & employee information
Works directly on LinkedIn - no copy/paste needed
Get Chrome Extension - Free

Aero Online

Your AI prospecting assistant

Download 750 million emails and 100 million phone numbers

Access emails and phone numbers of over 750 million business users. Instantly download verified profiles using 20+ filters, including location, job title, company, function, and industry.