Apostolos Fanakis
f3ef16d3eb
|
6 years ago | |
---|---|---|
Blocking | 6 years ago | |
NonBlocking | 6 years ago | |
Serial | 6 years ago | |
dev | 6 years ago | |
stats | 6 years ago | |
testFiles | 6 years ago | |
README.md | 6 years ago |
README.md
Project includes 6 versions of a knn algorithm implementation:
Serial - space optimized
Serial - time optimized
MPI parallel - blocking communications - space optimized
MPI parallel - blocking communications - time optimized
MPI parallel - non blocking communications - space optimized
MPI parallel - non blocking communications - time optimized
Project folder also includes some test files and execution results (stats folder).
In folder testFiles there is a dataset of 60000 points of 30 dimensions each, as well as three IDX files extracted from Matlab storing correctly sorted IDs. These files are named according to the convention: numberOfPoints_k after the number of points and selected k that were used to run the Matlab script.
To run any version first run make. Then copy testFiles/data.bin and one of the IDX test files into the folder. Finally run with: mpiexec -np numTasks ./prog.out numPoints numDimensions k data.bin idxFileName
To extract a new IDX file from Matlab run knn with the dataset and then extract IDX variable to an ods/excel. Open the generated file and save as csv.