Fixed bug in opencl version of matrix creation
This commit is contained in:
@@ -14,7 +14,7 @@ __kernel void EuclideanDistance(__global unsigned const char *imgs,
|
|||||||
|
|
||||||
__local unsigned int partial[256];
|
__local unsigned int partial[256];
|
||||||
|
|
||||||
for (int i = gid; i < imsize; i += groupSize) {
|
for (int i = lid; i < imsize; i += groupSize) {
|
||||||
int d = (int)imgs[img1Offset + i] - (int)imgs[img2Offset + i];
|
int d = (int)imgs[img1Offset + i] - (int)imgs[img2Offset + i];
|
||||||
sum += (unsigned int)(d * d);
|
sum += (unsigned int)(d * d);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -158,6 +158,7 @@ void computeDistanceOpenCL(unsigned char* imgs,AudioData *audioData, float **dis
|
|||||||
clEnqueueNDRangeKernel(commandQueue,kernel,1,NULL,&globalWorkSize,&localWorkSize,0, NULL, NULL);
|
clEnqueueNDRangeKernel(commandQueue,kernel,1,NULL,&globalWorkSize,&localWorkSize,0, NULL, NULL);
|
||||||
// reads distance back
|
// reads distance back
|
||||||
clEnqueueReadBuffer(commandQueue, distance_gpumem, CL_TRUE, 0, sizeof(float), &distance, 0, NULL, NULL);
|
clEnqueueReadBuffer(commandQueue, distance_gpumem, CL_TRUE, 0, sizeof(float), &distance, 0, NULL, NULL);
|
||||||
|
distanceArrays[i][j]=distance;
|
||||||
computeCounter++;
|
computeCounter++;
|
||||||
}
|
}
|
||||||
printf("\rWay through matrix compute: %.2f%%",(computeCounter/(float)matrixSize)*100);
|
printf("\rWay through matrix compute: %.2f%%",(computeCounter/(float)matrixSize)*100);
|
||||||
@@ -245,8 +246,8 @@ int main(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
time_t now = time(NULL);
|
time_t now = time(NULL);
|
||||||
// computeDistanceMatrixOMP(imgData,audioData, distanceArrays,nfiles, counter);
|
|
||||||
// computeDistanceMatrix(imgData,audioData, distanceArrays,nfiles, counter);
|
// computeDistanceMatrix(imgData,audioData, distanceArrays,nfiles, counter);
|
||||||
|
// computeDistanceMatrixOMP(imgData,audioData, distanceArrays,nfiles, counter);
|
||||||
computeDistanceOpenCL(imgData,audioData, distanceArrays,nfiles, counter);
|
computeDistanceOpenCL(imgData,audioData, distanceArrays,nfiles, counter);
|
||||||
printf("Time it took to compute matrix: %lld seconds\n",time(NULL)-now);
|
printf("Time it took to compute matrix: %lld seconds\n",time(NULL)-now);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user