Scroll To View More
Ken Whaley, C++ Developer in Helsinki, Finland
Ken Whaley

C++ Developer in Helsinki, Finland

Member since September 6, 2012
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.
Ken is now available for hire

Portfolio

Experience

  • C, 20 years
  • Linux, 20 years
  • C++, 18 years
  • Python, 15 years
  • Django, 3 years
  • Perl, 3 years
  • Objective-C, 2 years
  • Mobile Development, 2 years
Helsinki, Finland

Availability

Part-time

Preferred Environment

Windows, Mac, Linux, Unix

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.

Employment

  • 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: C++, STL, Client/Server Networking/Sockets, Threads/Concurrency, Python, Linux, Windows, Django
  • 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: C++, DWARF, LLVM
  • 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: Python, Django, JavaScript
  • Senior Software Engineer

    2011 - 2011
    Loytr, Inc. (via Toptal)
    • Wrote a new photo album/photo display module for MyPad for iPad.
    Technologies: iOS, Objective-C
  • 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: MySQL, PHP, iOS
  • 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: C++, OpenGL, Perl, PHP, iOS, Objective-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.
    Technologies: Internal Technologies
  • Principal Engineer

    1999 - 2001
    Believe, Inc.
    • Led the architecture of core system software and architected software/hardware interfaces.
    Technologies: Software, Hardware
  • 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: Software, QA, Hardware
  • 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.
    Technologies: X Server
  • 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: X 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.
    Technologies: Versatec

Experience

  • U.S. Patent #6,088,701 (Other amazing things)

    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.

Skills

  • Languages

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

    Microsoft Visual Studio, Xcode
  • Paradigms

    Mobile Development
  • Platforms

    Unix, Linux, Windows, iOS
  • Other

    X11, iPhone App Development Freelancer, Mobile App Development, Embedded Software Engineer, CTO, TCP, Front-end
  • Frameworks

    Django
  • Libraries/APIs

    DirectX, OpenGL

Education

  • Master's degree in Computer Science
    1987 - 1989
    University of Washington - USA
  • Bachelor's degree in Computer Science
    1983 - 1987
    U.C. Berkeley - USA
I really like this profile
Share it with others