11-19, 15:45–15:50 (Pacific/Auckland), WG403
Zarr is a cloud-native format, and now it can be GPU-native too! We address one of the main bottlenecks of geospatial machine learning, which is on the data loading stage. Let's see how we can read and decompress data from Zarr directly into GPU memory!
The Zarr format is used in the geosciences for storing time-series and multi-variate data, and was designed with parallel access in mind. Previously though, there was a bottleneck where data from storage disk had to go through an intermediate step of being loaded into CPU memory, before it is then copied to Graphical Processing Unit (GPU) memory. Now, with the proper GPUDirect Storage (GDS) drivers configured, one can read and decode uncompressed data from storage into CUDA GPU device memory directly via kvikIO for lower latency. To get even more throughput, compressed data in Zarr can be sent directly to GPU memory, and decompressed in parallel using nvCOMP that works faster than CPU-based decompression algorithms. The result is a fully GPU-native pipeline where I/O latency is minimized by sending compressed data, and GPU utilization is maximized by having it do most of the processing. We'll show some benchmarks comparing the speedups from a CPU baseline to a fully GPU-native workflow, and show some extra tips and tricks on how to use these technologies for your next geospatial machine learning project!