Matrix multiplication: Difference between revisions

Content added Content deleted
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>
# PAR # ( # run vector in parallel #
<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>
# PAR # ( # run vector in parallel #
<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),