0

The CUDA driver API call

CUresult CUDAAPI cuMemGetAccess(
    unsigned long long   * flags, 
    const CUmemLocation  * location,
    CUdeviceptr            ptr);

takes a pointer to a builtin C(++) language type rather than any type definition. Yet - it's pretty obvious what this type definition should be: It is CUmemAccess_flags:

typedef enum CUmemAccess_flags_enum {
    CU_MEM_ACCESS_FLAGS_PROT_NONE        = 0x0,  /**< Default, make the address range not accessible */
    CU_MEM_ACCESS_FLAGS_PROT_READ        = 0x1,  /**< Make the address range read accessible */
    CU_MEM_ACCESS_FLAGS_PROT_READWRITE   = 0x3,  /**< Make the address range read-write accessible */
    CU_MEM_ACCESS_FLAGS_PROT_MAX         = 0x7FFFFFFF
} CUmemAccess_flags;

right? So, why doesn't it take that enum? Are the semantics different somehow?

einpoklum
  • 118,144
  • 57
  • 340
  • 684

0 Answers0