Результаты
Производились перемножения матриц размером от 100x100 до 2000x2000 шагом 100. Эксперимент проводился на 4-х процессах на следующем ПК:
Intel Core 2 Duo E8400, Up to 3600 MHz (9 x 400)
Asus P5Q SE (Chipset Intel Eaglelake P45)
Kingston 2x2GB 6-6-6-18 (CL-RCD-RP-RAS) / 24-51-3-6-3-3 (RC-RFC-RRD-WR-WTR-RTP)
Microsoft Windows 7 Ultimate x64
Компилятор MS Visual Studio 2008
Пропускная способность: 267506473 байт/сек
Латентность: 0.000024 сек
Время, затрачиваемое на одну операцию: ~31 нс
Ранг матрицы |
Последовательный алгоритм |
Ленточный алгоритм |
Алгоритм Фокса |
Практическое время |
Теоретическое время |
Практическое время |
Теоретическое время |
Практическое ускорение |
Теоретическое ускорение |
Практическое время |
Теоретическое время |
Практическое ускорение |
Теоретическое ускорение |
100 |
0,001622 |
0,006766 |
0,00162 |
0,003494 |
1,000702 |
1,919756 |
0,002011 |
0,003524 |
0,806251 |
1,936492 |
200 |
0,012661 |
0,054264 |
0,007307 |
0,027516 |
1,732726 |
1,963886 |
0,009824 |
0,027631 |
1,288783 |
1,972067 |
300 |
0,042828 |
0,183294 |
0,020009 |
0,092487 |
2,140461 |
1,97639 |
0,029334 |
0,092742 |
1,459994 |
1,981837 |
400 |
0,190281 |
0,434656 |
0,048931 |
0,218806 |
3,888782 |
1,982404 |
5,051228 |
0,219257 |
0,03767 |
1,986493 |
500 |
0,460761 |
0,84915 |
0,087139 |
0,426873 |
5,287645 |
1,98596 |
0,124846 |
0,427577 |
3,690632 |
1,989234 |
600 |
0,838865 |
1,467576 |
0,136808 |
0,737088 |
6,131699 |
1,988315 |
0,207455 |
0,738101 |
4,043605 |
1,991045 |
700 |
1,425426 |
2,330734 |
0,21245 |
1,169852 |
6,709471 |
1,98999 |
0,330016 |
1,171229 |
4,319267 |
1,992333 |
800 |
2,199595 |
3,479424 |
0,306079 |
1,745563 |
7,186375 |
1,991245 |
0,915809 |
1,747361 |
2,401807 |
1,993296 |
900 |
4,600916 |
4,954446 |
0,427918 |
2,484624 |
10,751871 |
1,992219 |
1,389574 |
2,486898 |
3,311025 |
1,994043 |
1000 |
5,721435 |
6,7966 |
0,589498 |
3,407432 |
9,705606 |
1,992998 |
2,312599 |
3,41024 |
2,474029 |
1,99464 |
1100 |
8,948449 |
9,046686 |
0,798915 |
4,534388 |
11,200745 |
1,993635 |
3,241467 |
4,537785 |
2,760617 |
1,995128 |
1200 |
10,343797 |
11,745504 |
1,118012 |
5,885893 |
9,251952 |
1,994165 |
4,41374 |
5,889935 |
2,343545 |
1,995535 |
1300 |
15,063419 |
14,933854 |
2,235071 |
7,482346 |
6,73957 |
1,994614 |
8,459743 |
7,48709 |
1,7806 |
1,995879 |
1400 |
16,707507 |
18,652536 |
3,286025 |
9,344147 |
5,084412 |
1,994999 |
10,366656 |
9,349648 |
1,611658 |
1,996173 |
1500 |
23,651662 |
22,94235 |
4,180887 |
11,491697 |
5,657092 |
1,995332 |
16,117913 |
11,498012 |
1,467415 |
1,996428 |
1600 |
27,454212 |
27,844096 |
5,080979 |
13,945395 |
5,403332 |
1,995624 |
14,02866 |
13,952579 |
1,957009 |
1,996652 |
1700 |
35,050896 |
33,398574 |
6,228451 |
16,72564 |
5,627546 |
1,995881 |
24,486317 |
16,733751 |
1,431448 |
1,996849 |
1800 |
38,103483 |
39,646584 |
7,315962 |
19,852835 |
5,208267 |
1,99611 |
22,813332 |
19,861927 |
1,670229 |
1,997024 |
1900 |
49,853358 |
46,628926 |
8,661864 |
23,347377 |
5,7555 |
1,996314 |
35,614578 |
23,357507 |
1,399802 |
1,99718 |
2000 |
55,641259 |
54,3864 |
10,112401 |
27,229668 |
5,50228 |
1,996498 |
27,180319 |
27,240892 |
2,047116 |
1,997321 |
Зависимость времени работы программы (в секундах) от ранга матрицы:

Теоретическое время работы алгоритмов (в секундах):

Ускорение относительно последовательного алгоритма:
|