19 #include <sys/types.h>
28 #ifdef KVIKIO_CUFILE_FOUND
35 using CUfileHandle_t =
void*;
36 using CUfileOpError = int;
37 #define CUFILE_ERRSTR(x) ("KvikIO not compiled with cuFile.h")
38 #define CU_FILE_SUCCESS 0
39 #define CU_FILE_CUDA_DRIVER_ERROR 1
46 using CUfileDriverControlFlags_t =
enum CUfileDriverControlFlags {
47 CU_FILE_USE_POLL_MODE = 0,
48 CU_FILE_ALLOW_COMPAT_MODE = 1
51 enum CUfileFileHandleType { CU_FILE_HANDLE_TYPE_OPAQUE_FD = 1 };
54 enum CUfileFileHandleType type;
60 static inline const char* cufileop_status_error(CUfileOpError err) {
return CUFILE_ERRSTR(err); };
63 ssize_t cuFileRead(...);
64 ssize_t cuFileWrite(...);
80 #ifndef KVIKIO_CUFILE_BATCH_API_FOUND
81 typedef enum CUfileOpcode { CUFILE_READ = 0, CUFILE_WRITE } CUfileOpcode_t;
83 typedef enum CUFILEStatus_enum {
84 CUFILE_WAITING = 0x000001,
85 CUFILE_PENDING = 0x000002,
86 CUFILE_INVALID = 0x000004,
87 CUFILE_CANCELED = 0x000008,
88 CUFILE_COMPLETE = 0x0000010,
89 CUFILE_TIMEOUT = 0x0000020,
90 CUFILE_FAILED = 0x0000040
95 CUfileStatus_t status;
107 #ifndef KVIKIO_CUFILE_STREAM_API_FOUND