У меня есть два ядра в одном файле, код должен запускать первое ядро для генерации массива. то мне нужно отправить сгенерированный массив во второе ядро. Однако, когда я делаю это, второе ядро видит, что все элементы массива равны 0.Запуск последовательности ядер CUDA и передача данных между ними
здесь упрощение (а не исполняемый код) просто psyducode.
cudaMalloc(device input array)
cudaMalloc(result array)
cudaMemcpy(device_input_array,inputarray,size,hosttodevice)
kernel1<<<1,n>>(device_input_array,device_result_array)
cudaMemcpy(host_result_array,device_result_array ...)
cudaMalloc(dev_secndarray)
kernel2<<<1,n>>>(dev_secndarray,device_result_array)
для тестирования .. в kernel2 я создать петлю на device_result_array, как всегда печатает все ее элементы как ноль.
Что такое правильный способ отправки данных между ядрами. Должен ли я зарезервировать место для массива результатов снова? что мне делать?