Field G. Van Zee d0eec4bddd Added optional row preference to ukernel config.
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.
2014-08-19 15:49:19 -05:00
2014-08-07 13:21:15 -05:00
2014-07-13 22:50:56 -07:00
2014-08-04 16:01:59 -05:00
2014-07-14 16:14:33 -05:00
2012-12-17 12:35:54 -06:00
2014-08-04 16:01:58 -05:00

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
BLAS-like Library Instantiation Software Framework
Readme BSD-3-Clause 71 MiB
Languages
C 86.2%
C++ 9.7%
Fortran 1.9%
Makefile 0.8%
MATLAB 0.4%
Other 0.9%