2. API Errors#
This section provides information about the common API errors you might get when using GDS.
2.1. CU_FILE_DRIVER_NOT_INITIALIZED#
If the cuFileDriverOpen API is not called, errors encountered in the implicit call to driver initialization
are reported as cuFile errors encountered when calling cuFileBufRegister or cuFileHandleRegister.
2.2. CU_FILE_DEVICE_NOT_SUPPORTED#
GDS is supported only on NVIDIA graphics processing units (GPU) Tesla® or Quadro® models that support compute mode, and a compute major capability greater than or equal to 6.
Note
This includes V100 and T4 cards.
2.3. CU_FILE_IO_NOT_SUPPORTED#
If the file descriptor is from a local file system, or a mount that is not GDS ready, the API returns
the CU_FILE_IO_NOT_SUPPORTED error.
Refer to Before You Install GDS for a list of the supported file systems.
Common reasons for this error include:
The file descriptor belongs to an unsupported file system.
The specified
fdis not a regular UNIX file.Any combination of encryption, and compression, compliance settings on the
fdare set.For example,
FS_COMPR_FL | FS_ENCRYPT_FL | FS_APPEND_FL | FS_IMMUTABLE_FL.Note
These settings are allowed when
compat_modeis set totrue.Any combination of unsupported file modes are specified in the open call for the
fd. For example,O_APPEND | O_NOCTTY | O_NONBLOCK | O_DIRECTORY | O_NOFOLLOW | O_TMPFILE
2.4. CU_FILE_CUDA_MEMORY_TYPE_INVALID#
Physical memory for cudaMallocManaged memory is allocated dynamically at the first use. Currently, it does not
provide a mechanism to expose physical memory or Base Address Register (BAR) memory to pin for use in GDS. However,
GDS indirectly supports cudaMallocManaged memory when the memory is used as an unregistered buffer with
cuFileWrite and cuFileRead.