GDS加速HPFS存储访问(1) 开始使用 您需要根据硬件版本信息,在使用前在GPU客户端安装GDS,详细安装步骤请自行查询GPUDirect Storage Installation and Troubleshooting Guide。 以下是使用GDS的示例代码: plaintext include include include include include int main() { CUfileHandlet cfHandle; CUfileDescrt cfDescr {}; const char filename "/mnt/hpfs/testfile"; int fd open(filename, OCREAT ORDWR, 0664); if (fd < 0) { perror("File open failed"); return 1; } // Set up GDS descriptor cfDescr.handle.fd fd; cfDescr.type CUFILEHANDLETYPEOPAQUEFD; CUfileErrort status cuFileHandleRegister(&cfHandle, &cfDescr); if (status.err ! CUFILESUCCESS) { std::cerr << "cuFileHandleRegister failed: " << status.err << std::endl; close(fd); return 1; } // Alloc GPU memory and fill GPU memory with data void devPtr; sizet bufferSize 8192; cudaMalloc(&devPtr, bufferSize); cudaMemset(devPtr, 0xAB, bufferSize); // Perform the write ssizet writtenBytes cuFileWrite(cfHandle, devPtr, bufferSize, 0, 0); if (writtenBytes < 0) { perror("cuFileWrite failed"); } else { std::cout << "Wrote " << writtenBytes << " bytes to the file." << std::endl; } getBoolParameter() // Clean up cuFileHandleDeregister(cfHandle); close(fd); cudaFree(devPtr); return 0; } 通过以下命令编译: g++ o gdsexample gdsexample.cc I/usr/local/cuda/include L/usr/local/cuda/lib64 lcuda lcufile lcudart 更多的GDS API用法请您根据硬件版本自行查询 GDS cuFile API Reference。
来自: