mirror of
https://github.com/amd/blis.git
synced 2026-05-11 17:50:00 +00:00
0.0.4
Details: - Completely re-wrote the contiguous memory allocator (bl2_mem.c). The new allocator instantiates and initializes three separate memory pool objects, each one associated with a separate array of contiguous memory blocks, each block of fixed and uniform size. (The three pools are for allocating mc-by-kc blocks of A, kc-by-nc panels of B, and mc-by-nc panels of C.) The pool objects use a stack structure internally to track which blocks in the region have been "checked out" to a thread and which are still available. Critical regions are now clearly marked and adaptable to parallel environments (e.g. OpenMP). Memory pools are set up when bl2_init() is called. - Added a new field to the packm control tree node, which indicates what kind of packed buffer is being allocated. The enumerated type for this argument is defined as packbuf_t in bl2_type_defs.h. - Updated level-3 _cntl.c files to pass in the appropriate value for a new packbuf_t argument to bl2_packm_cntl_obj_create(). - Moved some macros called by packm_init_pack() from bl2_obj_macro_defs.h to bl2_mem_macro_defs.h. - Added BLIS_MAX_NUM_THREADS to bl2_config.h, which we use as the default number of blocks of A reserved for the memory allocator. - Deprecated bl2_align_dim(). Replaced usage with that of bl2_align_dim_to_mult(). Turns out that typically we don't need to align a dimension to the system alignment, since that value has to do with starting addresses, whereas the values we are dealing with are unitless dimensions.
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%