Giter Site home page Giter Site logo

angelos-sp / pad_auth_2 Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 19.18 MB

Repository for Aristotle Univerisity of Thessaloniki ECE Deparment, Parallel & Distributed Systems' 2nd project

C 97.94% Makefile 1.34% Shell 0.71%
mpi parallel hpc knn openmp c openblas auth pad

pad_auth_2's Introduction

Parallel-Exercise2

Various implementations of an all-knn algorithm, using MPI and openMP.

/data/ contains the datasets used to produce the results.

/results/ contains the results produced by using AUTh's High Performance Computing (HPC) infrastructure.

/hpc_auth/ contains files used to run the implementations on the HPC.

1. Before using

File supplementary.c contains a function called read_from_file. There we can set the name of the file we want to use as our data and declare its N=number_of_points and d=dimensions values.

V0: Serial Implementation

V1: Asynchronous Implementation (using MPI)

V2: Vantage Point Tree Implementation (MPI)

2. Local execution

In order to test the implementations locally on your machine, use the files located in the home directory. Follow the commands in the order given below:

make clean
make all
make test p=<val>

Make clean should be used if you have already ran the programs before. Instead of val type the number of processes you wish to use for the V1, V2 implementations. All of the above commands are declared in the Makefile.

3. HPC execution

Everything can be run on AUTh's HPC (for those with an account), by using the same files described above but by changing the Makefile with the one located in the hpc_auth directory. Use the shell file located in that directory as well. Edit it according to the nodes/tasks you want to use and submit it to the HPC for execution. To do so, run the following command in the shell:

sbatch <shell_file_name>.sh

Refference: Yianilos, Peter. (1993). Data Structures and Algorithms for Nearest Neighbor Search in General Metric Spaces. Fourth Annual ACM-SIAM Symposium on Discrete Algorithms. 93. 10.1145/313559.313789.

Repo for the second exercise of course 050 - Parallel and Distributed Systems, Aristotle University of Thessaloniki, Dpt. of Electrical & Computer Engineering.

pad_auth_2's People

Contributors

angelos-sp avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.