Skip to content

This repo contains the implementation of Parallelized and Distributed HNSW based prediction algorithm using OpenMP and OpenMPI. Solution to Assignment 3 of the course COL380- Introduction to Parallel and Distributed Programming offered in Second (Holi) Semester 2021-22.

License

GauravJain28/Parallelized-and-Distributed-HNSW-Algorithm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Parallelized and Distributed HNSW based Prediction Algorithm

This repo contains the implementation of Parallelized and Distributed HNSW based prediction algorithm using OpenMP and OpenMPI.

Solution to Assignment 3 of the course COL380- Introduction to Parallel and Distributed Programming offered in Second (Holi) Semester 2021-22.

HNSW

HNSW stands for Hierarchical Navigable Small World graphs. HNSW is designed to reduce the prediction complexity of One-vs-All (OVA) method from O(L) to O(logL). This reduction in complexity is achieved by learning a hierarchical graph structure. More details here.

How to run the Code?

Clone the git repo and run the following commands:

cd Code

This command opens the Code folder.

./compile.sh

This command compiles all the required files.

./DataSetup.sh ./data/path/hnsw/given ./data/path/hnsw/converted

This command is used to convert raw pre-trained HNSW data.

./HNSWpred.sh ./data/path/hnsw/converted K users.bin user_prediction.txt

This command is used to predict top K relevant items in descending order and store them in user_prediction.txt file.

About

This repo contains the implementation of Parallelized and Distributed HNSW based prediction algorithm using OpenMP and OpenMPI. Solution to Assignment 3 of the course COL380- Introduction to Parallel and Distributed Programming offered in Second (Holi) Semester 2021-22.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published