Path: Eric’s Site / Work / Unabridged Résumé | Related: Résumé, Work Samples, What I Do, Apple Service (Site Map) |
Note to Recruiters |
I implemented high-performance FFT routines and other routines for numerical processing. My work began with PowerPC and AltiVec but changed to Intel and ARM. I wrote high-performance SIMD code, often in assembly, including redesigning code and designing new algorithms to take advantage of new hardware. My FFT routines were world-class, at times beating Intel’s own software for speed. I created accurate and fast math library routines, including sinf, cosf, tanf, and their inverses. I wrote fast implementations of encryption (AES and SHA-1) and audio (SBC) routines. I helped develop new processor instructions, including proposing new instructions, implementing emulation code and developing new code using the instructions. I implemented Intel emulation of ARM64 instructions, including integer and floating-point conversions with full support for rounding modes, subnormals, and exceptions. I served on the IEEE 754-2008 revision committee. I trained other engineers, diagnosed build issues and maintained complex software build procedures, and prepared software for special embedded and kernel environments. I managed the build procedures and configuration for a complex software product. I interviewed and evaluated employees for a corporate acquisition and for routine hiring.
I worked on physics simulation for Madden NFL. (I left this job after eight weeks because it was a great mismatch for my skills and interests.)
I implemented FFT, IIR, and Advanced Encryption Standard routines in assembly language for high-performance computing on the PowerPC 7410.
After working for 16 years and saving diligently, I quit to take a sabbatical. Aside from personal recreation, I learned Microsoft Windows programming, wrote a Windows application for a mathematical puzzle, caught up on C++ and the C++ Standard Template Library, taught a class, refreshed my knowledge of differential equations, started studying control theory, and did a lot of reading (fiction and non-fiction). The time was relaxing and educational.
I made math library routines as fast as possible for high-performance signal and image processing. I optimized matrix multiplication, FFT, transcendental, and other routines in C and PowerPC/AltiVec assembly by analyzing mathematics, designing algorithms, and optimizing code for high speed with particular processor, cache, and bus characteristics. I also engineered calculations and algorithms to very precisely approximate trigonometric, logarithmic, and exponential functions.
I held a variety of engineering roles related to Digital Unix (now Tru64 Unix, formerly OSF/1) and Ultrix, including:
Assignments for porting VMS to the Alpha Architecture included porting modules in BLISS and Macro, designing and implementing macros to replace VAX BLISS built-ins, some redesign work for the new architecture (such as supporting new page sizes), and debugging.
Tasks included design and maintenance work on many RSX components: portions of the operating system executive, Crash Dump Analyzer, Data Terminal Emulator, Micro/RSX File Transfer, Backup and Restore Utility, Postmortem Dump, Monitor Console Routine, Data Caching Manager, Shadow Recording, and VAX CoProcessor/RSX.
Duties included translating various programs in BASIC and FORTRAN, writing TSO commands and general utilities (usually in FORTRAN), installing and debugging program products, and providing programming assistance.
Duties included providing technical aid to customers and verifying computer account records.
Taught Foundations of Mathematics.
Taught Assembly Language Programming for the IBM PC.
Path: Eric’s Site / Work / Unabridged Résumé | Related: Résumé, Work Samples, What I Do, Apple Service (Site Map) |