Hello blog. It's been a while, but it sure has been an active few months.
Things have been cranking full speed ahead for Team Orf with the AMS Conference on Severe Local Storms (SLS) coming up in October. Hard work is being done to crunch through the immense amount of data we have so that we can do some hard-numbers science and present it to the community, as well as running new simulations and getting more tornadoes out of it. It's exciting stuff.
Part of that is developing the necessary tools for the job, which as I've discussed before, I've been working on parcel trajectory code, specifically leveraging Graphical Processing Units (GPUs) to do the job much faster than traditional methods. Again, because we're saving data to disk every model time step, we want to integrate the parcels at every time step as it would in CM1, but without running CM1 multiple times to get trajectories. I currently have a working version, which is super exciting, but has a few bugs here and there that we're working on, specifically with parcels at the lower boundary. The validation process is a tedious one. A brief demo is embedded below.
Part of the fun, however, is that I no longer have to rely on the Blue Waters job queue to not be full to test and run my parcel trajectories because NVIDIA has gifted us a Quadro P6000 for our research through their GPU grant program!
With 24GB of on-board memory and 3.8k CUDA compute cores, this is going to be plenty powerful for the task at hand. That said, my goal is to push this thing to its absolute limits, and we may be able to do that quite easily once we get past just parcel trajectories. Beyond just data analysis, however, this will be instrumental in helping us further develop tools that will leverage the GPU architecture, as newer supercomputing platforms are leveraging these accelerators at an ever increasing rate, while meteorological code lags behind. We will be making the code we develop available and open source to encourage further usage and development of GPU computing in the community as well! As part of this, I will be attending the Multicore workshop at NCAR next month, as well as the NCSA GPU Hackathon, where we will attempt to port portions of the CM1 radiation code to the GPU using OpenACC. Fingers crossed on that one. But, a busy few months ahead once again, so catch you next time blog.