CUDA Homework2-OpenMP Programming Solved

30.00 $

Category:

Description

5/5 - (1 vote)

The purpose of this assignment is to familiarize yourself with OpenMP programming.

Conjugate gradient method is an algorithm for the numerical solution of particular systems of linear equations. It is often used to solve partial differential equations, or applied on some optimization problems. You may get more information on Wikipedia (http://en.wikipedia. org/wiki/Conjugate_gradient_method).

In this assignment, you are asked to parallelize a serial implementation of the conjugate gradient method using OpenMP. The serial implementation can be downloaded on New e3 system. It contains:

  • c

The implementation of the conjugate gradient method.

  • h

Some data definitions. DO NOT modify this file.

  • common directory

Directory that contains some functions for time calculation and random numbers. DO NOT modify the files in this directory.

  • bin directory

Directory that contains the executable.

  • Makefile, make.common

Makefiles.

  • README

The information of the program.

2           Requirements

In this assignment, you have to modify cg.c to improve the performance of this program (i.e., to insert OpenMP pragmas/library routines to parallelize parts of the program). Of course, you may add any other variables or functions if necessary.

Note:

  • DO NOT modify/add any output messages.
  • Grading will be made based on the speedup/efficiency that your implementation would yield.

1

3           Evaluation Platform

Your program should be able to run on UNIX-like OS platforms. We will test your program on the workstations dedicated for this course. You can access these workstations by SSH with the following information.

IP Port User Name Password
140.113.215.195 37031–37034 [Student ID] [Provided by TA]
  • HW2-kne5qw.zip