mirror of
https://github.com/amd/blis.git
synced 2026-05-11 09:39:59 +00:00
d0eec4bddd740ce360d0f655362c551287cf925b
Details: - Added the ability for the kernel developer to indicate the gemm micro- kernel as having a preference for accessing the micro-tile of C via contiguous rows (as opposed to contiguous columns). This property may be encoded in bli_kernel.h as BLIS_?GEMM_UKERNEL_PREFERS_CONTIG_ROWS, which may be defined or left undefined. Leaving it undefined leads to the default assumption of column preference. - Changed conditionals in frame/3/*/*_front.c that induce transposition of the operation so that the transposition is induced only if there is disagreement between the storage of C and the preference of the micro-kernel. Previously, the only conditional that needed to be met was that C was row-stored, which is to say that we assumed the micro- kernel preferred column-contiguous access on C. - Added a "prefers_contig_rows" property to func_t objects, and updated calls to bli_func_obj_create() in _cntl.c files in order to support the above changes. - Removed the row-storage optimization from bli_trsm_front.c because it is actually ineffective. This is because the right-side case of trsm flips the A and B micro-panel operands (since BLIS only requires left-side gemmtrsm/trsm kernels), meaning any transposition done at the high level is then undone at the low level. - Tweaked trmm, trmm3 _front.c files to eliminate a possible redundant invocation of the bli_obj_swap() macro.
BLIS framework
README
---
Thank you for deciding to try out the BLIS framework!
BLIS is a portable framework for instantiating BLAS-like libraries. The
framework was designed to isolate essential kernels of computation that,
when optimized, immediately enable optimized implementations of most of
its commonly used and computationally intensive operations.
BLIS has many features. For more detailed information about the project,
please check the BLIS homepage:
http://code.google.com/p/blis/
You can keep in touch with developers and other users of the project by
joining one or more of the following mailing lists:
o blis-announce - http://groups.google.com/group/blis-announce
Used only for announcements and other important messages regarding
BLIS.
o blis-discuss - http://groups.google.com/group/blis-discuss
Please join and post to this mailing list if you have general questions
or feedback regarding BLIS. Application developers (end users) should
probably post here.
o blis-devel - http://groups.google.com/group/blis-devel
Please join and post to this mailing list if you are a BLIS developer
(i.e., you are trying to use BLIS to create libraries, you want to
write kernels for the framework, or you are trying to modify or extend
the framework itself).
Also, please read the LICENSE file for information on copying and
distributing this software.
For a step-by-step guide on configuring, compiling, and installing BLIS,
please read the INSTALL file. Also, please check the BLIS website's wiki
page for other useful how-to guides.
Thanks again for your interest in BLIS!
Regards,
Field G. Van Zee
field@cs.utexas.edu
Description
Languages
C
86.2%
C++
9.7%
Fortran
1.9%
Makefile
0.8%
MATLAB
0.4%
Other
0.9%