하기처럼 하는데 속도가 개선됨.

 

float **arr;
arr = (float **)malloc(sizeof(float *) * nX);
arr[0] = (float *)malloc(sizeof(float) * nX*nY);
for (int i = 1; i < nX; i++){
arr[i] = arr[i - 1] + nY;
}

arr[0][1000] = 500.4f;
arr[1000][1000] = 1000.4f;
arr[1999][1000] = 2000.4f;


float **arr1;
arr1 = (float **)malloc(sizeof(float *) * nX);
arr1[0] = (float *)malloc(sizeof(float) * nX*nY);
for (int i = 1; i < nX; i++){
arr1[i] = arr1[i - 1] + nY;
}


DebugString(L"parallel_for copy .. start");
concurrency::parallel_for(0, nX, [&](int X)
{
memcpy(arr1[X], arr[X], (sizeof(float) * nY));
});
DebugString(L"parallel_for copy .. stop");

+ Recent posts