Рет қаралды 1,019
In this video, we look at a new example implemented in the Spectral Element Library in Fortran. Specifically, we look at adding a coriolis force to our linear shallow water equation solver to resurrect a verification problem Dr. Siddhartha Bishnu and Dr. Joe Schoonover cooked up a few years ago (see the reference paper below). In the process of adding this example, we uncovered a rather bizarre correctness bug that was apparent on AMD GPUs and not on Nvidia GPUs. We walk through the process of identifying the root cause of the problem and find that it is related to uninitialized values on the setup of the model.
This video is meant to serve as a public service announcement to our fellow research software engineers. Hopefully, we've captured the frame of mind we can often get into when encountering strange correctness bugs when we're trying to do research while simultaneously learning how to program new bleeding edge hardware. Enjoy!
Papers referenced in this video
Bishnu, S., Petersen, M. R., Quaife, B., & Schoonover, J. (2024). A verification suite of test cases for the barotropic solver of ocean models. Journal of Advances in Modeling Earth Systems, 16, e2022MS003545. doi.org/10.102...
Learn more about Fluid Numerics at www.fluidnumerics.com
You can access our completely open-source, multi-gpu accelerated conservation law solver (the Spectral Element Library in Fortran [SELF]) at self.fluidnumerics.com