Matrix Vector Multiply - 2023.2 English

Vitis Libraries

Release Date
2023-12-20
Version
2023.2 English

Following table gives results for the Matrix Vector Multiply function with a wide variety of supported parameters, which are defined in: Matrix Vector Multiply Configuration Parameters.

matrix_vector_mul_benchmark.csv

Table 76 Matrix Vector Multiply benchmark
Library Element AIE_VARIANT DATA_A DATA_B DIM_A DIM_B NUM_FRAMES WINDOW_VSIZE_A WINDOW_VSIZE_B CASC_LEN Latency Throughput NUM_BANKS NUM_AIE DATA_MEMORY PROGRAM_MEMORY
matrix_vector_mul 1 cfloat cfloat 16 32 1 512 32 1 1658 ns 500 MSa/s 7 1 11432 1920
matrix_vector_mul 1 cfloat cfloat 16 32 4 2048 128 1 6323 ns 500 MSa/s 9 1 38312 1972
matrix_vector_mul 1 cfloat cfloat 32 32 1 1024 32 2 1765 ns 1000 MSa/s 12 2 22351 1824 1944
matrix_vector_mul 1 cfloat cfloat 32 32 1 1024 32 4 1070 ns 2000 MSa/s 22 4 27293 1780 1800 1800 1896
matrix_vector_mul 1 cfloat cfloat 4 512 1 2048 512 1 6103 ns 500 MSa/s 9 1 43496 1844
matrix_vector_mul 1 cfloat cfloat 512 4 1 2048 4 1 5999 ns 500 MSa/s 9 1 43496 1930
matrix_vector_mul 1 cfloat float 16 32 1 512 32 1 1439 ns 500 MSa/s 7 1 11176 1920
matrix_vector_mul 1 cint16 cint16 16 32 1 512 32 1 704 ns 1000 MSa/s 7 1 6697 2000
matrix_vector_mul 1 cint16 cint16 16 32 4 2048 128 1 2526 ns 1000 MSa/s 7 1 20137 2064
matrix_vector_mul 1 cint16 cint16 32 64 1 2048 64 1 2431 ns 1000 MSa/s 7 1 19369 1996
matrix_vector_mul 1 cint16 cint16 32 64 1 2048 64 2 1325 ns 2000 MSa/s 12 2 21584 1902 2028
matrix_vector_mul 1 cint16 cint16 512 8 1 4096 8 1 4664 ns 1000 MSa/s 9 1 39145 1966
matrix_vector_mul 1 cint16 cint16 8 512 1 4096 512 1 4659 ns 1000 MSa/s 9 1 39145 1936
matrix_vector_mul 1 cint16 cint32 16 32 1 512 32 1 815 ns 1000 MSa/s 7 1 7081 1900
matrix_vector_mul 1 cint16 int16 16 32 1 512 32 1 840 ns 1000 MSa/s 7 1 6569 2690
matrix_vector_mul 1 cint16 int32 16 32 1 512 32 1 761 ns 1000 MSa/s 7 1 6825 2096
matrix_vector_mul 1 cint32 cint16 16 32 1 512 32 1 1930 ns 500 MSa/s 7 1 10922 2564
matrix_vector_mul 1 cint32 cint32 16 32 1 512 32 1 1734 ns 500 MSa/s 7 1 11178 1930
matrix_vector_mul 1 cint32 cint32 16 32 4 2048 128 1 6640 ns 500 MSa/s 9 1 38058 1982
matrix_vector_mul 1 cint32 cint32 32 32 1 1024 32 2 1852 ns 1000 MSa/s 12 2 21842 1820 1986
matrix_vector_mul 1 cint32 cint32 32 32 1 1024 32 4 1116 ns 2000 MSa/s 22 4 26274 1824 1862 1862 1956
matrix_vector_mul 1 cint32 cint32 4 512 1 2048 512 1 6437 ns 500 MSa/s 9 1 43242 1914
matrix_vector_mul 1 cint32 cint32 512 4 1 2048 4 1 6117 ns 500 MSa/s 9 1 43242 1974
matrix_vector_mul 1 cint32 int32 16 32 1 512 32 1 1295 ns 500 MSa/s 7 1 10921 1980
matrix_vector_mul 1 float cfloat 16 32 1 512 32 1 1256 ns 964 MSa/s 7 1 7336 2176
matrix_vector_mul 1 float float 16 32 1 512 32 1 775 ns 1000 MSa/s 7 1 6952 1912
matrix_vector_mul 1 float float 16 32 4 2048 128 1 2806 ns 1000 MSa/s 7 1 20392 1954
matrix_vector_mul 1 float float 32 64 1 2048 64 1 2728 ns 1000 MSa/s 7 1 19624 1920
matrix_vector_mul 1 float float 32 64 1 2048 64 2 1504 ns 2000 MSa/s 12 2 22095 1824 1944
matrix_vector_mul 1 float float 32 64 1 2048 64 4 915 ns 4000 MSa/s 22 4 27037 1812 1820 1820 1932
matrix_vector_mul 1 float float 512 8 1 4096 8 1 5117 ns 1000 MSa/s 9 1 39400 2122
matrix_vector_mul 1 float float 8 512 1 4096 512 1 5265 ns 1000 MSa/s 9 1 39400 1844
matrix_vector_mul 1 int16 cint16 16 32 1 512 32 1 463 ns 2000 MSa/s 7 1 4649 2162
matrix_vector_mul 1 int16 int16 16 32 1 512 32 1 428 ns 2000 MSa/s 7 1 4457 2344
matrix_vector_mul 1 int16 int16 16 32 4 2048 128 1 1417 ns 2000 MSa/s 7 1 11177 2362
matrix_vector_mul 1 int16 int16 16 512 1 8192 512 1 5103 ns 2000 MSa/s 9 1 37097 2344
matrix_vector_mul 1 int16 int16 512 16 1 8192 16 1 4681 ns 2000 MSa/s 9 1 37097 2346
matrix_vector_mul 1 int16 int16 64 128 1 8192 128 1 5159 ns 2000 MSa/s 9 1 35753 2384
matrix_vector_mul 1 int16 int16 64 128 1 8192 128 2 2784 ns 4000 MSa/s 11 2 37968 2290 2400
matrix_vector_mul 1 int16 int16 64 128 1 8192 128 4 1621 ns 8000 MSa/s 22 4 42398 2294 2310 2310 2404
matrix_vector_mul 1 int16 int32 16 32 1 512 32 1 426 ns 2000 MSa/s 7 1 4648 2032
matrix_vector_mul 1 int32 cint32 16 32 1 512 32 1 815 ns 1000 MSa/s 7 1 7081 1900
matrix_vector_mul 1 int32 int16 16 32 1 512 32 1 765 ns 1000 MSa/s 7 1 6569 2400
matrix_vector_mul 1 int32 int32 16 32 1 512 32 1 704 ns 1000 MSa/s 7 1 6697 2000
matrix_vector_mul 1 int32 int32 16 32 4 2048 128 1 2526 ns 1000 MSa/s 7 1 20137 2064
matrix_vector_mul 1 int32 int32 32 64 1 2048 64 1 2431 ns 1000 MSa/s 7 1 19369 1996
matrix_vector_mul 1 int32 int32 32 64 1 2048 64 2 1325 ns 2000 MSa/s 12 2 21584 1902 2028
matrix_vector_mul 1 int32 int32 32 64 1 2048 64 4 801 ns 4000 MSa/s 22 4 26014 1778 1794 1794 1904
matrix_vector_mul 1 int32 int32 512 8 1 4096 8 1 4664 ns 1000 MSa/s 9 1 39145 1966
matrix_vector_mul 1 int32 int32 8 512 1 4096 512 1 4659 ns 1000 MSa/s 9 1 39145 1936