top of page
Search

SPR23 - Parallel Programming Labs CPP

Updated: Aug 16, 2023

Parallel Programming Labs

Labs

There are four required labs in this class. The first three are set for you, with some flexibility in the 4th lab.

Some labs reference problems from the book: these are only for reference, and you do not need to follow the book problem. Each lab has a starter project and it’ll be up to you to finish it.

Standard problems

Lab 1 – Monte Carlo

Use a Monte-Carlo method to calculate the value of the mathematical constant π. This is Problem 5.2 in Section 5.13, pages 267-268.

MonteCarlo.cpp
.pdf

Lab 2 – Tree Sum

Implement the parallel sum method as described by the book. This is described in Section 1.3, pages 3-6.

TreeSum.cpp
.pdf

Lab 3 – Mandelbrot

Parallelize drawing the Mandelbrot set.

Mandelbrot.cpp
.pdf

Lab 4 – Sorting

Sorting.cpp
.pdf

Parallelize a sort of your choosing (for instance, a bubble, insertion, quick, or merge sort).

Implement a parallel merge or quick sort. Optionally, you may implement the Samplesort/PSRS algorithms.

OpenMP

This class utilizes OpenMP only, due to the quick nature of the course and that OpenMP lends itself to being able to create parallel code without having to deal with the more technical side. For the most part, OpenMP can be added to existing code without having to change anything.

Guidelines

External sources

It is perfectly acceptable to utilize the internet and sites like StackOverflow to help with code. If you use code from a site, you must site your sources. Failing to do so will result in a 0 for that lab.

You may also collaborate with students for help; however, sharing code between students is not allowed (and is very easy to catch).

Submitting labs

2. You must have two things for each lab.

b. Screen shot of your solution’s output.

Efficiency -How well your implementation runs in comparison to a sequential implementation.

-Is the generated speedup as fast as it can be for the problem 40%

Method -Did you use the correct method for the problem 40%

Note: Comments should explain your reasoning for OpenMP choices along with describing code you’ve written. 20%

What will result in a 0?

1. Not citing sources.

2. Not using the lab templates linked above.

There is not a late penalty but you will not be allowed to submit corrections.

Corrections for any lab will be allowed for up to full credit if the lab was originally turned in by the due date. You will be given a single chance to resubmit your lab to correct any errors in the original submission.

Environment Setup

We will be using Microsoft Visual Studio Community 2022 IDE for this class. If your device cannot run Microsoft Visual Studio, you may use the computers in the computer lab.

For Proper Solutions :

Please whatsApp at : +91-995 314 1035

Solution Includes: Plagiarism and AI report with 100% Accuracy.