Ken Whaley, Developer in Helsinki, Finland
Ken is available for hire
Hire Ken

Ken Whaley

Verified Expert  in Engineering

C++ Developer

Location
Helsinki, Finland
Toptal Member Since
April 4, 2016

Ken is a top architect, engineer, and developer with over 30 years of experience in the field. He has a proven ability to understand, optimize, enhance, and create from scratch significant software tools and workflows with large user bases that greatly magnify productivity for large groups of engineers. Ken is eager to take on new challenges and has done so with teams of all sizes and compositions.

Availability

Full-time

Preferred Environment

Unix, Linux, MacOS, Windows

The most amazing...

...thing I've built is a command and data transport to a graphics processing device from a CPU performing write reordering operations.

Work Experience

GPU Tools Architect

2014 - 2019
Samsung
  • Architected and implemented STF, a C++11 framework that formed the core of the SGPU verification flow, used by nearly all teams in the SGPU project. STF is a collection of components and interfaces that manages the creation, inspection, and dynamic modification of test-to-GPU command streams. STF interfaces both the high-level (device driver) and low-level (hardware simulator). STF is multi-platform (x64 Linux, ARM Linux, x86/x64 Windows), client-server (TCP sockets), and concurrent (threads).
  • Implemented verification userspace KMD module in STF to test low-level host interface of the GPU, which handles: GPU command stream, GPU memory access, interrupts, MMU.
  • Worked in cross-functional teams (including device driver, firmware, hardware architecture, hardware implementation, RTL simulation, C++ simulation, RTL emulation, infrastructure) to implement and release new STF features, and major new features of the GPU: host interface and MMU.
  • Designed and developed DMS, a python/Django/MySQL data management system—a web-based application managing publication display/visualization of GPU metrics (power, performance, area) in both table and graph format.
Technologies: Django, Windows, Linux, Python, Concurrency, Networking, Standard Template Library (STL), C++

Senior Member Technical Staff

2011 - 2013
AMD
  • Led the Heterogeneous System Architecture (HSA) compiler's debugger support effort.
  • Designed debug information generation and flow throughout the HSA compiler stack, including: compiler front­ end, LLVM codegen back ­end, linker, runtime libraries, and finalizer (JIT).
  • Worked closely with stakeholders from debugger, runtime, and compiler teams to ensure correct and complete debug information design and implementation.
  • Wrote and presented for review an architectural design document for HSAIL compiler debug information.
  • Successfully adapted industry standards (DWARF) to the non­traditional HSAIL architecture.
  • Implemented custom DWARF generator for the HSAIL assembler.
  • Adapted LLVM's target­independent DwarfDebug DWARF generation module to the HSAIL LLVM codegen target.
  • Supervised junior engineer in partial implementation of the LLVM debug information generation and in creating a test suite for debug information generation.
Technologies: LLVM, C++

Senior Software Engineer

2011 - 2011
Perpetually.com, LLC (via Toptal)
  • Wrote a binary media file disassembler/parser/transformer/re-assembler tool in Python.
  • Added an accelerated "test" web crawl tool (Python/Django).
  • Performed a successful feasibility study in using a Python-based JavaScript parsing library to rewrite JavaScript files.
  • Implemented a new back-end web API in Python/Django to accompany a new front-end to Perpetually's system for creating, running, searching, scheduling, and monitoring both full web crawls and test web crawls. Worked closely with Perpetually team members to design and tune the API to suit the front end's needs. Added new Django models to support the new functionality. Created extensive Python test suites for all new functionality.
Technologies: JavaScript, Django, Python

Senior Software Engineer

2011 - 2011
Loytr, Inc. (via Toptal)
  • Wrote a new photo album/photo display module for MyPad for iPad.
Technologies: Objective-C, iOS

Co-founder, CTO

2011 - 2011
Posylnyi, Inc.
  • Designed and implemented MySQL/PHP back-end system that services both the Posylnyi interactive ordering website and the Posylnyi iPhone application.
  • Designed database schemas to manage menus, customers, orders, couriers, restaurant locations, etc.
  • Designed and implemented an iPhone application that provides an appealing, interactive menu ordering system.
  • Designed and implemented a custom operator web application that includes Google Maps for managing couriers and restaurant locations, and order processing functions.
  • Met with and evaluated technical service providers and contractors.
Technologies: iOS, PHP, MySQL

Founder, President, Lead Architect/Developer

2010 - 2011
KMW Solutions
  • Provided freelance software design and implementation consultation services to clients around the world.
  • Worked on many projects across differing systems and languages: Windows GUI programs written in C++ using wxWidgets, OpenGL entertainment application (magic 8-ball simulation), Perl scripts, PHP scripts, iPhone, and iPad applications. KMW Solutions has eight applications on the App Store as of October 2011.
Technologies: Objective-C, iOS, PHP, Perl, OpenGL, C++

Graphics Architect

2001 - 2010
NVIDIA, Inc.
  • Fulfilled the role of “practical visionary” by placing an emphasis on the design and implementation of working tools and systems significantly boosting productivity for large groups of engineers and architects throughout the company.

Principal Engineer

1999 - 2001
Believe, Inc.
  • Led the architecture of core system software and architected software/hardware interfaces.
Technologies: Hardware, Software

Principal Engineer

1996 - 1999
3dfx Interactive, Inc.
  • Developed for 3dfx’s engineering team.
  • Worked with software, QA, hardware, marketing, and sales group members to design and to promote 3dfx’s products.
Technologies: Hardware, Quality Assurance (QA), Software

Principal Engineer

1994 - 1996
Rendition, Inc.
  • Led technical projects for Rendition’s 2D graphics effort, including Microsoft Windows.
Technologies: Windows

Technical Lead

1992 - 1994
Kubota Graphics Corporation
  • Led technical projects related to X Server for three of Kubota’s 3D graphics/imaging subsystems.

Workstation Systems Engineering

1990 - 1992
Digital Equipment Corporation
  • Contributed to Advanced Technology Development’s core X Server group. Wrote and debugged X Server code for the DECStation 5000 workstation family’s 2D/3D graphics accelerator cards.
Technologies: Xcode Server

Unix Programmer

1985 - 1987
Lawrence Berkeley Laboratory
  • Designed and implemented a font editor for the Versatec printer/plotter’s font files that allows the interactive creation, deletion, modification, and inspection of the glyphs in each font.

U.S. Patent #6,088,701

Command and data transport to a graphics processing device from a CPU performing write reordering operations. Granted 7/11/2000 while at 3dfx. Now owned by NVIDIA.

Languages

C++, Perl, C, HTML5, Python, Objective-C, Lisp, PHP, JavaScript

Libraries/APIs

React, Xcode Server, Standard Template Library (STL), DirectX, OpenGL

Tools

Microsoft Visual Studio, Xcode

Paradigms

Mobile Development

Platforms

Unix, Linux, Windows, iOS, MacOS

Other

X11, Mobile App Development, Embedded Software, CTO, Automation Tools, Scripting, Transmission Control Protocol (TCP), Software, Hardware, Quality Assurance (QA), LLVM, Networking, Concurrency, Front-end

Frameworks

Django

Storage

MySQL

1987 - 1989

Master's Degree in Computer Science

University of Washington - USA

1983 - 1987

Bachelor's Degree in Computer Science

U.C. Berkeley - USA

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring