CU_MEM_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR and CU_MEM_CREATE_USAGE_TILE_POOL?

I’m attempting to create some shareable memory that can be used for CUarrays. However when I call cuMemCreate with both the requestedHandleTypes set to CU_MEM_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR and the allocFlags.usage set to CU_MEM_CREATE_USAGE_TILE_POOL, cuMemCreate returns a CUDA_ERROR_INVALID_VALUE error.

Without CU_MEM_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR cuMemExportToShareableHandle won’t work, and without CU_MEM_CREATE_USAGE_TILE_POOL cuMemMapArrayAsync won’t work, so both are needed.

Is this combination possible?

    CUDA_ARRAY3D_DESCRIPTOR arrDesc = {
        .Width = width,
        .Height = height,
        .Depth = 0,
        .NumChannels = 1,
        .Flags = CUDA_ARRAY3D_DEFERRED_MAPPING,
        .Format = CU_AD_FORMAT_UNSIGNED_INT8
    };

    CUarray arr;
    checkCudaErrors(cuArray3DCreate(&arr, &arrDesc));

    CUDA_ARRAY_MEMORY_REQUIREMENTS memoryRequirements;
    checkCudaErrors(cuArrayGetMemoryRequirements(&memoryRequirements, arr, 0));

    CUmemGenericAllocationHandle mem;
    CUmemAllocationProp props = {
        .type = CU_MEM_ALLOCATION_TYPE_PINNED,
        .requestedHandleTypes = CU_MEM_HANDLE_TYPE_POSIX_FILE_DESCRIPTOR,
        .location.type = CU_MEM_LOCATION_TYPE_DEVICE,
        .location.id = 0,
        .allocFlags.usage = CU_MEM_CREATE_USAGE_TILE_POOL
    };

    size_t granularity = 0;
    cuMemGetAllocationGranularity(&granularity, &props, CU_MEM_ALLOC_GRANULARITY_RECOMMENDED);
    size_t padded_size = ROUND_UP(memoryRequirements.size, granularity);

    checkCudaErrors(cuMemCreate(&mem, padded_size, &props, 0));