Algorithm Development and High-Performance Software Implementation: Areas I've done serious analysis and coding in include:
| B. S. | The University of Michigan, Ann Arbor | 1985 | Aerospace Engineering |
| M. S. | The University of Michigan, Ann Arbor | 1987 | Aerospace Engineering |
| M. A. | The University of Michigan, Ann Arbor | 1991 | Mathematics |
| Ph.D. | The University of Michigan, Ann Arbor | 1993 | Aerospace Engineering |
| Sep 2007 - present |
Senior Staff R&D Engineer Synopsys, Inc. Sunnyvale, CA |
Member of the Schematic-Driven Layout team of the Synopsys Custom Designer R&D group. | |
| Jan 2006 - Aug 2007 |
Senior Software Engineer Agate Logic, Inc. Cupertino, CA |
Agate is the company which bought out Leopard Logic's IP in mid-2005. Ongoing SW tools development, mainly in the areas of router, architectural modeling and optimization, architectural development, quality of results of the p&r tool flow, and helping train and work with a group of young engineers in the Agate Logic Beijing office. | |
| Oct 2004 - Feb 2005 |
Staff Software Engineer Tabula, Inc. Santa Clara, CA |
||
| Nov 2001 - Oct 2004 |
Staff Software Engineer Leopard Logic, Inc. Cupertino, CA |
The Leopard Logic "router guy." More-or-less sole responsibility for development of the production router tools for both the original LL FPGA core and later for the hybrid Gladiator CLD core. For the hierarchical FP core, devised a novel "reverse routing" algorithm that is both extremely fast and provably optimal in terms of mux usage. This allowed us to reduce the area of the chip by roughly one-third and (despite the reduced mux counts) routinely route designs having over 90% cell utilization. For Gladiator, the challenge was to quickly develop and productize a placement engine and fast, efficient global and detail router for a mask-programmable heterogenous logic fabric consisting of 64K 4-lut-based corecells, 64 RAM/MAC pairs running through the MP base in 8 vertical columns, surrounded by a set of horizontal and vertical outer routing channels and 8 I/O banks, each with a different capacity. Despite extremely limited manpower due to very restricted funding, the Gladiator software-tool development effort was successful beyond any reasonable expectation. | |
| Jul 2000 - Oct 2001 |
Software Engineer Adaptive Silicon, Inc. Los Gatos, CA |
Major responsibility for development of the detail-router component of the integrated Verdi toolsuite for the ASi embeddable FPGA core, as well as numerous high-performance graph-theoretic utility algorithms | |
| Jul 1993 - Jun 1999 |
Assistant Professor Dept. of Mech.&Aero. Engineering Case Western Reserve University 10900 Euclid Avenue Cleveland, OH 44106-7222 |
Taught undergraduate and graduate classes in Computational Fluid Dynamics, Numerical Methods in Engineering, Advanced Fluid Mechanics. Supervised the Senior Project capstone design class, as well as two PhD dissertations (Dr. Sih-Tsan Lee and Dr. Kamran Eftekhari) and several Masters' theses. | |
| Agate Logic, Inc. | Robert Giltrap & Tom Duell, Sun Corporation | Dr. Richard E. Crandall |
| 3 Results Way, Cupertino, CA 95014 | OpenSolaris - Google Summer of Code Project | Director, Center for Advanced Computation |
| o Phil Verinsky, VP of Engineering | http://www.opensolaris.org/os/project/summerofcode/students/ | Reed College, Portland, OR 97202 |
| o Ronald H. Nicholson Jr, Director, Product Architecture | ||
| o Brian Tien, Chief Operating Officer |
2007: Reverse Routing Methods for Integrated Circuits Having an Hierarchical Interconnect Architecture, filed Feb. 2007 with USPTO.
2007: Integrated Circuits with Hybrid Planar Hierarchical Architecture and Methods for Interconnecting Their Resources, filed July 2007 with USPTO.
S.-T. Lee and E. W. Mayer, ``Long's vortex revisited,'' manuscript in preparation.
E. W. Mayer, Mlucas: an open-source program for testing the character of Mersenne numbers.
R. E. Crandall, E. W. Mayer and J. S. Papadopoulos, The twenty-fourth Fermat number is composite, Mathematics of Computation 72 (243), pp.1555-1572, December 2002.
E. W. Mayer and E. Reshotko, ``Evidence for transient disturbance growth in a 1961 pipe-flow experiment,'' Physics of Fluids 9, pp. 242-244, January 1997.
E. W. Mayer, ``Making Waves,'' correspondence, Nature 384, p. 105, 1996.
E. W. Mayer and K. G. Powell, ``Viscous and inviscid instabilities of a trailing vortex,'' Journal of Fluid Mechanics 245, pp. 91-114, December 1992.
E. W. Mayer and K. G. Powell, ``Similarity solutions for viscous vortex cores,'' Journal of Fluid Mechanics 238, pp. 487-508, May 1992.
September 2008: 45th and 46th Known Mersenne verified using a multithreaded in-development version of my Mlucas code, which achieves an average processor utilization (compared to single-threaded) of 70% running 16-threaded on 8 dual-cores of a Sparc VII server and 4 quad cores of a Sparc VIII for large-array double-precision FFTs of lengths 2048K and 4096K floating doubles, respectively.
2007: Received a grant via the OpenSolaris - Google Summer of Code Projectfor a summer student (Tom Harper, co-mentored by Rob Giltrap & Tom Duell of Sun and myself) to deploy some highly parallelizable large-vector FFT code within the framework of my Mlucas open-source Mersenne-testing program. Using a coarse-grained parallel-FFT framework I had developed and done most of the code prototyping and debugging for in 2005, via a combination of thread-level debugging and further parallel-bottleneck removal we soon achieved some very impressive parallel performance: superlinear multithreaded performance on an Itanium/Linux system using up to 4 threads, 6x speedup for 8-threaded and 10x for 16-threaded on a 16-core Sparc VI system. Due to the difficulty of parallelizing an inherently data-nonlocal algorithm like FFT (especially for out-of-cache dataset sizes), this degree of parallelism is unprecedented in this context.
1999-2004: Using my Mlucas code, performed official independent-hardware-and-software verification runs of the newly-discovered Mersenne primes M6972593 (2098960 decimal digits), M13466917 (4053946 decimal digits), M20996011 (6320430 decimal digits) and M24036583 (7235733 decimal digits).
1999-2000: In collaboration with Richard Crandall and Jason Papadopoulos, established the composite character of the 24th Fermat Number. At the time, this was the largest number ever resolved as prime or composite via nonfactorial compositeness test.
1999: Lucas, a prototype version of my ever-evolving discrete-weighted-transform-based Lucas-Lehmer code for testing Mersenne numbers, makes it into the SPEC 2000 floating-point benchmark suite.
1993: Honorable mention 2nd place, McIvor Award (for outstanding research in Applied Mechanics), The University of Michigan College of Engineering.
1992: Outstanding Graduate Student Achievement Award, Department of Aerospace Engineering, The University of Michigan.
1990-1991: NASA Graduate Student Researcher Fellowship, Lewis Research Center.
1989: Research Partnership Award, Horace H. Rackham School of Graduate Studies, University of Michigan.
1987: Ralph W. Dobbins Fellow, Department of Aerospace Engineering, The University of Michigan.
Development of fast numerical algorithms for transform-based large-integer arithmetic, primality proving (see the section titled ``Posted to the world wide web'' below), and factorization. Development of advanced fast Fourier transform (FFT) algorithms optimized for modern cache-based microprocessor architectures, and (in ongoing collaboration with Peter L. Montgomery) hybrid floating-point/integer transform algorithms for factorization and primality testing of very large integers, targeted for leading-edge architectures with a good balance of floating-point and integer capabilities such as the Alpha 21264, Intel IA-64, AMD Opteron and Apple/Motorola PowerPC/AltiVec). In 1999 (in collaboration with Richard E. Crandall and Jason S. Papadopoulos) conducted computational proof of the composite character of the twenty-fourth Fermat number (5050446 decimal digits) using a highly efficient floating-point-based code of my own writing, running on a MIPS R10000 single-processor workstation. (JSP conducted a second, independent floating-point-based proof, and REC organized a distributed volunteer effort which used checkpoint files generated by the floating-point runs to effect a parallel, all-integer ``wavefront'' check of the Pépin squares using multiple machines, including 5 Pentia paid for by a grant from the Number Theory Foundation.)
Applied mathematics/numerical analysis:
Mathematical analysis of finite-difference, finite-volume and spectral methods to solve linear and nonlinear ordinary and partial differential equations; weakly and strongly nonlinear hydrodynamic stability theory; nonlinear wave propagation and singularity formation; sensitivity analysis of hydrodynamic stability operators. Development of high-accuracy numerical algorithms for the generalized linear eigenproblem
Ax=cBx. The latter algorithm is far more accurate than the generalized-eigensystem routines in LAPACK package, considered the state of the art in numerical linear algebra.
Theoretical and computational fluid dynamics:
Application of finite-difference, finite-volume and spectral methods to solve linear and nonlinear ordinary and partial differential equations arising in boundary-layer theory, swirling flows, compressible aerodynamics and hydrodynamic stability theory.
Classic Iterative Methods for Polynomials:
In 1994, after reading a brief but very interesting SIAM Review Classroom Note by J. Gerlach ("Accelerated Convergence in Newton's Method," SIAM Review 36, 272-276), discovered an elegant recurrence formula for generating Newton-style iterative schemes of arbitrarily high order: For f(x) sufficiently smooth, an Nth-order-converging iterative scheme is defined by
| xk+1 = xk - | f f' [(f')2 - f f''/2] |
| xk+1 = xk - | f [(f')2 - f f''/2] [(f')3 - f f' f'' + f2 f'''/6] |
Study of the structure and dynamics of concentrated vortices in aerodynamics, geophysical and bio-fluid dynamics, and of particular phenomena such as vortex instability and breakdown.
Theoretical and numerical hydrodynamic stability theory:
Study of linear and nonlinear stability of swirling and nonswirling shear flows, the mathematical behavior and numerical solution of equations arising in this context, and applicability to understanding of physical flow instabilities including (but not limited to) shear-layer instabilities, swirling-flow instabilities/vortex breakdown and transition to turbulence.