Ошибка динамического параллелизма для графического процессора TeslaK80 - PullRequest
0 голосов
/ 26 июня 2019

Я использую графический процессор TeslaK80. Я пробую динамический параллелизм.Но когда я компилирую с использованием nvcc, я получаю ошибки nvlink. Я попытался предоставить флаги во время компиляции, я указал флаги '-rdc = true', '-arch sm_37' (потому что вычислительная способность teslaK80 равна 3.7) и '-lcudadevrt».Код, который я попробовал, приведен ниже, а команда компиляции, которую я дал, также представлена ​​ниже:

nvcc -arch sm_37 -rdc=true -lcudadevrt dynamic_parallelism.cu -o dynamic_parallelism

Это привело к ошибке:

Ошибка nvlink: неопределенная ссылка на 'cudaGetParameterBufferV2' в'/tmp/tmpxft_00000d9d_00000000-17_dynamic_parallelism.o'

Ошибка nvlink: неопределенная ссылка на' cudaLaunchDeviceV2 'в' /tmp/tmpxft_00000d9d_00000000-17_dynamic_parallelism

1010 * 100 *used:
__global__ void childKernel() 
{ 
    printf("Hello "); 
} 

__global__ void parentKernel() 
{ 
    // launch child 
    childKernel<<<1,1>>>(); 
    /*if (cudaSuccess != cudaGetLastError()) { 
        return; 
    }

    // wait for child to complete 
    if (cudaSuccess != cudaDeviceSynchronize()) { 
        return; 
    } */

    printf("World!\n"); 
} 

int main() 
{ 
    // launch parent 
    parentKernel<<<1,1>>>(); 
    /*if (cudaSuccess != cudaGetLastError()) { 
        return 1; 
    } 

    // wait for parent to complete 
    if (cudaSuccess != cudaDeviceSynchronize()) { 
        return 2; 
    } */

    return 0; 
}

Примечание: закомментированный блок является просто кодом проверки ошибок, который не влияет на динамический параллелизм, предназначенный для проверки

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