mirror of
https://github.com/amd/blis.git
synced 2026-04-19 23:28:52 +00:00
Details: - Added a 'template' configuration, which contains stub implementations of the level 1, 1f, and 3 kernels with one datatype implemented in C for each, with lots of in-file comments and documentation. - Modified some variable/parameter names for some 1/1f operations. (e.g. renaming vector length parameter from m to n.) - Moved level-1f fusing factors from axpyf, dotxf, and dotxaxpyf header files to bli_kernel.h. - Modifed test suite to print out fusing factors for axpyf, dotxf, and dotxaxpyf, as well as the default fusing factor (which are all equal in the reference and template implementations). - Cleaned up some sloppiness in the level-1f unb_var1.c files whereby these reference variants were implemented in terms of front-end routines rather that directly in terms of the kernels. (For example, axpy2v was implemented as two calls to axpyv rather than two calls to AXPYV_KERNEL.) - Changed the interface to dotxf so that it matches that of axpyf, in that A is assumed to be m x b_n in both cases, and for dotxf A is actually used as A^T. - Minor variable naming and comment changes to reference micro-kernels in frame/3/gemm/ukernels and frame/3/trsm/ukernels.
209 lines
13 KiB
Plaintext
209 lines
13 KiB
Plaintext
# --- Utility ------------------------------------------------------------------
|
|
|
|
1 randv (0 = disable all; 1 = specify)
|
|
1 test sequential front-end (0 = disable; 1 = enable)
|
|
-1 dimensions: m (-1 = bind to problem size)
|
|
|
|
1 randm (0 = disable all; 1 = specify)
|
|
1 test sequential front-end (0 = disable; 1 = enable)
|
|
-1 -1 dimensions: m n (-1 = bind to problem size)
|
|
|
|
|
|
# --- Level-1v -----------------------------------------------------------------
|
|
|
|
1 addv (0 = disable all; 1 = specify)
|
|
1 test sequential front-end (0 = disable; 1 = enable)
|
|
-1 dimensions: m (-1 = bind to problem size)
|
|
? parameters: conjx (? = test all values)
|
|
|
|
1 axpyv (0 = disable all; 1 = specify)
|
|
1 test sequential front-end (0 = disable; 1 = enable)
|
|
-1 dimensions: m (-1 = bind to problem size)
|
|
? parameters: conjx (? = test all values)
|
|
|
|
1 copyv (0 = disable all; 1 = specify)
|
|
1 test sequential front-end (0 = disable; 1 = enable)
|
|
-1 dimensions: m (-1 = bind to problem size)
|
|
? parameters: conjx (? = test all values)
|
|
|
|
1 dotv (0 = disable all; 1 = specify)
|
|
1 test sequential front-end (0 = disable; 1 = enable)
|
|
-1 dimensions: m (-1 = bind to problem size)
|
|
?? parameters: conjx conjy (? = test all values)
|
|
|
|
1 dotxv (0 = disable all; 1 = specify)
|
|
1 test sequential front-end (0 = disable; 1 = enable)
|
|
-1 dimensions: m (-1 = bind to problem size)
|
|
?? parameters: conjx conjy (? = test all values)
|
|
|
|
1 fnormv (0 = disable all; 1 = specify)
|
|
1 test sequential front-end (0 = disable; 1 = enable)
|
|
-1 dimensions: m (-1 = bind to problem size)
|
|
|
|
1 scalv (0 = disable all; 1 = specify)
|
|
1 test sequential front-end (0 = disable; 1 = enable)
|
|
-1 dimensions: m (-1 = bind to problem size)
|
|
? parameters: conjbeta (? = test all values)
|
|
|
|
1 scal2v (0 = disable all; 1 = specify)
|
|
1 test sequential front-end (0 = disable; 1 = enable)
|
|
-1 dimensions: m (-1 = bind to problem size)
|
|
? parameters: conjx (? = test all values)
|
|
|
|
1 setv (0 = disable all; 1 = specify)
|
|
1 test sequential front-end (0 = disable; 1 = enable)
|
|
-1 dimensions: m (-1 = bind to problem size)
|
|
|
|
1 subv (0 = disable all; 1 = specify)
|
|
1 test sequential front-end (0 = disable; 1 = enable)
|
|
-1 dimensions: m (-1 = bind to problem size)
|
|
? parameters: conjx (? = test all values)
|
|
|
|
|
|
# --- Level-1m -----------------------------------------------------------------
|
|
|
|
1 addm (0 = disable all; 1 = specify)
|
|
1 test sequential front-end (0 = disable; 1 = enable)
|
|
-1 -2 dimensions: m n (-1 = bind to problem size)
|
|
? parameters: transa (? = test all values)
|
|
|
|
1 axpym (0 = disable all; 1 = specify)
|
|
1 test sequential front-end (0 = disable; 1 = enable)
|
|
-1 -1 dimensions: m n (-1 = bind to problem size)
|
|
? parameters: transa (? = test all values)
|
|
|
|
1 copym (0 = disable all; 1 = specify)
|
|
1 test sequential front-end (0 = disable; 1 = enable)
|
|
-1 -2 dimensions: m n (-1 = bind to problem size)
|
|
? parameters: transa (? = test all values)
|
|
|
|
1 fnormm (0 = disable all; 1 = specify)
|
|
1 test sequential front-end (0 = disable; 1 = enable)
|
|
-1 -2 dimensions: m n (-1 = bind to problem size)
|
|
|
|
1 scalm (0 = disable all; 1 = specify)
|
|
1 test sequential front-end (0 = disable; 1 = enable)
|
|
-1 -2 dimensions: m n (-1 = bind to problem size)
|
|
? parameters: conjbeta (? = test all values)
|
|
|
|
1 scal2m (0 = disable all; 1 = specify)
|
|
1 test sequential front-end (0 = disable; 1 = enable)
|
|
-1 -2 dimensions: m n (-1 = bind to problem size)
|
|
? parameters: transa (? = test all values)
|
|
|
|
1 setm (0 = disable all; 1 = specify)
|
|
1 test sequential front-end (0 = disable; 1 = enable)
|
|
-1 -2 dimensions: m n (-1 = bind to problem size)
|
|
|
|
1 subm (0 = disable all; 1 = specify)
|
|
1 test sequential front-end (0 = disable; 1 = enable)
|
|
-1 -2 dimensions: m n (-1 = bind to problem size)
|
|
? parameters: transa (? = test all values)
|
|
|
|
|
|
# --- Level-2 ------------------------------------------------------------------
|
|
|
|
1 gemv (0 = disable all; 1 = specify)
|
|
1 test sequential front-end (0 = disable; 1 = enable)
|
|
-1 -2 dimensions: m n (-1 = bind to problem size)
|
|
?? parameters: transa conjx (? = test all values)
|
|
|
|
1 ger (0 = disable all; 1 = specify)
|
|
1 test sequential front-end (0 = disable; 1 = enable)
|
|
-1 -2 dimensions: m n (-1 = bind to problem size)
|
|
?? parameters: conjx conjy (? = test all values)
|
|
|
|
1 hemv (0 = disable all; 1 = specify)
|
|
1 test sequential front-end (0 = disable; 1 = enable)
|
|
-1 dimensions: m (-1 = bind to problem size)
|
|
??? parameters: uploa conja conjx (? = test all values)
|
|
|
|
1 her (0 = disable all; 1 = specify)
|
|
1 test sequential front-end (0 = disable; 1 = enable)
|
|
-1 dimensions: m (-1 = bind to problem size)
|
|
?? parameters: uploc conjx (? = test all values)
|
|
|
|
1 her2 (0 = disable all; 1 = specify)
|
|
1 test sequential front-end (0 = disable; 1 = enable)
|
|
-1 dimensions: m (-1 = bind to problem size)
|
|
??? parameters: uploc conjx conjy (? = test all values)
|
|
|
|
1 symv (0 = disable all; 1 = specify)
|
|
1 test sequential front-end (0 = disable; 1 = enable)
|
|
-1 dimensions: m (-1 = bind to problem size)
|
|
??? parameters: uploa conja conjx (? = test all values)
|
|
|
|
1 syr (0 = disable all; 1 = specify)
|
|
1 test sequential front-end (0 = disable; 1 = enable)
|
|
-1 dimensions: m (-1 = bind to problem size)
|
|
?? parameters: uploc conjx (? = test all values)
|
|
|
|
1 syr2 (0 = disable all; 1 = specify)
|
|
1 test sequential front-end (0 = disable; 1 = enable)
|
|
-1 dimensions: m (-1 = bind to problem size)
|
|
??? parameters: uploc conjx conjy (? = test all values)
|
|
|
|
1 trmv (0 = disable all; 1 = specify)
|
|
1 test sequential front-end (0 = disable; 1 = enable)
|
|
-1 dimensions: m (-1 = bind to problem size)
|
|
??? parameters: uploa transa diaga (? = test all values)
|
|
|
|
1 trsv (0 = disable all; 1 = specify)
|
|
1 test sequential front-end (0 = disable; 1 = enable)
|
|
-1 dimensions: m (-1 = bind to problem size)
|
|
??? parameters: uploa transa diaga (? = test all values)
|
|
|
|
|
|
# --- Level-3 ------------------------------------------------------------------
|
|
|
|
1 gemm (0 = disable all; 1 = specify)
|
|
1 test sequential front-end (0 = disable; 1 = enable)
|
|
-1 -1 -2 dimensions: m n k (-1 = bind to problem size)
|
|
?? parameters: transa transb (? = test all values)
|
|
|
|
1 hemm (0 = disable all; 1 = specify)
|
|
1 test sequential front-end (0 = disable; 1 = enable)
|
|
-1 -2 dimensions: m n (-1 = bind to problem size)
|
|
???? parameters: side uploa conja transb (? = test all values)
|
|
|
|
1 herk (0 = disable all; 1 = specify)
|
|
1 test sequential front-end (0 = disable; 1 = enable)
|
|
-1 -2 dimensions: m k (-1 = bind to problem size)
|
|
?? parameters: uploc transa (? = test all values)
|
|
|
|
1 her2k (0 = disable all; 1 = specify)
|
|
1 test sequential front-end (0 = disable; 1 = enable)
|
|
-1 -2 dimensions: m k (-1 = bind to problem size)
|
|
??? parameters: uploc transa transb (? = test all values)
|
|
|
|
1 symm (0 = disable all; 1 = specify)
|
|
1 test sequential front-end (0 = disable; 1 = enable)
|
|
-1 -2 dimensions: m n (-1 = bind to problem size)
|
|
???? parameters: side uploa conja transb (? = test all values)
|
|
|
|
1 syrk (0 = disable all; 1 = specify)
|
|
1 test sequential front-end (0 = disable; 1 = enable)
|
|
-1 -2 dimensions: m k (-1 = bind to problem size)
|
|
?? parameters: uploc transa (? = test all values)
|
|
|
|
1 syr2k (0 = disable all; 1 = specify)
|
|
1 test sequential front-end (0 = disable; 1 = enable)
|
|
-1 -2 dimensions: m k (-1 = bind to problem size)
|
|
??? parameters: uploc transa transb (? = test all values)
|
|
|
|
1 trmm (0 = disable all; 1 = specify)
|
|
1 test sequential front-end (0 = disable; 1 = enable)
|
|
-1 -1 dimensions: m n (-1 = bind to problem size)
|
|
???? parameters: side uploa transa diaga (? = test all values)
|
|
|
|
1 trmm3 (0 = disable all; 1 = specify)
|
|
1 test sequential front-end (0 = disable; 1 = enable)
|
|
-1 -1 dimensions: m n (-1 = bind to problem size)
|
|
????? parameters: side uploa transa diaga transb (? = test all values)
|
|
|
|
1 trsm (0 = disable all; 1 = specify)
|
|
1 test sequential front-end (0 = disable; 1 = enable)
|
|
-1 -1 dimensions: m n (-1 = bind to problem size)
|
|
???? parameters: side uploa transa diaga (? = test all values)
|
|
|