Cross-vendor GPU-Initiated I/O with native Linux io_uring
Resumo
GPU applications increasingly require irregular file I/O whose offsets, buffer addresses, and sizes are determined dynamically during kernel execution. Usually, such requests are serviced by host software, placing the CPU in the I/O control path. We remove this per-request userspace mediation by allowing the accelerator to submit io_uring requests directly into GPU-visible pinned host memory. We provide a cross-vendor interface that preserves the standard Linux filesystem and storage stack. For 4 KiB random reads at queue depth 64, it sustains 90% of CPU-controlled io_uring throughput and 34% more IOPS than a host-service baseline modeling RPC-style mediation. For reads of 64 KiB or larger, our approach saturates the storage device.Referências
Advanced Micro Devices, Inc. (2026). HIP Programming Manual. Advanced Micro Devices, Inc. Available at: [link]. Accessed: Aug. 12, 2026.
Axboe, J. (2024). fio – Flexible I/O Tester. [link]. Accessed: Aug. 15, 2026.
Bergman, S., Brokhman, T., Cohen, T., and Silberstein, M. (2019). SPIN: Seamless operating system integration of peer-to-peer DMA between SSDs and GPUs. ACM Transactions on Computer Systems, 36(2):5:1–5:26.
Didona, D., Pfefferle, J., Ioannou, N., Metzler, B., and Trivedi, A. (2022). Understanding modern storage APIs: A systematic study of libaio, SPDK, and io_uring. In Proceedings of the 15th ACM International Conference on Systems and Storage (SYSTOR), pages 120–127. ACM.
Han, J., Sivasubramaniam, A., Chang, C.-H., Mailthody, V. S., Qureshi, Z., and Hwu, W. (2026). Asynchrony and GPUs: Bridging this dichotomy for I/O with AGIO. In Proceedings of the 31st ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), Volume 2, pages 208–222. ACM.
Inupakutika, D., Davis, B., Yang, Q., Kim, D., and Akopian, D. (2022). Quantifying performance gains of GPUDirect storage. In Proceedings of the IEEE International Conference on Networking, Architecture and Storage (NAS), pages 1–9. IEEE.
Li, S., Zhou, Y. E., Xue, Y., Xu, Y., and Huang, J. (2025). Managing scalable direct storage accesses for GPUs with GoFS. In Proceedings of the ACM SIGOPS 31st Symposium on Operating Systems Principles (SOSP), pages 979–995. ACM.
LLVM Project (2026a). libc for GPUs. [link]. Accessed: Aug. 13, 2026.
LLVM Project (2026b). Remote Procedure Calls — The LLVM C Library. [link]. Accessed: Aug. 13, 2026.
NVIDIA Corporation (2026). CUDA C++ Programming Guide. NVIDIA Corporation. Available at: [link]. Accessed: Aug. 12, 2026.
Qureshi, Z., Mailthody, V. S., Gelado, I., Min, S., Masood, A., Park, J., Xiong, J., Newburn, C. J., Vainbrand, D., Chung, I.-H., Garland, M., Dally, W., and Hwu, W. (2023). GPU-initiated on-demand high-throughput storage access in the BaM system architecture. In Proceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), pages 325–339. ACM.
Silberstein, M., Ford, B., Keidar, I., and Witchel, E. (2013). GPUfs: Integrating a file system with GPUs. In Proceedings of the 18th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), pages 485–498. ACM.
Veselý, J., Basu, A., Bhattacharjee, A., Loh, G. H., Oskin, M., and Reinhardt, S. K. (2018). Generic system calls for GPUs. In Proceedings of the 45th Annual International Symposium on Computer Architecture (ISCA), pages 843–856. IEEE.
Yang, Z., Zhuang, J., Chen, X., Jones, A. K., and Zhou, P. (2025). AGILE: Lightweight and efficient asynchronous GPU-SSD integration. In Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis (SC), pages 1028–1042. ACM.
Axboe, J. (2024). fio – Flexible I/O Tester. [link]. Accessed: Aug. 15, 2026.
Bergman, S., Brokhman, T., Cohen, T., and Silberstein, M. (2019). SPIN: Seamless operating system integration of peer-to-peer DMA between SSDs and GPUs. ACM Transactions on Computer Systems, 36(2):5:1–5:26.
Didona, D., Pfefferle, J., Ioannou, N., Metzler, B., and Trivedi, A. (2022). Understanding modern storage APIs: A systematic study of libaio, SPDK, and io_uring. In Proceedings of the 15th ACM International Conference on Systems and Storage (SYSTOR), pages 120–127. ACM.
Han, J., Sivasubramaniam, A., Chang, C.-H., Mailthody, V. S., Qureshi, Z., and Hwu, W. (2026). Asynchrony and GPUs: Bridging this dichotomy for I/O with AGIO. In Proceedings of the 31st ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), Volume 2, pages 208–222. ACM.
Inupakutika, D., Davis, B., Yang, Q., Kim, D., and Akopian, D. (2022). Quantifying performance gains of GPUDirect storage. In Proceedings of the IEEE International Conference on Networking, Architecture and Storage (NAS), pages 1–9. IEEE.
Li, S., Zhou, Y. E., Xue, Y., Xu, Y., and Huang, J. (2025). Managing scalable direct storage accesses for GPUs with GoFS. In Proceedings of the ACM SIGOPS 31st Symposium on Operating Systems Principles (SOSP), pages 979–995. ACM.
LLVM Project (2026a). libc for GPUs. [link]. Accessed: Aug. 13, 2026.
LLVM Project (2026b). Remote Procedure Calls — The LLVM C Library. [link]. Accessed: Aug. 13, 2026.
NVIDIA Corporation (2026). CUDA C++ Programming Guide. NVIDIA Corporation. Available at: [link]. Accessed: Aug. 12, 2026.
Qureshi, Z., Mailthody, V. S., Gelado, I., Min, S., Masood, A., Park, J., Xiong, J., Newburn, C. J., Vainbrand, D., Chung, I.-H., Garland, M., Dally, W., and Hwu, W. (2023). GPU-initiated on-demand high-throughput storage access in the BaM system architecture. In Proceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), pages 325–339. ACM.
Silberstein, M., Ford, B., Keidar, I., and Witchel, E. (2013). GPUfs: Integrating a file system with GPUs. In Proceedings of the 18th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), pages 485–498. ACM.
Veselý, J., Basu, A., Bhattacharjee, A., Loh, G. H., Oskin, M., and Reinhardt, S. K. (2018). Generic system calls for GPUs. In Proceedings of the 45th Annual International Symposium on Computer Architecture (ISCA), pages 843–856. IEEE.
Yang, Z., Zhuang, J., Chen, X., Jones, A. K., and Zhou, P. (2025). AGILE: Lightweight and efficient asynchronous GPU-SSD integration. In Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis (SC), pages 1028–1042. ACM.
Publicado
03/11/2026
Como Citar
CECCATO, Rodrigo; JUNIOR, Jociclelio; HUBER, Joseph; DIAZ, Jose M. Monsalve; YVIQUEL, Hervé.
Cross-vendor GPU-Initiated I/O with native Linux io_uring. In: SIMPÓSIO EM SISTEMAS COMPUTACIONAIS DE ALTO DESEMPENHO (SSCAD), 27. , 2026, Natal/RN.
Anais [...].
Porto Alegre: Sociedade Brasileira de Computação,
2026
.
p. 329-342.
DOI: https://doi.org/10.5753/sscad.2026.34943.
