Processes parallelism tasks
First task
Variant Number |
Task |
---|---|
1 |
Sum of vector elements |
2 |
Calculating the average value of vector elements |
3 |
Maximum value of vector elements |
4 |
Minimum value of vector elements |
5 |
Finding the number of sign alternations between adjacent elements of the vector |
6 |
Finding the number of order violations between adjacent elements of the vector |
7 |
Finding the most similar adjacent elements of the vector |
8 |
Finding the most different adjacent elements of the vector |
9 |
Scalar product of vectors |
10 |
Sum of matrix elements |
11 |
Sum of values by rows in the matrix |
12 |
Sum of values by columns in the matrix |
13 |
Maximum value of matrix elements |
14 |
Minimum value of matrix elements |
15 |
Finding maximum values by rows in the matrix |
16 |
Finding maximum values by columns in the matrix |
17 |
Finding minimum values by rows in the matrix |
18 |
Finding minimum values by columns in the matrix |
19 |
Integration – rectangle method |
20 |
Integration – trapezoidal method |
21 |
Integration – Monte Carlo method |
22 |
Counting the number of alphabetical characters in a string |
23 |
Counting the frequency of a character in a string |
24 |
Counting the number of words in a string |
25 |
Counting the number of sentences in a string |
26 |
Checking lexicographical order of two strings |
27 |
Counting the number of differing characters between two strings |
Second task
Variant Number |
Task |
---|---|
1 |
Broadcast (one to all transfer) |
2 |
Reduce (all to one transfer) |
3 |
Allreduce (all to one and broadcast) |
4 |
Scatter (one to all transfer) |
5 |
Gather (all to one transfer) |
6 |
Line |
7 |
Ring |
8 |
Star |
9 |
Torus Grid |
10 |
Hypercube |
11 |
Horizontal strip scheme - matrix-vector multiplication |
12 |
Vertical strip scheme - matrix-vector multiplication |
13 |
Horizontal strip scheme – partitioning only matrix A - matrix-matrix multiplication |
14 |
Horizontal strip scheme A, vertical strip scheme B - matrix-matrix multiplication |
15 |
Gaussian method – horizontal strip scheme |
16 |
Gaussian method – vertical strip scheme |
17 |
Gauss-Jordan method |
18 |
Iterative methods (Jacobi) |
19 |
Iterative methods (Gauss-Seidel) |
20 |
Iterative methods (Simple) |
21 |
Bubble sort (odd-even transposition algorithm) |
22 |
Image smoothing |
23 |
Contrast enhancement |
Third task
Variant Number |
Task |
---|---|
1 |
Dense matrix multiplication. Elements of data type double. Block scheme, Cannon’s algorithm. |
2 |
Dense matrix multiplication. Elements of data type double. Block scheme, Fox’s algorithm. |
3 |
Dense matrix multiplication. Elements of data type double. Strassen’s algorithm. |
4 |
Sparse matrix multiplication. Elements of data type double. Matrix storage format – row format (CRS). |
5 |
Sparse matrix multiplication. Elements of data type double. Matrix storage format – column format (CCS). |
6 |
Solving systems of linear equations using the conjugate gradient method. |
7 |
Computing multidimensional integrals using a multistep scheme (rectangle method). |
8 |
Computing multidimensional integrals using a multistep scheme (trapezoidal method). |
9 |
Computing multidimensional integrals using a multistep scheme (Simpson’s method). |
10 |
Computing multidimensional integrals using the Monte Carlo method. |
11 |
Global search algorithm (Strongin’s) for one-dimensional optimization problems. Parallelization by characteristics. |
12 |
Multistep scheme for solving two-dimensional global optimization problems. Parallelization by dividing the search area. |
13 |
Multistep scheme for solving two-dimensional global optimization problems. Parallelization by characteristics. |
14 |
Quick sort with simple merging. |
15 |
Quick sort with odd-even merging (Batcher’s method). |
16 |
Shell sort with simple merging. |
17 |
Shell sort with odd-even merging (Batcher’s method). |
18 |
Radix sort for integers with simple merging. |
19 |
Radix sort for integers with odd-even merging (Batcher’s method). |
20 |
Radix sort for floating-point numbers (type double) with simple merging. |
21 |
Radix sort for floating-point numbers (type double) with odd-even merging (Batcher’s method). |
22 |
Shortest path search from one vertex (Dijkstra’s algorithm). With CRS graphs. |
23 |
Shortest path search from one vertex (Bellman-Ford algorithm). With CRS graphs. |
24 |
Convex hull construction – Graham’s scan. |
25 |
Convex hull construction – Jarvis’s march. |
26 |
Linear image filtering (horizontal partition). Gaussian kernel 3x3. |
27 |
Linear image filtering (vertical partition). Gaussian kernel 3x3. |
28 |
Linear image filtering (block partition). Gaussian kernel 3x3. |
29 |
Edge detection in an image using the Sobel operator. |
30 |
Contrast enhancement of grayscale image using linear histogram stretching. |
31 |
Labeling components on a binary image (black areas correspond to objects, white to background). |
32 |
Convex hull construction for components of a binary image. |
Comments for tasks 2 and 3:
MESSAGE PASSING METHODS “You need to implement the specified methods using only the Send and Recv functions. The implemented function should have the same prototype as the corresponding MPI function. The test program should allow selecting the root process number and perform array transmission (broadcast, gather) for at least the following types: MPI_INT, MPI_FLOAT, MPI_DOUBLE. In all operations, the transmission should be carried out using the ‘tree’ of processes.”
Comments relevant for:
Variants for task 2
Variants for task 3
1 - 5
x
DATA COMMUNICATION NETWORK TOPOLOGIES “You need to implement the virtual topology specified in the task using MPI capabilities for working with communicators and topologies, and ensure the ability to transfer data from any selected process to any other process. (Do not use MPI_Cart_Create and MPI_Graph_Create)”
Comments relevant for:
Varinats for task 2
Varinats for task 3
6 - 10
x
MATRIX COMPUTATIONS “In the horizontal scheme, the matrix is divided among processes by rows. In the vertical scheme, it is divided by columns, and in this case, the vector is also divided among processes.”
Comments relevant for:
Varinats for task 2
Varinats for task 3
11 - 14
1 - 5
COMPUTER GRAPHICS AND IMAGE PROCESSING “It is assumed that the image is given in color or grayscale, with the input data being a one-dimensional array. Loading a real image is not required, but is allowed.”
Comments relevant for:
Varinats for task 2
Varinats for task 3
26 - 27
24 - 32
SOLUTION OF A SYSTEM OF LINEAR ALGEBRAIC EQUATIONS
Comments relevant for:
Varinats for task 2
Varinats for task 3
15 - 20
6
SORT ALGORITHMS
Comments relevant for:
Varinats for task 2
Varinats for task 3
21
14 - 21
GRAPH PROCESSING ALGORITHMS
Comments relevant for:
Varinats for task 2
Varinats for task 3
x
22 - 23