0% found this document useful (0 votes)
206 views3 pages

Assignment Questions

The document outlines various parallel algorithms that can be designed and implemented using MPI, Pthreads/OpenMP, and CUDA. It describes evaluating the performance of algorithms for varying data sizes and cluster/thread configurations and presenting the results graphically. The parallel algorithms included are bucket sorting, searching, matrix multiplication, shortest paths, SAT solving, Mandelbrot set generation, image shifting, numerical integration, and mimicking of MPI routines using sockets.

Uploaded by

abcd efgh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
206 views3 pages

Assignment Questions

The document outlines various parallel algorithms that can be designed and implemented using MPI, Pthreads/OpenMP, and CUDA. It describes evaluating the performance of algorithms for varying data sizes and cluster/thread configurations and presenting the results graphically. The parallel algorithms included are bucket sorting, searching, matrix multiplication, shortest paths, SAT solving, Mandelbrot set generation, image shifting, numerical integration, and mimicking of MPI routines using sockets.

Uploaded by

abcd efgh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

1.

MPI Based

 Design Parallel Bucket Sorting Algorithm and Implement using MPI (Static
and Dynamic Strategy); evaluate its performance for varying data size (100,
200, 1000, 5000 records) and Cluster configurations (say 1 node, 5 node, 10
node, 20 node, 40 node ...) and present results graphically.
 Design Parallel Searching Algorithm and Implement using MPI; evaluate its
performance for varying data size (100, 200, 1000, 5000 records) and Cluster
configurations (say 1 node, 5 node, 10 node, 20 node, 40 node ...) and present
results graphically.
 Design Parallel Vector Matrix Multiplication Algorithm (row-wise, column
wise, block-decomposition) and Implement using MPI; evaluate its
performance for varying data size and Cluster configurations (say 1 node, 5
node, 10 node, 20 node, 40 node ...) and present results graphically.
 Design Parallel Matrix Multiplication Algorithm and Implement using MPI;
evaluate its performance for varying data size (100x100, 200x100, 1000x2000,
5000x4000 data) and Cluster configurations (say 1 node, 5 node, 10 node, 20
node, 40 node ...) and present results graphically.
 Design Parallel Shortest Path Algorithm (say Dijkstra or Floyd Algorithm)
and Implement using MPI; evaluate its performance for varying network size
(10, 50, 100 nodes ) and Cluster configurations (say 1 node, 5 node, 10 node,
20 node, 40 node ...) and present results graphically.
 Design Parallel 3-SAT problem using Cyclic Allocation of jobs to
Processes and Implement using MPI; evaluate its performance for varying
network sizes and Cluster configurations (say 1 node, 5 node, 10 node, 20
node, 40 node ...) and present results graphically.
 Design Parallel Mandelbrot Set Algorithm (Using Static and Dynamic
allocation of tasks) and Implement using MPI; evaluate its performance for
varying network size (10, 50, 100 nodes ) and Cluster configurations (say 1
node, 5 node, 10 node, 20 node, 40 node ...) and present generation of set
graphically.
 Write a parallel program and Implement using MPI that reads an image file in a
suitable uncompressed format and generates a file of the image shifted N pixels
right, where N is an input parameter.
 Design Parallel Algorithm for computing the numerical integral of an
arbitrary function using Monte Carlo methods (Using Static and Dynamic
allocation of tasks) and Implement using MPI; evaluate its performance for
varying network sizes and Cluster configurations (say 1 node, 5 node, 10 node,
20 node, 40 node ...) and present results.
 Design a socket based program to mimic the behavior of following MPI
routines:
o Broadcast
o Scatter
o Gather
o Scatterv
o Gatherv
o Alltoall, OR similar

2. Pthread and OpenMP Based

 Write a MPI/pthread program for the following problem: “N thread are to be


created, each taking numbers from the list to add to their partial sums. When all
numbers have been taken, the threads can add their partial results to a shared
location sum. A shared loacation global_index can be used by each thread to
select next element of a[ ].”
 Design Parallel Vector Matrix Multiplication Algorithm and Implement using
OpenMP using for and section directive; evaluate its performance for varying
data size present results graphically using multiple treads.
 Design Parallel prime number generation Algorithm and Implement using
OpenMP; evaluate its performance for varying data size and threads and
present results graphically.
 Design Parallel Prefix Summation Algorithm and Implement using OpenMP;
evaluate its performance for varying data size and threads and present results
graphically.
 Design Parallel pi calculating Algorithm and Implement using OpenMP;
evaluate its performance for varying data size and threads and present results
graphically.
 Design a parallel C program which uses OpenMP to parallelize a simple
example of Dijkstra's minimum distance algorithm for graphs, evaluate its
performance for varying data size present results graphically using multiple
treads.
 Design a parallel C program which demonstrates the computation of a Fast
Fourier Transform in parallel, using OpenMP, evaluate its performance for
varying data size present results graphically using multiple treads.
 Design a parallel C program which illustrates the use of the OpenMP
application program interface to parallelize a Jacobi iteration solving A*x=b,
evaluate its performance for varying data size present results graphically using
multiple treads.
 Design a parallel C program which produces an image of a Julia set, using
OpenMP to carry out the computation in parallel, evaluate its performance for
varying data size present results graphically using multiple treads.
 Design a parallel C program which counts the number of primes between 1 and
N, using OpenMP for parallel execution, evaluate its performance for varying
data size present results graphically using multiple treads.

3. C/CUDA Based

 Design Parallel Vector Matrix Multiplication Algorithm and Implement using


CUDA; evaluate its performance for varying data size grid and block size
assuming separate device and host memories.
 Design Parallel Matrix Multiplication Algorithm and Implement using
CUDA; evaluate its performance for varying data size (100x100, 200x100,
1000x2000, 5000x4000 data) varying grid and block size assuming separate
device and host memories.
 Design Parallel Shortest Path Algorithm (say Dijkstra or Floyd Algorithm)
and Implement using CUDA evaluate its performance for varying data size grid
and block size assuming separate device and host memories.
 Design Parallel Mandelbrot Set Algorithm and Implement using CUDA;
evaluate its performance for varying network size, varying grid and block size
assuming separate device and host memories.

You might also like