
Christian Trott
Christian Trott is a Distinguished Member of the Technical Staff at Sandia National Laboratories. He was first exposed to HPC-AI in 2004 at the Ilmenau University of Technology in Germany. As an undergraduate student, he implemented and optimized in-situ data analysis for molecular dynamic simulations for an EU project to investigate ion-conduction in batteries.
Today, his specialties include C++, Kokkos, OpenMP, CUDA, OpenCL and MPI software development, parallel algorithm development, performance portability, and molecular dynamics simulations. He is also a member of the Governing Board at High Performance Software Foundation (HPSF).
We are thrilled to congratulate Sandia’s Christian Trott on his selection as an HPC-AI Vanguard.
HPC-AI Current and Future Leaders
Christian Trott, Sandia National Laboratories
Distinguished Member of the Technical Staff
Center for Computing Research
What is your passion related to your career path?
I am passionate about making advanced HPC architectures more accessible to scientists and engineers. HPC systems have always been hard to leverage well, but with GPUs and other accelerators in the mix it has become truly daunting. Lowering the barrier to entry with my work on Kokkos, the ISO C++ committee, and the High Performance Software Foundation is what drives me. My favorite aspect of this is helping a new generation of HPC users, to train them in writing portable and sustainable HPC software. Seeing all the different ways people leverage Kokkos to advance science and solve engineering problems is really inspiring.
Do you prefer working as an individual contributor or a team leader?
While I do enjoy my quiet code hacking time, I love being part of a big team. I believe that with the sophistication of modern HPC projects, the most impactful work takes a team. Doing something like Kokkos cannot be achieved alone in one’s office. Constant feedback and idea exchange is crucial. Being the lead of an impactful project is particularly rewarding. It enables me to influence the direction of a large community. Seeing younger researchers/developers grow is another great thing about leading a team. It is great to be able to pass experiences on and discover where the next generation takes the field.
Who or what has influenced you the most to help you advance your career path in this community?
Interestingly enough, the fundaments of my career in HPC were laid by my dad. He taught me programming when I was in second grade. All through grade school I enjoyed geeking out with him about how to craft algorithms, data structures etc. That came in handy when I started studying physics and was able to join an EU research project as an undergraduate, to write HPC molecular dynamics simulations, which required a lot of coding.
After coming to the US and joining Sandia when I was finished with my PhD, the three most impactful people on my career were arguably Mike Heroux (long time lead of the scientific software suite Trilinos and lead of software technology for DOE’s Exascale Computing Project), Steve Plimpton (Fernbach Award winner, and longtime lead of the LAMMPS molecular dynamics code), and Carter Edwards (started Kokkos). They actually pursued fairly different career paths at Sandia and in the HPC community, showing me possibilities for my own future. That allowed me to chart my own path, finding a balance between programmatic work, research and hands-on development that fits me.
This is the most important thing to figure out in your career: what are the aspects of working in the HPC community you enjoy enough that you can engage in the long run without getting bored or burned out.
Your thoughts on how the nation can build a stronger and deeper pipeline of talented and passionate HPC and AI professionals?
The primary issue is that we need to get kids interested in this area early. If you get to college without any interest in HPC-AI adjacent areas (science, engineering) its likely too late. To stoke that interest, great science and engineering teachers are critical, and providing them with the resources to provide engaging education at school. It all comes down to investing in our schools. We need to pay teachers enough that people who could have a great engineering or science career feel that education is a viable career path. All my physics and math teachers in the German equivalent of high school had PhDs in actual physics and math. They were able to really pull us in with engaging experiments, and the way they conveyed how there is so much more depth hidden in physics and math than what is presented in the standard curriculum.
What does it take to be an effective leader in HPC and AI?
HPC and AI are, in their nature, service oriented fields, arguably more so than many other science areas. We do not build large platforms to investigate computer science problems, we build them to tackle science and engineering problems. Thus to be an effective leader one has to be focused on the actual users. As the Kokkos lead, my direct users or customers are not the actual end users but rather the developers of HPC applications, but the same thing applies. Understanding the needs and constraints of these software developers, and acting on that understanding, has been critical to the success of Kokkos and is what I believe to be one of the most important aspects of being a leader in HPC.
What is the biggest challenge you face in your current role?
Growing a community around Kokkos that can sustain itself is likely the most important thing on my docket – and it has been for a while. The “not-invented-here” syndrome is fairly large in HPC, and building enough trust with other institutions to have them risk building their accelerated computing strategy around Kokkos takes a lot of persuasion and time. However, I do believe that this is extremely important. Products such as Kokkos are so complex that only by combining resources of a larger community can we hope to make them reliable and good enough that they can become a true technology foundation for HPC.
At the programming system level that is sorely needed. Too much fragmentation leads to siloing off, interoperability challenges across libraries, and significant cost in terms of redundant development. Having grown the Kokkos community to where it is right now already enabled us to capture significant attention from hardware vendors who support our ecosystem and have a critical mass of Kokkos proficient developers that newcomers can readily find help and advice when they need it.
What changes do you see for the HPC-AI community in the next five-10 years, and how do you see your own skills evolving during this time frame?
One aspect that worries me today is the question of how AI assistance will impact the skill level of developers and researchers as well as how it will impact innovation. AI can already help with a lot of routine programming tasks. In fact, I believe talented developers can become more efficient with the help of AI, and potentially make less experienced developers almost obsolete. The question is how can one become an experienced developer, being able to tackle the problems where AI falls short, the things which actually require true innovation. How do new HPC folks acquire the skill necessary, if it is so easy to simply ask an AI assistant and then copy the answer into your code editor. This will be a true challenge for the workforce development going forward.
What is your view on the convergence and co-dependence of HPC and AI?
I don’t think that either convergence or co-dependence is an accurate description of the relationship between AI and HPC. In fact I do think that AI has developed away from HPC to a significant degree. It is a much more consumer facing technology – no one ever integrated HPC into everyone’s phone, or web-browser for example. We will certainly leverage AI in HPC, and some of the technologies developed for HPC will be used to power AI development and deployment. In my mind AI and HPC are more like siblings: related, but definitely having their own distinct character and not necessarily dependent on each other.
Do you believe science drives technology or technology drives science?
It is a codependence. Science is at the root of all technology development, but technology also enables new science to be done.
Would you like to share anything about your personal life?
When I came to New Mexico I didn’t know much about Sandia. Today I am confident that joining the labs was one of the best choices I could have made, but back then the argument that won me over was that New Mexico has surprisingly good skiing opportunities. For four months each year I end up spending a good chunk of my weekends on the ski-slopes, enjoying the incredible combination of glistening snow and blue skies New Mexico offers. So that idea that coming to Sandia would not only get me into a world class environment for HPC-related work but also gives me the opportunity to enjoy winter sports worked out really great, and has kept me captive for over a decade.