Craig Hansen-Sturm Email and Phone Number
Craig Hansen-Sturm work email
- Valid
- Valid
- Valid
Craig Hansen-Sturm personal email
Craig Hansen-Sturm phone numbers
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.
-
Software ArchitectStealth Ai StartupCalifornia, United States -
Tech Lead / Senior Principal EngineerSambanova Systems Aug 2023 - PresentPalo 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. -
FounderZero Crossing Systems, Llc Jan 2022 - Present- Personal Development Projects & Consulting. Developed my 3rd audio engine.
-
Principal Engineer Ict5Apple 2019 - Jan 2022Cupertino, 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. -
Senior Computer Scientist IiAdobe 2016 - 2019San 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. -
Software EngineerFungible Jun 2016 - Oct 2016- Design and implementation of a high performance, distributed memory allocator for Fungible's revolutionary new DPU SoC.
-
Software Engineering ManagerImagination Technologies 2014 - Jun 2016Kings 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. -
Software Architect - Visual And Parallel Computing Architecture GroupIntel Corporation 2011 - 2014Santa 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. -
Lead EngineerCakewalk 2010 - 2011Singapore, 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. -
Software Architect - Open Source Technology CenterIntel Corporation 2009 - 2010Santa Clara, California, UsServed 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. -
Senior Principal EngineerAvid (Digidesign) 2008 - 2009Burlington, Ma, UsResponsible 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. -
Software Manager - Ipod Video TeamApple 2006 - 2007Cupertino, California, UsManager of the iPod Video Team for the 3rd generation iPod Nano/6th generation Video iPod. -
Senior Engineer - Music ApplicationsApple 2005 - 2006Cupertino, California, UsMusic 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 -
Lead Engineer - QuicktimeApple 2003 - 2005Cupertino, California, UsLead 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. -
Lead EngineerCycling '74 2000 - 2003Responsible for all Windows development at Cycling '74, including Max and Max/MSP. Max/MSP is a visual midi/audio authoring and programming environment.
-
Senior EngineerPhilips Semiconductors 1998 - 1999Eindhoven, Noord-Brabant, NlDesigned and implemented a DLS wavetable software synthesizer engine, as well as MP3 audio codec for the Trimedia 1000-series DSP processor. -
Senior EngineerMicrosoft 1996 - 1998Redmond, Washington, UsFounding member of the DirectMusic team and developer of early DirectMusic APIs. General development of kernel DLS wavetable synthesizer, and author of multiple DirectShow filters. -
Software ManagerAutodesk 1994 - 1996San Francisco, Ca, UsSoftware 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. -
Lead EngineerApple 1993 - 1994Cupertino, California, UsDeveloper of the Mr. CPP compiler. This compiler was 20x faster than original MPW Lucid PPC C++ compiler it replaced. -
Software EngineerOpcode Systems 1992 - 1993Developer of Opcode's Vision for Windows midi sequencer - the most influential sequencer / digital audio workstation of its day.
-
Software EngineerBorland Software 1990 - 1992Newbury, Berkshire, GbDeveloper 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
Craig Hansen-Sturm Education Details
-
Brown UniversityComputer Science -
Hunter CollegePhilosophy -
Massachusetts Institute Of TechnologyUndergraduate
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
Aero Online
Your AI prospecting assistant
Select data to include:
0 records × $0.02 per record
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.
Start your free trial