Commit Graph

78 Commits

Author SHA1 Message Date
sireesha.sanga
85eb7880f7 README File Update
Updated with latest and relevant details.

AMD-Internal: [CPUPL-3007]
Change-Id: I6d86c5f0c49fd8739c656bcc8187a5f8a4dc9beb
2023-05-25 14:46:33 +00:00
lcpu
7401effc03 BLIS:merge:
Merge conflicts araised has been fixed while downstreaming BLIS code from master to milan-3.1 branch

Implemented an automatic reduction in the number of threads when the user requests parallelism via a single number (ie: the automatic way) and (a) that number of threads is prime, and (b) that number exceeds a minimum threshold defined by the macro BLIS_NT_MAX_PRIME, which defaults to 11. If prime numbers are really desired, this feature may be suppressed by defining the macro BLIS_ENABLE_AUTO_PRIME_NUM_THREADS in the appropriate configuration family's bli_family_*.h. (Jeff Diamond)

Changed default value of BLIS_THREAD_RATIO_M from 2 to 1, which leads to slightly different automatic thread factorizations.

Enable the 1m method only if the real domain microkernel is not a reference kernel. BLIS now forgoes use of 1m if both the real and complex domain kernels are reference implementations.

Relocated the general stride handling for gemmsup. This fixed an issue whereby gemm would fail to trigger to conventional code path for cases that use general stride even after gemmsup rejected the problem. (RuQing Xu)

Fixed an incorrect function signature (and prototype) of bli_?gemmt(). (RuQing Xu)

Redefined BLIS_NUM_ARCHS to be part of the arch_t enum, which means it will be updated automatically when defining future subconfigs.

Minor code consolidation in all level-3 _front() functions.

Reorganized Windows cpp branch of bli_pthreads.c.

Implemented bli_pthread_self() and _equals(), but left them commented out (via cpp guards) due to issues with getting the Windows versions working. Thankfully, these functions aren't yet needed by BLIS.

Allow disabling of trsm diagonal pre-inversion at compile time via --disable-trsm-preinversion.

Fixed obscure testsuite bug for the gemmt test module that relates to its dependency on gemv.

AMD-internal-[CPUPL-1523]

Change-Id: I0d1df018e2df96a23dc4383d01d98b324d5ac5cd
2021-04-27 11:09:48 +05:30
Field G. Van Zee
6a4aa986ff Fixed typo in Table of Contents. 2021-04-23 13:10:01 -05:00
Field G. Van Zee
f6424b5b82 Added dedicated Performance section to README.md.
Details:
- Spun off the Performance.md and PerformanceSmall.md links in the
  Documentation section into a new Performance section dedicated to
  those two links. (The previous entries remain redundantly listed
  within Documentation section.) Thanks to Robert van de Geijn for
  suggesting this change.
2021-04-23 13:08:06 -05:00
Field G. Van Zee
f8db9fb33b Fixed missing parentheses in README.md Citations. 2021-01-28 08:04:52 -06:00
Field G. Van Zee
472f138cb9 Fixed typo in README.md to CodingConventions.md. 2020-12-05 14:13:52 -06:00
Field G. Van Zee
ed612dd82c Updated README.md with sgemmsup blurb.
Details:
- Added an entry to the "What's New" section of the README.md to
  announce the availability of sgemmsup.
2020-11-07 13:09:42 -06:00
Field G. Van Zee
8273cbacd7 README.md, docs/FAQ.md updates.
Details:
- Added a frequently asked question to docs/FAQ.md regarding the
  difference between upstream (vanilla) BLIS and AMD BLIS.
- Updated the name of ICES in the README.md to reflect the Oden
  rebranding.
2020-10-07 14:51:33 -05:00
Field G. Van Zee
5efcdeffd5 More minor README.md updates. 2020-09-25 14:25:24 -05:00
Field G. Van Zee
9e940f8aad Added 1m SISC bibtex to README.md.
Details:
- Added final citation info to 1m bibtex in README.md file.
- Updated draft 1m paper link.
- Changed some http to https.
2020-09-25 13:53:35 -05:00
Field G. Van Zee
54bf6c3554 Minor README.md update.
Details:
- Added a new entry to the "What people are saying about BLIS" section.
2020-09-10 15:42:01 -05:00
Field G. Van Zee
e50b4d4046 Minor update to README.md (SIAM Best Paper Prize). 2020-09-09 14:12:53 -05:00
Field G. Van Zee
810e90ee80 Minor README.md update.
Details:
- Added HPE to list of funders.
- Changed http to https in funders' website links.
2020-09-01 16:11:40 -05:00
Field G. Van Zee
93023d0e02 README.md update to promote supmt dgemm.
Details:
- Updated the sup entry in the "What's New" section of the README.md
  file to promote the multithreaded dgemm sup feature introduced in
  c0558fd.
2020-05-21 11:55:32 +05:30
Field G. Van Zee
6a957d7247 List Gentoo under supported external packages.
Details:
- Add mention of Gentoo Linux under the list of external packages in
  the README.md file. Thanks to M. Zhou for maintaining this package.
2020-05-21 11:50:37 +05:30
Field G. Van Zee
38ecda47e7 Updated 1m draft article link in README.md. 2020-05-21 11:40:00 +05:30
Field G. Van Zee
5f2aee7c5f README.md update to promote supmt dgemm.
Details:
- Updated the sup entry in the "What's New" section of the README.md
  file to promote the multithreaded dgemm sup feature introduced in
  c0558fd.
2020-04-07 14:55:15 -05:00
Field G. Van Zee
f6e6bf73e6 List Gentoo under supported external packages.
Details:
- Add mention of Gentoo Linux under the list of external packages in
  the README.md file. Thanks to M. Zhou for maintaining this package.
2020-02-24 17:52:23 -06:00
Field G. Van Zee
e7431b4a83 Updated 1m draft article link in README.md. 2020-01-06 12:01:41 -06:00
Field G. Van Zee
bbb21fd0a9 Tweaked SIAM/SC Best Prize language in README.md. 2019-11-21 18:15:16 -06:00
Field G. Van Zee
043366f92d Fixed typo in previous commit (SIAM/SC prize). 2019-11-21 18:13:51 -06:00
Field G. Van Zee
05a4d583e6 Added SIAM/SC prize to "What's New" in README.md. 2019-11-21 18:12:24 -06:00
Field G. Van Zee
52059506b2 Added "How to Download BLIS" section to README.md.
Details:
- Added a new section to the README.md, just prior to the "Getting
  Started" section, titled "How to Download BLIS". This section details
  the user's options for obtaining BLIS and lays out four common ways
  of downloading the library. Thanks to Jeff Diamond for his feedback
  on this topic.
2019-10-23 15:26:42 -05:00
Field G. Van Zee
e6f0a96cc5 Updated README.md to ack Facebook as funder. 2019-10-14 17:05:39 -05:00
Isuru Fernando
f4f5170f84 Update README.md (#338) 2019-09-11 07:34:48 -05:00
Field G. Van Zee
54afe3dfe6 Added "Education and Learning" ToC entry to README. 2019-07-23 16:54:28 -05:00
Field G. Van Zee
9f53b1ce7a Added "Education and Learning" section to README.
Details:
- Added a short section after the Intro of the README.md file titled
  "Education and Learning" that directs interested readers to the
  "LAFF-On Programming for High-Performance" massive open online course
  (MOOC) hosted via edX.
2019-07-23 16:50:35 -05:00
Field G. Van Zee
4d19c98110 Trivial change to MixedDatatypes.md link text. 2019-06-08 11:02:03 -05:00
Field G. Van Zee
24965beabe Fixed typo in README.md's MixedDatatypes.md link. 2019-06-08 11:00:22 -05:00
Field G. Van Zee
86c33a4eb2 Tweaked language in README.md related to sup/AMD. 2019-06-05 11:43:55 -05:00
Field G. Van Zee
09ba05c6f8 Added sup performance graphs/document to 'docs'.
Details:
- Added a new markdown document, docs/PerformanceSmall.md, which
  publishes new performance graphs for Kaby Lake and Epyc showcasing
  the new BLIS sup (small/skinny/unpacked) framework logic and kernels.
  For now, only single-threaded dgemm performance is shown.
- Reorganized graphs in docs/graphs into docs/graphs/large, with new
  graphs being placed in docs/graphs/sup.
- Updates to scripts in test/sup/octave, mostly to allow decent output
  in both GNU octave and Matlab.
- Updated README.md to mention and refer to the new PerformanceSmall.md
  document.
2019-06-03 16:53:19 -05:00
Field G. Van Zee
913cf97653 Added docs/Performance.md and docs/graphs subdir.
Details:
- Added a new markdown document, docs/Performance.md, which reports
  performance of a representative set of level-3 operations across a
  variety of hardware architectures, comparing BLIS to OpenBLAS and a
  vendor library (MKL on Intel/AMD, ARMPL on ARM). Performance graphs,
  in pdf and png formats, reside in docs/graphs.
- Updated README.md to link to new Performance.md document.
- Minor updates to CREDITS, docs/Multithreading.md.
- Minor updates to matlab scripts in test/3/matlab.
2019-03-19 16:15:24 -05:00
Field G. Van Zee
5d7d616e8e README.md update re: mixeddt TOMS paper. 2019-01-15 20:52:51 -06:00
Field G. Van Zee
aafbca086e Updated external package language in README.md.
Details:
- Updated/added comments about Fedora, OpenSUSE, and GNU Guix under the
  newly-renamed "External GNU/Linux packages" section. Thanks to Dave
  Love for providing these revisions.
2019-01-07 12:38:21 -06:00
Field G. Van Zee
ad8d9adb09 README.md, CREDITS update.
Details:
- Added "What's New" and "What People Are Saying About BLIS" sections to
  README.md.
- Added missing github handles to various individuals' entries in the
  CREDITS file.
2019-01-03 16:08:24 -06:00
Field G. Van Zee
d1aa87164e README.md update (External packages section).
Details:
- Updated External packages section in anticipation of introducing BLIS
  into Debian package universe. Thanks to M. Zhou for sponsoring BLIS in
  Debian.
2018-12-18 14:52:40 -06:00
Field G. Van Zee
5fec95b99f Implemented mixed-datatype support for gemm.
Details:
- Implemented support for gemm where A, B, and C may have different
  storage datatypes, as well as a computational precision (and implied
  computation domain) that may be different from the storage precision
  of either A or B. This results in 128 different combinations, all
  which are implemented within this commit. (For now, the mixed-datatype
  functionality is only supported via the object API.) If desired, the
  mixed-datatype support may be disabled at configure-time.
- Added a memory-intensive optimization to certain mixed-datatype cases
  that requires a single m-by-n matrix be allocated (temporarily) per
  call to gemm. This optimization aims to avoid the overhead involved in
  repeatedly updating C with general stride, or updating C after a
  typecast from the computation precision. This memory optimization may
  be disabled at configure-time (provided that the mixed-datatype
  support is enabled in the first place).
- Added support for testing mixed-datatype combinations to testsuite.
  The user may test gemm with mixed domains, precisions, both, or
  neither.
- Added a standalone test driver directory for building and running
  mixed-datatype performance experiments.
- Defined a new variation of castm, castnzm, which operates like castm
  except that imaginary values are not touched when casting a real
  operand to a complex operand. (By contrast, in these situations castm
  sets the imaginary components of the destination matrix to zero.)
- Defined bli_obj_imag_is_zero() and substituted calls in lieu of all
  usages of bli_obj_imag_equals() that tested against BLIS_ZERO, and
  also simplified the implementation of bli_obj_imag_equals().
- Fixed bad behavior from bli_obj_is_real() and bli_obj_is_complex()
  when given BLIS_CONSTANT objects.
- Disabled dt_on_output field in auxinfo_t structure as well as all
  accessor functions. Also commented out all usage of accessor
  functions within macrokernels. (Typecasting in the microkernel is
  still feasible, though probably unrealistic for now given the
  additional complexity required.)
- Use void function pointer type (instead of void*) for storing function
  pointers in bli_l0_fpa.c.
- Added documentation for using gemm with mixed datatypes in
  docs/MixedDatatypes.md and example code in examples/oapi/11gemm_md.c.
- Defined level-1d operation xpbyd and level-1m operation xpbym.
- Added xpbym test module to testsuite.
- Updated frame/include/bli_x86_asm_macros.h with additional macros
  (courtsey of Devin Matthews).
2018-10-15 16:37:39 -05:00
Field G. Van Zee
de07840ba5 Whitespace, https updates to README.md.
Details:
- Reformatted to fit all lines within 80 columns, unless a link is too
  long to fit on a single line.
- Changed some links from http to https.
2018-10-03 13:57:25 -05:00
Field G. Van Zee
0c3cd00ba7 More README.md updates.
Details:
- Replaced much of "Getting Started" section with a shortened version of
  the bullet list of documentation currently shown in the github wiki
  page. Thanks to Devangi Parikh for her feedback in this change.
2018-10-01 16:18:25 -05:00
Field G. Van Zee
8eaf34bd23 Very minor README.md update. 2018-10-01 14:29:07 -05:00
Field G. Van Zee
599090e0eb README.md update.
Details:
- Added language mentioning SHPC group to Introduction.
2018-10-01 14:04:30 -05:00
Field G. Van Zee
c03728f1f4 Various minor cleanups.
Details:
- Rewrote bli_winsys.c to define bli_setenv() and bli_sleep()
  unconditionally, but differently for Windows and non-Windows, but
  then disabled the definition of bli_setenv() entirely since BLIS
  no longer needs to set environment variables. Updated bli_winsys.h
  accordingly, and call bli_sleep() from within testsuite instead of
  sleep() directly.
- Use
    #if !defined(_POSIX_BARRIERS) || (_POSIX_BARRIERS != 200809L)
  instead of
    #if !defined(_POSIX_BARRIERS) || (_POSIX_BARRIERS < 0)
  when guarding against local definition of pthread barrier in
  testsuite. (The description for unistd.h implies that _POSIX_BARRIERS
  should always be set to 200809L when barriers are supported, though I
  won't be surprised if we encounter a case in the future where it is
  set to something else such as 1 while still supported.)
- Removed old _VERS_CONF_INST definitions and installation rules in
  top-level Makefile. These are no longer needed because we no longer
  output libraries with the version and configuration name as
  substrings.
- Comment/whitespace updates in Makefile, config.mk.in, common.mk,
  configure, bli_extern_defs.h, and test_libblis.h.
- Added mention of 1m to README.md and other trivial tweaks.
2018-09-10 17:54:27 -05:00
Field G. Van Zee
e358d5e497 README.md update (Funding section). 2018-08-16 12:18:45 -05:00
Field G. Van Zee
4f60d0288e README.md, comment updates.
Details:
- Added links, and sandbox language to README.md.
- Adjusted some comments in high-level level-3 object functions to make
  clear what bli_thread_init_rntm() does.
2018-07-30 19:22:57 -05:00
Field G. Van Zee
922a1c05e0 More tweaks to README.md. 2018-07-28 20:15:55 -05:00
Field G. Van Zee
5438375a03 Fixed link in README.md. 2018-07-28 16:34:21 -05:00
Field G. Van Zee
89c8806e3a Minor doc fixes to previous commit. 2018-07-28 16:30:56 -05:00
Field G. Van Zee
b8c7574f84 README.md, typed/object API updates.
Details:
- Updated the typed and object APIs to include language on the rntm_t
  parameters in the expert interfaces.
- Updated README to include link to object API.
2018-07-28 16:27:09 -05:00
Field G. Van Zee
e78e71d549 Added README.md mention/link to examples/tapi.
Details:
- Added language to README.md to bring the reader's attention to the
  example code for the typed API (in addition to those for the object
  API).
2018-07-07 20:18:09 -05:00
Field G. Van Zee
419ffb1585 Updates to README.md.
Details:
- Updated wiki links according to renamed/relocated files in 'docs'.
- Converted links to relative paths.
- Added link to docs/Multithreading.md.
2018-07-07 20:14:23 -05:00