NVIDIA hướng dẫn dùng KvikIO và GPUDirect Storage để đọc dữ liệu thẳng vào bộ nhớ GPU bằng Python
NVIDIA giới thiệu hướng dẫn sử dụng thư viện Python KvikIO để đọc tệp trực tiếp vào bộ nhớ GPU NVIDIA thông qua GPUDirect Storage (GDS). GDS có thể bỏ qua bước sao chép trung gian qua bộ nhớ CPU, từ đó giảm tải cho CPU và giúp GPU nhận dữ liệu nhanh hơn khi các bộ dữ liệu AI ngày càng lớn. KvikIO cung cấp giao diện Python và C++ cấp cao hơn cho API cuFile cấp thấp. Hướng dẫn giải thích rằng trước tiên KvikIO quyết định có dùng cuFile hay đường dẫn tương thích POSIX, sau đó cuFile tiếp tục quyết định hệ thống có thể dùng đường dẫn tăng tốc nvidia-fs hay phải trung chuyển dữ liệu qua CPU. Nhà phát triển có thể điều chỉnh hành vi này bằng các thiết lập như KVIKIOCOMPATMODE, KVIKIOGDSTHRESHOLD và các tùy chọn trong cufile.json, rồi dùng gdsstats để kiểm tra dữ liệu đã đi qua đường dẫn tăng tốc hay chưa. NVIDIA minh họa trên hệ thống Linux với GPU H100, CUDA 13.3, cuFile 1.18, ổ NVMe cục bộ và cấu hình kết nối PCIe phù hợp. Về thực tế, KvikIO mang đến một cách tiếp cận thuận tiện cho các ứng dụng Python muốn giảm nút thắt khi chuyển dữ liệu từ ổ lưu trữ vào GPU, chẳng hạn trong khoa học dữ liệu, phân tích ảnh và phân tích dữ liệu tăng tốc bằng GPU. Tuy vậy, giải pháp này yêu cầu phần cứng, hệ thống lưu trữ, hệ thống tệp và cấu hình GDS tương thích.
Lập trình viên AI và dữ liệu có hệ thống Linux dùng GPU NVIDIA có thể thử KvikIO để đọc dữ liệu thẳng vào GPU và giảm việc CPU phải trung chuyển dữ liệu. Tuy nhiên, cần phần cứng, hệ thống lưu trữ và cấu hình GPUDirect Storage tương thích, đồng thời kiểm tra bằng gds_stats để biết đường truyền tăng tốc có thực sự được dùng hay không.
Đọc bài gốc