Fixed bug in opencl version of matrix creation

This commit is contained in:
2026-02-14 15:22:52 -06:00
parent 73ae0e66d1
commit 275f48fe0e
2 changed files with 3 additions and 2 deletions

View File

@@ -14,7 +14,7 @@ __kernel void EuclideanDistance(__global unsigned const char *imgs,
__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];
sum += (unsigned int)(d * d);
}

View File

@@ -158,6 +158,7 @@ void computeDistanceOpenCL(unsigned char* imgs,AudioData *audioData, float **dis
clEnqueueNDRangeKernel(commandQueue,kernel,1,NULL,&globalWorkSize,&localWorkSize,0, NULL, NULL);
// reads distance back
clEnqueueReadBuffer(commandQueue, distance_gpumem, CL_TRUE, 0, sizeof(float), &distance, 0, NULL, NULL);
distanceArrays[i][j]=distance;
computeCounter++;
}
printf("\rWay through matrix compute: %.2f%%",(computeCounter/(float)matrixSize)*100);
@@ -245,8 +246,8 @@ int main(){
}
time_t now = time(NULL);
// computeDistanceMatrixOMP(imgData,audioData, distanceArrays,nfiles, counter);
// computeDistanceMatrix(imgData,audioData, distanceArrays,nfiles, counter);
// computeDistanceMatrixOMP(imgData,audioData, distanceArrays,nfiles, counter);
computeDistanceOpenCL(imgData,audioData, distanceArrays,nfiles, counter);
printf("Time it took to compute matrix: %lld seconds\n",time(NULL)-now);