联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-23:00
  • 微信:codinghelp

您当前位置:首页 >> C/C++编程C/C++编程

日期:2021-10-08 10:17

XJTLU Entrepreneur College (Taicang) Cover Sheet

Module code and Title DTS202TC Foundation of Parallel Computing

School Title School of AI and Advanced Computing

Assignment Title Group Assessment 1

Submission Deadline Oct 10th, 2021 @ 23:59

Final Word Count N/A

If you agree to let the university use your work anonymously for teaching

and learning purposes, please type “yes” here.

I certify that I have read and understood the University’s Policy for dealing with Plagiarism,

Collusion and the Fabrication of Data (available on Learning Mall Online). With reference to this

policy I certify that:

• My work does not contain any instances of plagiarism and/or collusion.

My work does not contain any fabricated data.

By uploading my assignment onto Learning Mall Online, I formally declare

that all of the above information is true to the best of my knowledge and

belief.

Scoring – For Tutor Use

Student ID

Stage of

Marking

Marker

Code

Learning Outcomes Achieved (F/P/M/D)

(please modify as appropriate)

Final

Score

A B C

1st Marker – red

pen

Moderation

– green pen

IM

Initials

The original mark has been accepted by the moderator

(please circle as appropriate):

Y / N

Data entry and score calculation have been checked by

another tutor (please circle):

Y

2nd Marker if

needed – green

pen

For Academic Office Use Possible Academic Infringement (please tick as appropriate)

Date

Received

Days

late

Late

Penalty

☐ Category A

Total Academic Infringement Penalty

(A,B, C, D, E, Please modify where

necessary) _____________________

☐ Category B

☐ Category C

☐ Category D

☐ Category E

School of Artificial Intelligence and Advanced Computing

Xi’an Jiaotong-Liverpool University

DTS202TC Foundation of Parallel Computing

Group Assignment 1

Due: Sunday Oct 10th, 2021 @ 11:59pm

Weight: 20%

Maximum score: 100 marks (60 group marks + 40 individual marks)

Overview

The purpose of this assignment is to gain experience in C programming and parallel computing

design. You are expected to write a C program to blur a grey-scale image in serial (no parallelism),

and provide the design planning to speed up the serial implementation with parallel programming.

Tasks

Image blurring is one of the most common image processing algorithms. A simplest way to blur an

image is to set each pixel to the mean of its neighbour pixels. One of the problems of this algorithm

is that the effect may not be visible for large images, to solve this, we can repeat the process multiple

times.

54 53

51 54

51

50

38 38 46

(54+53+51+51+50+38

+38+46) / 8 = 48

54 53

51 48

51

50

38 38 46

1 Serial Version (30 marks)

Plain PGM format is a simple grayscale graphic image

format, each pixel is represented by its grey value

number, with 0 being black and Maxval (defined in the

PGM file) being white. The bellow image.pgm is given

as an example, more detail pgm specifications can be

found at http://davis.lbl.gov/Manuals/

NETPBM/doc/pgm.html

image.pgm

P2

24 7

15

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 3 3 3 3 0 0 7 7 7 7 0 0 11 11 11 11 0 0 15 15 15 15 0

2

0 3 0 0 0 0 0 7 0 0 0 0 0 11 0 0 0 0 0 15 0 0 15 0

0 3 3 3 0 0 0 7 7 7 0 0 0 11 11 11 0 0 0 15 15 15 15 0

0 3 0 0 0 0 0 7 0 0 0 0 0 11 0 0 0 0 0 15 0 0 0 0

0 3 0 0 0 0 0 7 7 7 7 0 0 11 11 11 11 0 0 15 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Write a C program to read the given im.pgm grayscale image, in order to be able to visualise the

blurring effect, repeat the blurring process 20 times, then output the blurry image to im-blur.pgm.

Your program should be compiled and executed by:

make

./blurimage

2 Parallel Design (30 marks)

Now that you have a complete understanding of the task, do the following:

 analyse the performance of your serial program by printing out the execution time of the core

algorithm. (5 marks), and

 provide a design of a solution to speed up using parallel programming (25 marks).

You do not need to do the actual coding, but only provide the detailed design with maximum 200

words.

3 Peer Review (40 marks)

Please review your peers based on the actual contributions. This will be done on LMO anonymously,

each of the group members should login their LMO account and submit the marks individually.

Marks should be submitted as soon as the group work submission is done. Peer review rubrics are

attached in the appendix table.

4 Submission

One of the group members must submit the following files:

 Cover letter with the student ID of all group members (template can be found on LMO).

 blurimage.c Your serial implementation.

 A Makefile that will compile your code, make sure the output executable names are correct.

 A pdf file contains all the source code and the parallel design.

Once you have all the files, please put them in a single directory (named groupid-assign1) and

compress it to .zip file.

Please note that quality of code, quality of report and correctness of submission will also be marked.

3

Table 1: Peer Review Rubrics

Marks 8 6 4 2

Contributions Routinely provides

useful ideas when

participating in the

group discussion.

A leader who

contributes a lot of

effort.

Usually provides

useful ideas when

participating in the

group discussion.

A strong group

member who tries

hard!

Sometimes

provides useful

ideas when

participating in the

group discussion. A

satisfactory group

member who does

what is required.

Rarely provides

useful ideas when

participating in the

group discussion.

May refuse to

participate.

Problemsolving

Actively looks

for and suggests

solutions to

problems.

Refines solutions

suggested by

others.

Does not suggest or

refine solutions, but

is willing to try out

solutions suggested

by others.

Does not try to

solve problems or

help others solve

problems. Lets

others do the work.

Attitude Is never publicly

critical of the

project or the work

of others. Always

has a positive

attitude about the

task(s).

Is rarely publicly

critical of the

project or the work

of others. Often has

a positive attitude

about the task(s).

Is occasionally

publicly critical

of the project or

the work of other

members of the

group. Usually has

a positive attitude

about the task(s).

Is often publicly

critical of the

project or the work

of other members

of the group. Is

often negative

about the task(s).

Focus on the

task

Consistently stays

focused on the task

and what needs

to be done. Very

selfdirected.

Focuses on the task

and what needs to

be done most of the

time. Other group

members can count

on this person.

Focuses on the task

and what needs to

be done some of

the time. Other

group members

must sometimes

nag, prod, and

remind to keep this

person on task.

Rarely focuses on

the task and what

needs to be done.

Lets others do the

work.

Working with

others

Almost always

listens to, shares

with, and supports

the efforts of

others. Tries

to keep people

working well

together.

Usually listens to,

shares, with, and

supports the efforts

of others. Does not

cause "waves" in the

group.

Often listens to,

shares with, and

supports the efforts

of others, but

sometimes is not a

good team member.

Rarely listens to,

shares with, and

supports the efforts

of others. Often

is not a good team

player.

4


版权所有:留学生编程辅导网 2020 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp