Parallel implementation of A* algorithm in OpenMP
Budget: $30 – $250 USD
Using OpenMP API, create parallel implementation of A* algorithm. There is no need for heuristic.
Implementation should be "brute force". Input should be input capture.
Start point is S and end point is E.
Fields that can be traced are marked with 0, and non-passable fields with 1.
The implementation of the algorithm should not contain any heuristics, but a complete search should be performed.
It's not diagonal displacement allowed. The size of the input problem is the width of the input folder. Width and height should be
equal.
The output of the algorithm is a text file named res.txt that contains the resulting path. The contents of the file is shown on output capture.
Passing fields that the path does not use should not be labeled. The fields through which the path passes should be marked
in x. Only one, the shortest path is drawn. It is necessary to write the length of the shortest path on the console.
The program will run with:
./astar <input_filename> <num>
num is a number of threads.
Tasks:
1. Create serial implementation of the algorithm
2. Create parallel implementation of the algorithm
3. Illustrate what is the acceleration of parallel implementation of the algorithm, compared to the serial for use
from 2 to 6 cores. Diagrams need to be made for input problems of sizes 50, 200 and 500. When measuring,
the program should be translated with optimized parameters, in order to get the fastest possible implementation.
files for input problems: 50, 200 and 500 are already generated.
Implementation should be "brute force". Input should be input capture.
Start point is S and end point is E.
Fields that can be traced are marked with 0, and non-passable fields with 1.
The implementation of the algorithm should not contain any heuristics, but a complete search should be performed.
It's not diagonal displacement allowed. The size of the input problem is the width of the input folder. Width and height should be
equal.
The output of the algorithm is a text file named res.txt that contains the resulting path. The contents of the file is shown on output capture.
Passing fields that the path does not use should not be labeled. The fields through which the path passes should be marked
in x. Only one, the shortest path is drawn. It is necessary to write the length of the shortest path on the console.
The program will run with:
./astar <input_filename> <num>
num is a number of threads.
Tasks:
1. Create serial implementation of the algorithm
2. Create parallel implementation of the algorithm
3. Illustrate what is the acceleration of parallel implementation of the algorithm, compared to the serial for use
from 2 to 6 cores. Diagrams need to be made for input problems of sizes 50, 200 and 500. When measuring,
the program should be translated with optimized parameters, in order to get the fastest possible implementation.
files for input problems: 50, 200 and 500 are already generated.
Related categories:
Algorithm
C++ Programming
Parallel Processing
Computer Science
Software Engineering