Будет ли cudaMalloc синхронизировать хост и устройство?

Я понимаю, что cudaMemcpy будет синхронизировать хост и устройство, но как насчет cudaMalloc или cudaFree?

По сути, я хочу асинхронизировать распределение / копирование памяти и выполнение ядра на нескольких устройствах с графическим процессором, и упрощенная версия моего кода выглядит примерно так:

void wrapper_kernel(const int &ngpu, const float * const &data)
{
 cudaSetDevice(ngpu);
 cudaMalloc(...);
 cudaMemcpyAsync(...);
 kernels(...);
 cudaMemcpyAsync(...);
 some host codes;
}

int main()
{
 const int NGPU=3;
 static float *data[NGPU];
 for (int i=0; i

Ответы на вопрос(1)

Ваш ответ на вопрос