Profiling

Naive

Matrix sizeExecution Time (ms)Cache ReferencesCache Misses (%)Page FaultsCyclesInstructions (insn per cycle)Time Elapsed (s)User Time (s)Sys Time (s)
4x4015,0597,880 (52.33%)3501,645,0641,499,957 (0.91)0.0068764280.0014860000.000743000
128x1281220,5427,989 (38.89%)40145,638,59792,867,897 (2.03)0.0249131980.0157140000.001964000
1024x1024809868,405,312153,895 (0.23%)10,06923,902,613,96135,919,507,009 (1.50)8.4102293298.2650180000.029934000
2048x204884405542,915,007129,186,888 (23.80%)54,722245,535,142,712281,103,204,474 (1.14)85.62255339084.9120090000.132696000

Memory Locality

Matrix sizeExecution Time (ms)Cache ReferencesCache Misses (%)Page FaultsCyclesInstructions (insn per cycle)Time Elapsed (s)User Time (s)Sys Time (s)
4x4014,9277,575 (50.75%)3491,634,6911,508,247 (0.92)0.0060737570.0007030000.001406000
128x128124,0968,014 (33.26%)45014,265,53441,337,323 (2.90)0.0107819860.0047230000.002361000
1024x102459268,703,460583,328 (0.85%)6,5522,508,334,8439,916,745,223 (3.95)1.0111681010.8786560000.035945000
2048x20485049545,134,374122,248,794 (22.43%)51,63316,556,640,72166,554,110,649 (4.02)6.2630035085.7423020000.148697000

SIMD + Memory Locality

Matrix SizeExecution Time (ms)Cache ReferencesCache Misses (%)Page FaultsCyclesInstructions (insn per cycle)Time Elapsed (s)User Time (s)Sys Time (s)
4x4015,3248,036 (52.44%)3521,658,8051,525,188 (0.92)0.0055224630.0013710000.000685000
128x128024,1268,013 (33.21%)46511,883,41529,497,713 (2.48)0.0092540480.0061700000.000000000
1024x10242319,741,688574,065 (5.89%)6,6521,382,821,7193,855,495,348 (2.79)0.6466777880.5310730000.021961000
2048x2048183471,703,05418,617,438 (25.97%)44,2246,640,389,41618,087,217,743 (2.72)3.0511957022.5533880000.133072000

openmp + SIMD + Memory Locality

Size = (1024x1024) x (1024x1024)

Number of CoresExecution Time (ms)Cache ReferencesCache Misses (%)Page FaultsCyclesInstructions (insn per cycle)Time Elapsed (s)User Time (s)Sys Time (s)
118035,735,697529,023 (1.48%)6,7201,719,419,3193,745,134,379 (2.18)0.6080061800.6553740000.033915000
218035,828,139532,107 (1.49%)6,7191,721,031,7883,745,488,445 (2.18)0.6071238660.6642440000.024934000
410735,742,443722,581 (2.02%)6,7251,788,278,9753,756,960,867 (2.10)0.5418727650.7132170000.034010000
86850,515,828778,685 (1.54%)6,7371,857,770,8533,777,157,390 (2.03)0.5338511500.7895630000.042976000
165251,659,963720,180 (1.39%)6,7632,176,615,5553,820,804,788 (1.76)0.5165699470.9903920000.044151000
324343,359,618666,146 (1.54%)6,8142,972,420,0243,922,431,309 (1.32)0.5124310691.4307200000.069196000

Size = (2048x2048) x (2048x2048)

Number of CoresExecution Time (ms)Cache ReferencesCache Misses (%)Page FaultsCyclesInstructions (insn per cycle)Time Elapsed (s)User Time (s)Sys Time (s)
11694281,435,29267,810,759 (24.10%)45,19211,600,419,67620,329,444,499 (1.75)3.3425145674.4971900000.134855000
21694282,296,13168,767,488 (24.36%)46,13011,607,809,48920,337,826,665 (1.75)3.3417962244.5112630000.123787000
41041337,747,913140,765,153 (41.68%)37,68512,044,433,63820,348,731,391 (1.69)2.7954829754.6962080000.148626000
8512293,565,15172,124,546 (24.57%)25,31312,358,982,87520,375,709,121 (1.65)2.2685461574.9043540000.129824000
16378323,499,81062,453,073 (19.30%)25,34712,937,708,53120,421,322,398 (1.58)2.0662364125.3313750000.131614000
32221301,917,83138,546,078 (12.77%)25,41413,058,545,81620,467,635,895 (1.57)1.9123902185.7347810000.143543000

MPI + openmp + SIMD + Memory Locality

Number of Processes: 1, Number of Threads: 32

 cache-referencescache-misses:u% of all cache refspage-faults:ucycles:uinstructions:uinsn per cycleseconds time elapsedseconds userseconds sys
MPI53,531,599573,4481.0718,1932,631,554,0773,145,888,0301.20.409274661.3133460.047192

 

Number of Processes: 2, Number of Threads: 16

 cache-referencescache-misses:u% of all cache refspage-faults:ucycles:uinstructions:uinsn per cycleseconds time elapsedseconds userseconds sys
Run 118,387,521638,8823.475%7,2011,794,540,1313,103,282,4511.730.4037281070.8637650000.022835000
Run 218,512,037433,6392.342%8,0321,285,180,8222,355,963,1911.830.5446377320.6747880000.046545000

Number of Processes: 4, Number of Threads: 8

Processcache-referencescache-misses:u% of all cache refspage-faults:ucycles:uinstructions:uinsn per cycleseconds time elapsedseconds userseconds sys
111,624,426347,1472.986%6,1481,285,759,9342.130.4112799540.5498870000.0395600000.039560000
211,373,436428,6853.769%6,6611,212,875,8562.240.7981802520.5553920000.0300210000.030021000
311,580,6391,132,9479.783%6,6601,297,436,6852.100.4056629090.5684500000.0368990000.036899000
410,044,076676,7136.737%7,847959,176,4942.090.8644331090.4504460000.0491570000.049157000

Number of Processes: 8, Number of Threads: 4

ProcessCache ReferencesCache Misses (%)Page FaultsCyclesInstructionsInstructions per Cycle
17,103,5545.643%5,8871,095,412,9042,644,775,2252.41
24,974,4098.437%5,8872,644,775,2252,565,722,6732.49
34,965,11629.409%5,8871,059,540,3432,714,194,9052.42
44,952,99328.320%5,8871,076,613,4382,562,567,1342.39
54,916,10038.812%6,3991,042,072,4922,440,878,2432.27
64,913,1128.880%6,3981,816,047,2842,562,567,1342.46
74,918,48533.651%6,3981,074,992,9112,440,878,2432.27
85,224,03734.665%8,109812,317,9821,816,047,2842.24

Number of Processes: 16, Number of Threads: 2

ProcessCache ReferencesCache Misses (%)Page FaultsCyclesInstructionsInstructions per Cycle
Average2,726,47443%6373986,932,2982,410,212,5292.43

Number of Processes: 32, Number of Threads: 1

ProcessCache ReferencesCache Misses (%)Page FaultsCyclesInstructionsInstructions per Cycle
Average2,716,21672.204 %6,2311,606,922,4312,286,784,1031.42