Parallel Algorithm Development Flashcards

1
Q

What is data decomposition?

A

The data on which the computations are performed is partitioned. This turns a single task across a lot of data into a single task across many smaller chinch’s of data

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is task decomposition?

A

By splitting the tasks into independent task groups. These groups of task can be done without interference of another processor/thread.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is loop decomposition? And what is a challenge faced when implementing loop decomposition?

A

It involves splitting a loop between threads/processors by allocating loops in chunks or in a round robin fashion to each thread/processor. An issue that can be run into is with data decencies i.e. a loop has a decency on the outcome of a previous loop

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

How does a forall loop parallelism type work?

A

Each assignment is treated like as a separate array assignment and thus uses up to date assignment of previous and subsequent array values.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

How does a dopar for loop parallelism work?

A

Updates in one iteration are not visible to other iterations and therefore values of array are equal to the initial assignment before the loop has started

How well did you know this?
1
Not at all
2
3
4
5
Perfectly