mirror of
https://github.com/amd/blis.git
synced 2026-05-11 09:39:59 +00:00
e9899be09044829e23386bd73e394f1dd7778210
Details: - Added "4mh" and "3mh" APIs, which implement the 4m and 3m methods at high levels, respectively. APIs for trmm and trsm were NOT added due to the fact that these approaches are inherently incompatible with implementing 4m or 3m at high levels (because the input right-hand side matrix is overwritten). - Added 4mh, 3mh virtual micro-kernels, and updated the existing 4m and 3m so that all are stylistically consistent. - Added new "rih" packing kernels (both low-level and structure-aware) to support both 4mh and 3mh. - Defined new pack_t schemas to support real-only, imaginary-only, and real+imaginary packing formats. - Added various level0 scalar macros to support the rih packm kernels. - Minor tweaks to trmm macro-kernels to facilitate 4mh and 3mh. - Added the ability to enable/disable 4mh, 3m, and 3mh, and adjusted level-3 front-ends to check enabledness of 3mh, 3m, 4mh, and 4m (in that order) and execute the first one that is enabled, or the native implementation if none are enabled. - Added implementation query functions for each level-3 operation so that the user can query a string that describes the implementation that is currently enabled. - Updated test suite to output implementation types for reach level-3 operation, as well as micro-kernel types for each of the five micro- kernels. - Renamed BLIS_ENABLE_?COMPLEX_VIA_4M macros to _ENABLE_VIRTUAL_?COMPLEX. - Fixed an obscure bug when packing Hermitian matrices (regular packing type) whereby the diagonal elements of the packed micro-panels could get tainted if the source matrix's imaginary diagonal part contained garbage.
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%