cudaErrorInvalidValue с cudaMallocMipmappedArray для 1D массива - PullRequest
0 голосов
/ 01 ноября 2019

Я пытаюсь выделить память для массива cuda mipmap 1D:

cudaMipmappedArray_t* cuMipArray{};
cudaExternalMemoryMipmappedArrayDesc cuTexDesc{};
cuTexDesc.extent = make_cudaExtent(texturePixels, 0, 0); //texturePixels = 2160*1080*4
cuTexDesc.formatDesc = cudaCreateChannelDesc<float>();
auto result = cudaMallocMipmappedArray(cuMipArray, &cuTexDesc.formatDesc,
                                       cuTexDesc.extent, cuTexDesc.numLevels); //numLevels is 0

к сожалению, я получаю cudaErrorInvalidValue (1): почему?


РЕДАКТИРОВАТЬ

благодаря @ Роберту Кровелле, я знаю, что это потому, что maxTexture1DMipmap слишком мало (32768).

cudaDeviceProp prop{};
cudaGetDeviceProperties(&prop, 0);
auto maxValue = prop.maxTexture1DMipmap;

Я попытался немного поднять его (65265) с prop.maxTexture1DMipmap = texturePixels;, но cudaMallocMipmappedArray снова терпит неудачу. Любая подсказка?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...