mirror of
https://github.com/amd/blis.git
synced 2026-05-11 17:50:00 +00:00
Details: - Fixed bugs in trmv_l and trsv_u due to backwards iteration resulting in unaligned subpartitions. We were already going out of our way a bit to handle edge cases in the first iteration for blocked variants, and this was simply the unblocked-fused extension of that idea. - Fixed control tree handling in her/her2/syr/syr2 that was not taking into account how the choice of variant needed to be altered for upper-stored matrices (given that only lower-stored algorithms are explicitly implemented). - Added bli_determine_blocksize_dim_f(), bli_determine_blocksize_dim_b() macros to provide inlined versions of bli_determine_blocksize_[fb]() for use by unblocked-fused variants. - Integrated new blocksize_dim macros into gemv/hemv unf variants for consistency with that of the bugfix for trmv/trsv (both of which now use the same macros). - Modified bli_obj_vector_inc() so that 1 is returned if the object is a vector of length 1 (ie: 1 x 1). This fixes a bug whereby under certain conditions (e.g. dotv_opt_var1), an invalid increment was returned, which was invalid only because the code was expecting 1 (for purposes of performing contiguous vector loads) but got a value greater than 1 because the column stride of the object (e.g. rho) was inflated for alignment purposes (albeit unnecessarily since there is only one element in the object). - Replaced some old invocations of set0 with set0s. - Added alpha parameter to gemmtrsm ukernels for x86_64 and use accordingly. - Fixed increment bug in cleanup loop of gemm ukernel for x86_64. - Added safeguard to test modules so that testing a problem with a zero dimension does not result in a failure. - Tweaked handling of zero dimensions in level-2 and level-3 operations' internal back-ends to correctly handle cases where output operand still needs to be scaled (e.g. by beta, in the case of gemm with k = 0).
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 -2 -3 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 -2 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 -2 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 -2 dimensions: m n (-1 = bind to problem size)
|
|
???? parameters: side uploa transa diaga (? = test all values)
|
|
|