Jump to content

Talk:Basic Linear Algebra Subprograms: Difference between revisions

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia
Content deleted Content added
→‎MATTLAS BLAS: I'm done contibuting.
Line 13: Line 13:


I thought it is either called a scalar product or a dot product; scalar dot product sounds ridiculous. <span style="font-size: smaller;" class="autosigned">—Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[Special:Contributions/79.235.154.60|79.235.154.60]] ([[User talk:79.235.154.60|talk]]) 07:41, 15 July 2010 (UTC)</span><!-- Template:UnsignedIP --> <!--Autosigned by SineBot-->
I thought it is either called a scalar product or a dot product; scalar dot product sounds ridiculous. <span style="font-size: smaller;" class="autosigned">—Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[Special:Contributions/79.235.154.60|79.235.154.60]] ([[User talk:79.235.154.60|talk]]) 07:41, 15 July 2010 (UTC)</span><!-- Template:UnsignedIP --> <!--Autosigned by SineBot-->

== MATTLAS BLAS ==

I've twice reverted the introduction of a link to MATTLAS BLAS.[https://en.wikipedia.org/w/index.php?title=Basic_Linear_Algebra_Subprograms&diff=575790628&oldid=575787490][https://en.wikipedia.org/w/index.php?title=Basic_Linear_Algebra_Subprograms&diff=575794819&oldid=575792748] (I was wrong about the age of the project.) The text is:

:;MATTLAS BLAS: A modern task based LGPL BLAS implementation written in C++, currently supporting the AVX instruction set for x86_64. [https://github.com/matthewbadin/MATTLAS]

Following the link to github.com, the project README states:

:MATTLAS (Matt's Linear Algebra Subroutines) is a high performance BLAS implementation. I am using this BLAS (Basic Linear Algebra Subroutines) implementation primarily for research purposes, however, I intend to produce something of high quality that should be competitive with enterprise vendor solutions. MATTLAS is licensed under the GNU Lesser General Public License, version 3. This is a very early alpha, so please submit bugs when you find them. Also, the library currently only supports AVX and x64 on linux.

By its own statements, this implementation is a personal project in "very early alpha". I don't see anything that suggests stature or reliable sources. Consequently, I believe the mention is [[WP:UNDUE]].

The other BLAS implementations are well-known efforts (e.g., MKL and Goto) or at least university efforts. For example, there was a recent addition of [https://en.wikipedia.org/w/index.php?title=Basic_Linear_Algebra_Subprograms&diff=572055895&oldid=570766324 BLIS]; that project has technical reports (the second TR has many coauthors) and claims funding by Microsoft and NSF. Although the technical reports are not secondary sources, both TRs claim they have been submitted to journals or conferences.

The MATTLAS BLAS doesn't yet belong in an encyclopedia. I'd revert it again, but I'm at my basic revlimit. [[User:Glrx|Glrx]] ([[User talk:Glrx|talk]]) 23:54, 4 October 2013 (UTC)

:Actually, there's now a very reliable source that MATTLAS BLAS is an [https://github.com/matthewbadin/MATTLAS/blob/master/README enterprise-quality implementation]. Sarcasm mode off: I've reverted it. This is clearly a [https://www.ics.uci.edu/~mbadin/ one man] project with no mention beyond the guy's various webpages. It has no forks on GitHub, no issues or discussion there or on Launchpad, and it isn't even mentioned in any of his publications. [[User:Qwertyus|Q<small>VVERTYVS</small>]] <small>([[User talk:Qwertyus|hm?]])</small> 22:24, 21 October 2013 (UTC)


== Proposed merge with [[AXPY]] ==
== Proposed merge with [[AXPY]] ==

Revision as of 14:16, 17 January 2014

Should the reference to uBLAS as a BLAS be given a caveat, seeing as it isn't a BLAS implementation but a C++ container class template system?



How about a note for IBM's BLAS tuned for the Cell Processor? Is this important? http://www-03.ibm.com/technology/cell/swlib.html


I created a section with a new heading: Other libraries with Blas functionality. I hope I sorted all the libraries correctly into the two categories.... 16 Feb. 2010. KJ —Preceding unsigned comment added by Kristjan.Jonasson (talkcontribs) 01:05, 16 February 2010 (UTC)[reply]

scalar dot products?

I thought it is either called a scalar product or a dot product; scalar dot product sounds ridiculous. —Preceding unsigned comment added by 79.235.154.60 (talk) 07:41, 15 July 2010 (UTC)[reply]

Proposed merge with AXPY

Articles about single BLAS functions will likely never rise above the level of WP:HOWTO; this one certainly hasn't. QVVERTYVS (hm?) 13:39, 20 October 2013 (UTC)[reply]

  • Support. Covering many subprograms such as AXPY also runs into the problem of creating a reference manual. It is reasonable to have some examples show how different types are handled. Glrx (talk) 22:07, 21 October 2013 (UTC)[reply]

Proposed merge with General Matrix Multiply

Same reasoning as with the former article AXPY, except this one actually some interesting content that does not violate WP:HOWTO. This content should probably be split between the BLAS article and matrix multiplication (unless there's a specific page on matrix product algorithms?). QVVERTYVS (hm?) 21:37, 22 October 2013 (UTC)[reply]

Not an API?

Glrx removed my remark that BLAS is a de facto standard API for linear algebra. However, I do have the idea that it is: there are many different implementations of BLAS, some based on the reference implementation, some not, all sharing (almost) the same calling sequence and output semantics. Doesn't that constitute an API? (Or maybe two APIs, Fortran BLAS and CBLAS?) QVVERTYVS (hm?) 12:55, 11 December 2013 (UTC)[reply]

My edit corrected the use of "function", left the "de facto standard" claim, but removed the term API. BLAS is an interface, and it is a programming interface, but it is not (possibly save the later sparse matrix construction/access routines) intended as an applications programming interface. The 1997 BLAS Quick Reference Guide does not mention API. The 2000 BLAST Forum Standard refers to BLAS as "a specification of a set of kernel routines for linear algebra"; it does not use API even though API was a common term in 2000.
The focus of BLAS is not the applications programmer but rather those programmers who implement numerical libraries for others. LINPACK and LAPACK are APIs; the intention is that applications programmers will directly call the LINPACK and LAPACK interfaces. The text I replaced acknowledges that viewpoint: it claimed that BLAS was "a standard API for linear algebra routines." Routines are not applications, so the statement essentially says BLAS is an API for APIs, a statement that lacks precision.
Google does turn up some hits for BLAS API, but WP is the first hit, and the IBM Software Development Kit for Multicore Acceleration v3.0 Basic Linear Algebra Subprograms Programmer’s Guide and API Reference does not seem to carry much weight (I won't WP:COPYLINK it here). LLL's http://acs.lbl.gov/software/colt/api/cern/colt/matrix/linalg/Blas.html is a hit because BLAS was dumped into an API directory tree for linear algebra; the actual page calls BLAS a set of "High quality 'building block' routines for performing basic vector and matrix operations". Glrx (talk) 17:54, 11 December 2013 (UTC)[reply]
This raises the question what an "application" is. That term can be explained two-fold: either it is a user-facing program, or it's taken relative to BLAS, e.g. Julia/Matlab/NumPy applies BLAS and is therefore an application of it. But if few sources call BLAS an API, and the standard calls it a specification, then I'll use the latter term instead. QVVERTYVS (hm?) 12:13, 16 January 2014 (UTC)[reply]