Featured Engineer

Interview with Vikram Jandhyala

Vikram Jandhyala

Vikram Jandhyala - Professor, Dept of Electrical Engineering, University of Washington; Founder, Physware Inc.

What are your favorite software tools that you use?

I prototype algorithms and methods quickly in Matlab and increasingly in Python with Numpy and Scipy. For real large-scale programming and industrial-strength codes or codes for startups I try to use as much C/C++ as possible. For parallel and cloud programming, OpenMP and MPI is invaluable in both C++ and Python even though easier, more coarse grained alternatives are available.

What is the hardest/trickiest bug you have ever fixed?

Before I was using languages that allowed pointers, I had a huge software code written in FORTRAN for analyzing electromagnetic scattering from large structures. There was a crash happening only when the system size was in the millions, requiring a day to run up to the crash, and also using so much memory that the code could not be run through a debugger. It took a while, the bug was never really traced as such, but changing one particular counter from int to long int did the trick.

What is on your bookshelf?

A whole bunch of subject areas where I find that right mix of applied math algorithms, physics insights, and large-scale computing. Everything from electromagnetics, electronic design automation, multiphysics models, to economic and social network books, cloud computing, agent-based models, stochastic optimization, and computational finance.

Do you have any tricks up your sleeve?

I wouldn’t say the following is necessarily unique, but has definitely helped me and my students in developing large-scale codes. At every stage, when building and testing such codes, we ensure we have the right physical insight and benchmarks available. With codes that simulate physics, the problem is that waiting for the whole code to be ready and then test is not feasible or accurate. Therefore it is critical to come up with sub-problems where you have the right intuition, analytical math, or closed-form expressions that can be used for testing. Limiting cases, thought experiments, self-consistency tests, null hypotheses and reductio ad absurdum examples all play a role.

What has been your favorite project?

At the cost of repeating myself, anything where physics, math, and computation come together elegantly to solve real-world problems. This is also what led to a startup I did which builds scalable tools for system-level electronic design automation.

Do you have any note-worthy engineering experiences?

These are not something to be proud of, but I had two shocking experiences. The first was as an infant when I managed to put my finger into a live 220V socket and got a real buzz. The second was as an undergraduate when I leaned over to look at a reading on a circuit connected to a motor, but touched an unshielded rheostat connected to 440V. It was strong enough that I could feel the muscles in my hand and arm start to strain and jerk. Perhaps because of these experiences, I prefer being on the simulation side of engineering and physics!

What are you currently working on?

I continue to work at the intersection of deep mathematical formulations, elegant physical reasoning and models, and massively scalable computation, with applications in electromagnetics, microelectronics design, multiphysics, and increasingly using cloud computing, with network and internet graph applications, and in computational finance.

Previous Spotlights

Click Here