hipLaunchKernel не удалось

Я использую бедро ROCM для программирования.

Когда я использую hipLaunchKernelGGL, все работает нормально. Но когда я использую hipLaunchKernel(), я всегда получаю странные ошибки.

Ошибка 1 говорит о том, что GPU обращается не к тому адресу.

Ошибка 2 говорит о том, что проверка результата не удалась в элементе 0. Может ли кто-нибудь помочь мне понять, что происходит не так?

      __global__ void vectorAdd(const float *A, const float *B, float *C, int numElements) 
{
    int i = blockDim.x * blockIdx.x + threadIdx.x;

    if (i < numElements) {
        C[i] = A[i] + B[i] + 0.0f;
    }
}

//    hipLaunchKernelGGL(vectorAdd, blocksPerGrid, threadsPerBlock, 0, 0, d_A, d_B, d_C, numElements);
void *args[] = {&d_A, &d_B, &d_C, &numElements};
hipLaunchKernel((void *)vectorAdd, dim3(blocksPerGrid), dim3(threadsPerBlock), args, 0, NULL);

for (int i = 0; i < numElements; ++i) {
    if (fabs(h_A[i] + h_B[i] - h_C[i]) > 1e-5) {
        fprintf(stderr, "Result verification failed at element %d!\n", i);
        exit(EXIT_FAILURE);
    }
}

0 ответов

Другие вопросы по тегам