mirror of
https://github.com/amd/blis.git
synced 2026-05-11 17:50:00 +00:00
Details: - Defined a new "3ms" (separated 3m) pack schema and added appropriate support in packm_init(), packm_blk_var2(). - Generalized packm_struc_cxk_3mi to take the imaginary stride (is_p) as an argument instead of computing it locally. Exception: for trmm, is_p must be computed locally, since it changes for triangular packed matrices. Also exposed is_p in interface to dt-specific packm_blk_var2 (and _var1, even though it does not use imaginary stride). - Renamed many functions/variables from _3mi to _3mis to indicate that they work for either interleaved or separated 3m pack schemas. - Generalized gemm and herk macro-kernels to pass in imaginary stride rather than compute them locally. - Added support for 3m2 and 3m3 algorithms to frame/ind, including 3m2- and 3m3-specific virtual micro-kernels. - Added special gemm macro-kernels to support 3m2 and 3m3. - Added support for 3m2 and 3m3 to testsuite. - Corrected the type of the panel dimension (pd_) in various macro- kernels from inc_t to dim_t. - Renamed many functions defined in bli_blocksize.c. - Moved most induced-related macro defs from frame/include to frame/ind/include. - Updated the _ukernel.c files so that the micro-kernel function pointers are obtained from the func_t objects rather than the cpp macros that define the function names. - Updated test/3m4m driver, Makefile, and run script.
40 lines
1.8 KiB
Plaintext
40 lines
1.8 KiB
Plaintext
# ----------------------------------------------------------------------
|
|
#
|
|
# input.general
|
|
# BLIS test suite
|
|
#
|
|
# This file contains input values that control how BLIS operations are
|
|
# tested. Comments explain the purpose of each parameter as well as
|
|
# accepted values.
|
|
#
|
|
|
|
1 # Number of repeats per experiment (best result is reported)
|
|
c # Matrix storage scheme(s) to test:
|
|
# 'c' = col-major storage; 'g' = general stride storage;
|
|
# 'r' = row-major storage
|
|
c # Vector storage scheme(s) to test:
|
|
# 'c' = colvec / unit stride; 'j' = colvec / non-unit stride;
|
|
# 'r' = rowvec / unit stride; 'i' = rowvec / non-unit stride
|
|
0 # Test all combinations of storage schemes?
|
|
32 # General stride spacing (for cases when testing general stride)
|
|
sdcz # Datatype(s) to test:
|
|
# 's' = single real; 'c' = single complex;
|
|
# 'd' = double real; 'z' = double complex
|
|
100 # Problem size: first to test
|
|
400 # Problem size: maximum to test
|
|
100 # Problem size: increment between experiments
|
|
# Complex level-3 implementations to test
|
|
1 # 3mh ('1' = enable; '0' = disable)
|
|
1 # 3m3 ('1' = enable; '0' = disable)
|
|
1 # 3m2 ('1' = enable; '0' = disable)
|
|
1 # 3m1 ('1' = enable; '0' = disable)
|
|
1 # 4mh ('1' = enable; '0' = disable)
|
|
1 # 4m1b ('1' = enable; '0' = disable)
|
|
1 # 4m1a ('1' = enable; '0' = disable)
|
|
1 # Error-checking level:
|
|
# '0' = disable error checking; '1' = full error checking
|
|
i # Reaction to test failure:
|
|
# 'i' = ignore; 's' = sleep() and continue; 'a' = abort
|
|
0 # Output results in matlab/octave format? ('1' = yes; '0' = no)
|
|
0 # Output results to stdout AND files? ('1' = yes; '0' = no)
|