Programming Parallel Computers

Open 2024b

IS2: simple solution ★★

You need to log in to make submissions.

What you will need to do in this task

Please read the general instructions for this exercise first. Here are the additional instructions specific to this task:

Implement a simple sequential baseline solution. Do not try to use any form of parallelism yet; try to make it work correctly first. Use an efficient algorithm, though. Please do all arithmetic with double-precision floating point numbers.

What I will try to do with your code

I will first run all kinds of tests to see that your code works correctly. You can try it out locally by running ./grading test, but please note that your code has to compile and work correctly not only on your own computer but also on our machines.

If all is fine, I will run the benchmarks. You can try it out on your own computer by running ./grading benchmark, but of course the precise running time on your own computer might be different from the performance on our grading hardware.

Benchmarks

Name Parameters
benchmarks/1 nx = 30, ny = 30
the input is a multicolor image with 30 × 30 pixels
benchmarks/2a nx = 39, ny = 39
the input is a multicolor image with 39 × 39 pixels
benchmarks/2b nx = 40, ny = 40
the input is a multicolor image with 40 × 40 pixels
benchmarks/2c nx = 41, ny = 41
the input is a multicolor image with 41 × 41 pixels
benchmarks/3 nx = 50, ny = 50
the input is a multicolor image with 50 × 50 pixels

Grading

In this task your submission will be graded using benchmarks/3: the input is a multicolor image with 50 × 50 pixels.

The point thresholds are as follows. If you submit your solution no later than on Wednesday, 31 July 2024, at 23:59:59 (Helsinki), your score will be:

Running timePoints
≤ 30.000 sec 1
≤ 20.000 sec 2
≤ 10.000 sec 3
≤ 1.000 sec 4
≤ 0.100 sec 5

If you submit your solution after the deadline, but before the course ends on Wednesday, 28 August 2024, at 23:59:59 (Helsinki), your score will be:

Running timePoints
≤ 30.000 sec 1
≤ 7.000 sec 2
≤ 1.000 sec 3