Skip to content

This project is a homework delivery regarding the first homework of parallel computing.

Notifications You must be signed in to change notification settings

dimi56497/parallel-computing-H1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 

Repository files navigation


Homework 1: Exploring Implicit and Explicit Parallelism with OpenMP

This project is a homework delivery regarding the first homework of parallel computing.

Table of Contents
  1. Task Statement
  2. Getting Started
  3. CSV Usage

Task Statement

In this assignment, you will explore both implicit and explicit parallelization techniques by imple- menting a matrix transpose operation. You will benchmark and analyze the performance of both approaches, comparing their efficiency and scalability. Consider a matrix M of size n × n, where n is a power of two. Implement the serial code, implict code and parallel code using OpenMP.

(back to top)

Built With

  • Cpp

(back to top)

Getting Started

⚠️ Be careful, this project has been written in C++ and compiled using gcc version 9.1.0, use the same compiler as I don't assure the same output results using another version. When using this project on the cluster make sure to have it in a folder, because the pbs file will create a build and logs directories, but upon starting it will also delete them.

Prerequisites

Ensure that you have installed gcc version 9.1.0

g++ --version 

Installation

  1. Clone the repo

    git clone https://github.com/dimi56497/parallel-computing-H1.git
  2. Copy the src directory on your HPC working dir

    scp -r src [email protected]:workingdir/
  3. Copy the pbs file on your HPC working dir

    scp matJob.pbs [email protected]:workingdir/
  4. Enter the HPC

  5. Insert your working directory in matJob.pbs

    cd /home/username/dir; # Select your working directory
  6. Run the pbs using the pbs scheduler

     qsub matJob.pbs

(back to top)

CSV Usage

The csv files contains:

  • MatSize: size of matrix
  • Time: execution time taken
  • ThreadNumber: number of threads used (only present when using OpenMP)
  • Valid: validity of data

(back to top)

Contact

Dimitri Corraini - [email protected]

(back to top)

About

This project is a homework delivery regarding the first homework of parallel computing.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published