top of page

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
Download PDF • 12KB

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
Download PDF • 13KB


Lab 3 – Mandelbrot

Parallelize drawing the Mandelbrot set.


Mandelbrot.cpp
.pdf
Download PDF • 15KB

Lab 4 – Sorting


Sorting.cpp
.pdf
Download PDF • 13KB

Undergraduate students:

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

Graduate students:

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

1. Upload your files for the lab to Blackboard.

2. You must have two things for each lab.

a. Your source files

b. Screen shot of your solution’s output.

Grading Rubric

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%

Style/Comments Does your code make sense and did you add appropriate

comments.

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.

3. Your code is unreadable (Ex: unformatted) Corrections and Feedback

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.



15 views0 comments
bottom of page