mirror of
https://github.com/amd/blis.git
synced 2026-06-06 04:34:02 +00:00
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.
This commit is contained in:
14
CREDITS
14
CREDITS
@@ -24,7 +24,7 @@ but many others have contributed code and feedback, including
|
||||
Roman Gareev @gareevroman
|
||||
Richard Goldschmidt @SuperFluffy
|
||||
Chris Goodyer
|
||||
John Gunnels (IBM, T.J. Watson Research Center)
|
||||
John Gunnels @jagunnels (IBM, T.J. Watson Research Center)
|
||||
Ali Emre Gülcü @Lephar
|
||||
Jeff Hammond @jeffhammond (Intel)
|
||||
Jacob Gorm Hansen @jacobgorm
|
||||
@@ -35,8 +35,8 @@ but many others have contributed code and feedback, including
|
||||
Stefan Husmann @stefanhusmann
|
||||
Francisco Igual @figual (Universidad Complutense de Madrid)
|
||||
Tony Kelman @tkelman
|
||||
Lee Killough (Cray)
|
||||
Mike Kistler (IBM, Austin Research Laboratory)
|
||||
Lee Killough @leekillough (Cray)
|
||||
Mike Kistler @mkistler (IBM, Austin Research Laboratory)
|
||||
Michael Lehn @michael-lehn
|
||||
Dave Love @loveshack
|
||||
Tze Meng Low (The University of Texas at Austin)
|
||||
@@ -54,7 +54,7 @@ but many others have contributed code and feedback, including
|
||||
Mathieu Poumeyrol @kali
|
||||
@qnerd
|
||||
Michael Rader @mrader1248
|
||||
Pradeep Rao (AMD)
|
||||
Pradeep Rao @pradeeptrgit (AMD)
|
||||
Aleksei Rechinskii
|
||||
Karl Rupp @karlrupp
|
||||
Martin Schatz (The University of Texas at Austin)
|
||||
@@ -68,13 +68,13 @@ but many others have contributed code and feedback, including
|
||||
Vladimir Sukarev
|
||||
Santanu Thangaraj (AMD)
|
||||
Rhys Ulerich @RhysU (The University of Texas at Austin)
|
||||
Robert van de Geijn (The University of Texas at Austin)
|
||||
Kiran Varaganti (AMD)
|
||||
Robert van de Geijn @rvdg (The University of Texas at Austin)
|
||||
Kiran Varaganti @kvaragan (AMD)
|
||||
Natalia Vassilieva (Hewlett Packard Enterprise)
|
||||
Zhang Xianyi @xianyi (Chinese Academy of Sciences)
|
||||
Benda Xu @heroxbd
|
||||
Costas Yamin @cosstas
|
||||
Chenhan Yu (The University of Texas at Austin)
|
||||
Chenhan Yu @ChenhanYu (The University of Texas at Austin)
|
||||
M. Zhou @cdluminate
|
||||
|
||||
BLIS's development was partially funded by grants from industry
|
||||
|
||||
102
README.md
102
README.md
@@ -2,6 +2,20 @@
|
||||
|
||||
[](https://travis-ci.org/flame/blis)
|
||||
|
||||
Contents
|
||||
--------
|
||||
|
||||
* **[Introduction](#introduction)**
|
||||
* **[What's New](#whats-new)**
|
||||
* **[What People Are Saying About BLIS](#what-people-are-saying-about-blis)**
|
||||
* **[Key Features](#key-features)**
|
||||
* **[Getting Started](#getting-started)**
|
||||
* **[Documentation](#documentation)**
|
||||
* **[External Linux Packages](#external-linux-packages)**
|
||||
* **[Discussion](#discussion)**
|
||||
* **[Contributing](#contributing)**
|
||||
* **[Citations](#citations)**
|
||||
* **[Funding](#funding)**
|
||||
|
||||
Introduction
|
||||
------------
|
||||
@@ -21,12 +35,15 @@ calls](http://www.netlib.org/lapack/lug/node145.html).
|
||||
An [object-based API](docs/BLISObjectAPI.md) unique to BLIS is also available.
|
||||
|
||||
For a thorough presentation of our framework, please read our
|
||||
[ACM Transactions on Mathematical Software (TOMS)](https://toms.acm.org/)
|
||||
journal article, ["BLIS: A Framework for Rapidly Instantiating BLAS
|
||||
Functionality"](http://www.cs.utexas.edu/users/flame/pubs/blis1_toms_rev3.pdf).
|
||||
For those who just want an executive summary, please see the next section.
|
||||
Functionality"](http://dl.acm.org/authorize?N91172).
|
||||
For those who just want an executive summary, please see the
|
||||
[Key Features](#key-features) section below.
|
||||
|
||||
In a follow-up article, ["The BLIS Framework: Experiments in
|
||||
Portability"](http://www.cs.utexas.edu/users/flame/pubs/blis2_toms_rev3.pdf),
|
||||
In a follow-up article (also in [ACM TOMS](https://toms.acm.org/)),
|
||||
["The BLIS Framework: Experiments in
|
||||
Portability"](http://dl.acm.org/authorize?N16240),
|
||||
we investigate using BLIS to instantiate level-3 BLAS implementations on a
|
||||
variety of general-purpose, low-power, and multicore architectures.
|
||||
|
||||
@@ -59,6 +76,58 @@ and [collaborators](http://shpc.ices.utexas.edu/collaborators.html),
|
||||
[publications](http://shpc.ices.utexas.edu/publications.html),
|
||||
and [other educational projects](http://www.ulaff.net/) (such as MOOCs).
|
||||
|
||||
What's New
|
||||
----------
|
||||
|
||||
* **BLIS is now in Debian Unstable!** Thanks to Debian developer-maintainers
|
||||
[M. Zhou](https://github.com/cdluminate) and
|
||||
[Nico Schlömer](https://github.com/nschloe) for sponsoring our package in Debian.
|
||||
Their participation, contributions, and advocacy were key to getting BLIS into
|
||||
the second-most popular Linux distribution (behind Ubuntu, which Debian packages
|
||||
feed into). The Debian tracker page may be found
|
||||
[here](https://tracker.debian.org/pkg/blis).
|
||||
|
||||
* **BLIS now supports mixed-datatype gemm.** The `gemm` operation may now be
|
||||
executed on operands of mixed domains and/or mixed precisions. Any combination
|
||||
of storage datatype for A, B, and C is now supported, along with a separate
|
||||
computation precision that can differ from the storage precision of A and B.
|
||||
And even the 1m method now supports mixed-precision computation
|
||||
(draft paper forthcoming).
|
||||
|
||||
* **BLIS now implements the 1m method.** Let's face it: writing complex
|
||||
assembly `gemm` microkernels for a new architecture is never a priority--and
|
||||
now, it almost never needs to be. The 1m method leverages existing real domain
|
||||
`gemm` microkernels to implement all complex domain level-3 operations. For
|
||||
more details, please see our [ACM TOMS](https://toms.acm.org/) journal article
|
||||
submission ([current
|
||||
draft](http://www.cs.utexas.edu/users/flame/pubs/blis6_toms_rev2.pdf)).
|
||||
|
||||
What People Are Saying About BLIS
|
||||
---------------------------------
|
||||
|
||||
*["This is an awesome library."](https://github.com/flame/blis/issues/288#issuecomment-447488637)* ... *["I want to thank you and the blis team for your efforts."](https://github.com/flame/blis/issues/288#issuecomment-448074704)* ([@Lephar](https://github.com/Lephar))
|
||||
|
||||
*["Any time somebody outside Intel beats MKL by a nontrivial amount, I report it to the MKL team. It is fantastic for any open-source project to get within 10% of MKL... [T]his is why Intel funds BLIS development."](https://github.com/flame/blis/issues/264#issuecomment-428673275)* ([@jeffhammond](https://github.com/jeffhammond))
|
||||
|
||||
*["So BLIS is now a part of Elk."](https://github.com/flame/blis/issues/267#issuecomment-429303902)* ... *["We have found that zgemm applied to a 15000x15000 matrix with multi-threaded BLIS on a 32-core Ryzen 2990WX processor is about twice as fast as MKL"](https://github.com/flame/blis/issues/264#issuecomment-428373946)* ... *["I'm starting to like this a lot."](https://github.com/flame/blis/issues/264#issuecomment-428926191)* ([@jdk2016](https://github.com/jdk2016))
|
||||
|
||||
*["I [found] BLIS because I was looking for BLAS operations on C-ordered arrays for NumPy. BLIS has that, but even better is the fact that it's developed in the open using a more modern language than Fortran."](https://github.com/flame/blis/issues/254#issuecomment-423838345)* ([@nschloe](https://github.com/nschloe))
|
||||
|
||||
*["The specific reason to have BLIS included [in Linux distributions] is the KNL and SKX [AVX-512] BLAS support, which OpenBLAS doesn't have."](https://github.com/flame/blis/issues/210#issuecomment-393126303)* ([@loveshack](https://github.com/loveshack))
|
||||
|
||||
*["All tests pass without errors on OpenBSD. Thanks!"](https://github.com/flame/blis/issues/202#issuecomment-389691543)* ([@ararslan](https://github.com/ararslan))
|
||||
|
||||
*["Thank you very much for your great help!... Looking forward to benchmarking."](https://github.com/flame/blis/issues/180#issuecomment-375895449)* ([@mrader1248](https://github.com/mrader1248))
|
||||
|
||||
*["Thanks for the beautiful work."](https://github.com/flame/blis/issues/163#issue-286575452)* ([@mmrmo](https://github.com/mmrmo))
|
||||
|
||||
*["[M]y software currently uses BLIS for its BLAS interface..."](https://github.com/flame/blis/issues/129#issuecomment-302904805)* ([@ShadenSmith](https://github.com/ShadenSmith))
|
||||
|
||||
*["[T]hanks so much for your work on this! Excited to test."](https://github.com/flame/blis/issues/129#issuecomment-341565071)* ... *["[On AMD Excavator], BLIS is competitive to / slightly faster than OpenBLAS for dgemms in my tests."](https://github.com/flame/blis/issues/129#issuecomment-341608673)* ([@iotamudelta](https://github.com/iotamudelta))
|
||||
|
||||
*["BLIS provided the only viable option on KNL, whose ecosystem is at present dominated by blackbox toolchains. Thanks again. Keep on this great work."](https://github.com/flame/blis/issues/116#issuecomment-281225101)* ([@heroxbd](https://github.com/heroxbd))
|
||||
|
||||
*["I want to definitely try this out..."](https://github.com/flame/blis/issues/12#issuecomment-48086295)* ([@ViralBShah](https://github.com/ViralBShah))
|
||||
|
||||
Key Features
|
||||
------------
|
||||
@@ -176,7 +245,7 @@ matrix multiplication (`gemm`) operation, providing 128 different possible type
|
||||
combinations, which, when combined with existing transposition, conjugation,
|
||||
and storage parameters, enables 55,296 different `gemm` use cases. For more
|
||||
details, please see the documentation on [mixed datatype](docs/MixedDatatypes.md)
|
||||
support.
|
||||
support (draft paper forthcoming).
|
||||
|
||||
Getting Started
|
||||
---------------
|
||||
@@ -214,32 +283,41 @@ directory). Slightly longer descriptions of each document may be found via in
|
||||
the project's [wiki](https://github.com/flame/blis/wiki) section.
|
||||
|
||||
**Documents for everyone:**
|
||||
|
||||
* **[Build System](docs/BuildSystem.md).** This document covers the basics of
|
||||
configuring and building BLIS libraries, as well as related topics.
|
||||
|
||||
* **[Testsuite](docs/Testsuite.md).** This document describes how to run
|
||||
BLIS's highly parameterized and configurable test suite, as well as the
|
||||
included BLAS test drivers.
|
||||
|
||||
* **[BLIS Typed API Reference](docs/BLISTypedAPI.md).** Here we document the
|
||||
so-called "typed" (or BLAS-like) API. This is the API that many users who are
|
||||
already familiar with the BLAS will likely want to use. You can find lots of
|
||||
example code for the typed API in the [examples/tapi](examples/tapi) directory
|
||||
included in the BLIS source distribution.
|
||||
|
||||
* **[BLIS Object API Reference](docs/BLISObjectAPI.md).** Here we document
|
||||
the object API. This is API abstracts away properties of vectors and matrices
|
||||
within `obj_t` structs that can be queried with accessor functions. Many
|
||||
developers and experts prefer this API over the typed API. You can find lots of
|
||||
example code for the object API in the [examples/oapi](examples/oapi) directory
|
||||
included in the BLIS source distribution.
|
||||
|
||||
* **[Hardware Support](docs/HardwareSupport.md).** This document maintains a
|
||||
table of supported microarchitectures.
|
||||
|
||||
* **[Multithreading](docs/Multithreading.md).** This document describes how to
|
||||
use the multithreading features of BLIS.
|
||||
|
||||
* **[Mixed-Datatype](docs/MixedDatatype.md).** This document provides an
|
||||
overview of BLIS's mixed-datatype functionality and provides a brief example
|
||||
of how to take advantage of this new code.
|
||||
|
||||
* **[Release Notes](docs/ReleaseNotes.md).** This document tracks a summary of
|
||||
changes included with each new version of BLIS, along with contributor credits
|
||||
for key features.
|
||||
|
||||
* **[Frequently Asked Questions](docs/FAQ.md).** If you have general questions
|
||||
about BLIS, please read this FAQ. If you can't find the answer to your question,
|
||||
please feel free to join the [blis-devel](https://groups.google.com/group/blis-devel)
|
||||
@@ -248,23 +326,28 @@ mailing list and post a question. We also have a
|
||||
anyone can post to (even without joining).
|
||||
|
||||
**Documents for github contributors:**
|
||||
|
||||
* **[Contributing bug reports, feature requests, PRs, etc](CONTRIBUTING.md).**
|
||||
Interested in contributing to BLIS? Please read this document before getting
|
||||
started. It provides a general overview of how best to report bugs, propose new
|
||||
features, and offer code patches.
|
||||
|
||||
* **[Coding Conventions](docs/CodingConventions.md).** If you are interested or
|
||||
planning on contributing code to BLIS, please read this document so that you can
|
||||
format your code in accordance with BLIS's standards.
|
||||
|
||||
**Documents for BLIS developers:**
|
||||
|
||||
* **[Kernels Guide](docs/KernelsHowTo.md).** If you would like to learn more
|
||||
about the types of kernels that BLIS exposes, their semantics, the operations
|
||||
that each kernel accelerates, and various implementation issues, please read
|
||||
this guide.
|
||||
|
||||
* **[Configuration Guide](docs/ConfigurationHowTo.md).** If you would like to
|
||||
learn how to add new sub-configurations or configuration families, or are simply
|
||||
interested in learning how BLIS organizes its configurations and kernel sets,
|
||||
please read this thorough walkthrough of the configuration system.
|
||||
|
||||
* **[Sandbox Guide](docs/Sandboxes.md).** If you are interested in learning
|
||||
about using sandboxes in BLIS--that is, providing alternative implementations
|
||||
of the `gemm` operation--please read this document.
|
||||
@@ -281,12 +364,14 @@ we consider them to be less ideal since they are not as easy to upgrade as
|
||||
That said, some users may prefer binary and/or source packages through their
|
||||
Linux distribution. Thanks to generous involvement/contributions from our
|
||||
community members, the following BLIS packages are now available:
|
||||
- **Debian**. [M. Zhou](https://github.com/cdluminate) has volunteered to
|
||||
|
||||
* **Debian**. [M. Zhou](https://github.com/cdluminate) has volunteered to
|
||||
sponsor and maintain BLIS packages within the Debian Linux distribution. The
|
||||
Debian package tracker can be found [here](https://tracker.debian.org/pkg/blis).
|
||||
(Also, thanks to [Nico Schlömer](https://github.com/nschloe) for previously
|
||||
volunteering his time to set up a standalone PPA.)
|
||||
- **Red Hat/Fedora**. [Dave Love](https://github.com/loveshack) provides rpm
|
||||
|
||||
* **Red Hat/Fedora**. [Dave Love](https://github.com/loveshack) provides rpm
|
||||
packages for x86_64, which he maintains at
|
||||
[Fedora Copr](https://copr.fedorainfracloud.org/coprs/loveshack/blis/).
|
||||
|
||||
@@ -417,7 +502,7 @@ A fifth paper, submitted to ACM TOMS, begins the study of so-called
|
||||
```
|
||||
|
||||
A sixth paper, submitted to ACM TOMS, revisits the topic of the previous
|
||||
article and derives a [superior induced method](http://www.cs.utexas.edu/users/flame/pubs/blis6_toms_rev0.pdf):
|
||||
article and derives a [superior induced method](http://www.cs.utexas.edu/users/flame/pubs/blis6_toms_rev2.pdf):
|
||||
|
||||
```
|
||||
@article{BLIS6,
|
||||
@@ -428,7 +513,6 @@ article and derives a [superior induced method](http://www.cs.utexas.edu/users/f
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
Funding
|
||||
-------
|
||||
|
||||
|
||||
Reference in New Issue
Block a user