Matrix multiplication: Difference between revisions
Content added Content deleted
m (→[[ALGOL 68]]) |
m (→[[ALGOL 68]]: turn parallel on) |
||
Line 134: | Line 134: | ||
<u>for</u> thread <u>to</u> ⌈schedule <u>do</u> schedule[thread] <u>od</u> |
<u>for</u> thread <u>to</u> ⌈schedule <u>do</u> schedule[thread] <u>od</u> |
||
<u>else</u> |
<u>else</u> |
||
<u>par</u>( # run vector in parallel # |
|||
schedule[1], # assume parent CPU # |
schedule[1], # assume parent CPU # |
||
( ↓idle cpus; schedule[2]; ↑idle cpus) |
( ↓idle cpus; schedule[2]; ↑idle cpus) |
||
Line 162: | Line 162: | ||
<u>for</u> thread <u>to</u> ⌈schedule <u>do</u> (required→schedule[thread] | thread→schedule[thread] ) <u>od</u> |
<u>for</u> thread <u>to</u> ⌈schedule <u>do</u> (required→schedule[thread] | thread→schedule[thread] ) <u>od</u> |
||
<u>else</u> |
<u>else</u> |
||
<u>par</u>( # run vector in parallel # |
|||
thread→schedule[1], # thread is always required, and assume parent CPU # |
thread→schedule[1], # thread is always required, and assume parent CPU # |
||
( required→schedule[4] | ↓idle cpus; thread→schedule[4]; ↑idle cpus), |
( required→schedule[4] | ↓idle cpus; thread→schedule[4]; ↑idle cpus), |