Material und Beispiele

Single Core CPU:

> java -cp bin:. MultiMain
sequential multiply
sequential multiply blocked
sequential multiply blocked transposed 160
Starting 800 threads ... started ... done ParMult
Starting ParMultCore 2 threads ... started ... done
Starting ParMultCoreBlockTrans 2 threads, block size 80 started ... done
Matrix: 800 x 800
Ergebnis C-D == 0                 true
Zeit sequential                 = 23925
Zeit sequential block           = 21353
Zeit sequential block transpose = 7308
Zeit parallel                   = 24284
Zeit parallel core              = 23390
Zeit parallel core block trans  = 7420
> java -server -cp bin:. MultiMain
sequential multiply
sequential multiply blocked
sequential multiply blocked transposed 160
Starting 800 threads ... started ... done ParMult
Starting ParMultCore 2 threads ... started ... done
Starting ParMultCoreBlockTrans 2 threads, block size 80 started ... done
Matrix: 800 x 800
Ergebnis C-D == 0                 true
Zeit sequential                 = 18044
Zeit sequential block           = 17853
Zeit sequential block transpose = 6330
Zeit parallel                   = 21279
Zeit parallel core              = 16954
Zeit parallel core block trans  = 5266

HyperThreading CPU:

sequential multiply blocked 
sequential multiply blocked transposed 80
Starting 800 threads ... started ... done ParMult
Starting ParMultCore 2 threads ... started ... done
Starting ParMultCoreBlockTrans 2 threads, block size 30 started ... done
Matrix: 800 x 800
Ergebnis C-D == 0                 true
Zeit sequential                 = 8235
Zeit sequential block           = 6625
Zeit sequential block transpose = 2718
Zeit parallel                   = 6172
Zeit parallel core              = 6500
Zeit parallel core block trans  = 2844

Server VM:

sequential multiply
sequential multiply blocked 
sequential multiply blocked transposed 80
Starting 800 threads ... started ... done ParMult
Starting ParMultCore 2 threads ... started ... done
Starting ParMultCoreBlockTrans 2 threads, block size 40 started ... done
Matrix: 800 x 800
Ergebnis C-D == 0                 true
Zeit sequential                 = 6375
Zeit sequential block           = 5984
Zeit sequential block transpose = 984
Zeit parallel                   = 5938
Zeit parallel core              = 5656
Zeit parallel core block trans  = 734
sequential multiply
sequential multiply blocked 
sequential multiply blocked transposed 160
Starting 800 threads ... started ... done ParMult
Starting ParMultCore 2 threads ... started ... done
Starting ParMultCoreBlockTrans 2 threads, block size 80 started ... done
Matrix: 800 x 800
Ergebnis C-D == 0                 true
Zeit sequential                 = 6515
Zeit sequential block           = 6219
Zeit sequential block transpose = 1078
Zeit parallel                   = 6172
Zeit parallel core              = 6000
Zeit parallel core block trans  = 781

Heinz Kredel
Last modified: Mon Oct 26 23:26:07 CET 2009