Jesse Lopez's work as a DOE CSGF

June 10, 2014

When selected as a DOE Computational Science Graduate Fellow in 2013, Jesse Lopez chose to conduct his 12-week research project at Argonne National Laboratory.

“I was attracted by the advanced computational resources at Argonne and the opportunity to work with experts on challenging problems involving the ecosystem,” said Jesse.

Jesse’s project focused on improving the scalability of SELFE, a finite-element-based 3D circulation model used by oceanographers and environmental scientists for estuarine and coastal studies. Through the integration of profiling into the development cycle, he was able to identify several bottlenecks impeding scaling.

As with many legacy projects, I/O was done in a nonscalable way. Jesse developed an approach to avoid rereading the same data multiple times and to use parallel interfaces. The linear solver also showed poor scalability, especially for problems with large domains in deep water, so he added the ability to use an algebraic multigrid solver from the PETSc library.

Still another bottleneck involved tracer advection, which was done in a way that was ill-suited to vectorization and had poor memory locality. To address this issue, Jesse refactored the code to vectorize and reuse cache. He also improved the structure, making it more maintainable.

“Finding solutions to these issues in a real-world application was enormously rewarding. I was encouraged to explore new ideas, and I collaborated on preliminary investigations involving new – and sometimes exotic – techniques,” said Jesse.

Jesse is currently a graduate student at Oregon Health and Science University, where he is studying Environmental Engineering and Science.