数组数据交互时间

想问个问题 在host端有两个二维数组,想把其中一个数组的值复制给另一个 用for循环快呢还是用cudaMemcpy速度快啊?
for (int j=0;j<PopNumber;j++)
{
cudaMemcpy(a[j],b[j],sizeof(int)*NUMBER,cudaMemcpyHostToHost);
}

	for (int i=0;i<PopNumber;i++)
	{
		for (int j=0;j<CityNumber;j++)
		{
			a[i][j]=b[i][j];
		}
	}

以上两种方法