BLAST Forum MINUTES

February 19-20, 1996

Embassy Suites, Nashville, TN


February 19, 1996

Jack Dongarra opened the meeting by welcoming everyone and inviting everyone to introduce themselves. He then gave a brief summary of the BLAS Technical Workshop held in November, 1995 in Knoxville, TN, and the Birds-Of-A-Feather session held at SuperComputing '95 in San Diego, CA.

The discussion began with the question ``What do we want to accomplish?''. Basic functionality was stressed along with who will benefit from our efforts. Our efforts should leverage from existing technology and provide backward compatibility. No particular programming language will be primary, instead we will discuss syntax and semantics that apply to Fortran 77, Fortran 90, C, and C++. We discussed portability and efficiency and at what levels of the interface each is most important. It was proposed that we need to provide testing software and specifications for BLAS routines in general. It would be good to supply reference implementations of what is agreed on as we identify and define the interface. Matrix creation routines were proposed for the parallel BLAS, and ``multiple instances'' routines were proposed for the dense serial BLAS. The inclusion of interval BLAS was also proposed.

Jack Dongarra then displayed a slide from Mike Heroux about an update to the Sparse BLAS Toolkit.

The idea of ``layering'' of the BLAS packages in a hierarchical view of development was presented. We propose to build an object-based interface on the top of the Lite BLAS. A straw vote was taken on the issue of whether the user interface should be object-based or lite-based. Thirteen people voted to discuss both issues together, zero people voted to discuss solely object-based, and ten people voted to discuss solely lite-based BLAS.

BLAS Lite would provide a highly efficient set of computational kernels for basic linear algebra operations. The interface would be light weight in the sense that they would have little overhead and provide for good performance on all problem sizes, in particular small size problems.

The interface would have

Jack Dongarra proposed that the rules for the meeting be adopted that are similar to those that were established for the MPI and HPF Forum meetings. For a preliminary set of forum rules for discussion see: rules

Issues of advertising and mailing lists were also discussed. It was decided that an aggressive strategy should be used to encourage more application programmers and hardware and software vendors to attend.

It was decided to restrict discussion to 3 primary meta-subgroups:

Barry Smith presented a discussion on abstract functionality for all versions of the BLAS. His basic question was ``What should the BLAS be?''. He chose to ignore the issues specific to dense, sparse, or parallel BLAS, and instead discuss the general functionality issues pertaining to the different types. A second question was: ``Is functionality directly related to parallelism?''. Again the issue of ``multiple instances'' was discussed. There are different ways of classifying functionality -- BLAS-like and tensor notation. Should we extend our classification of the BLAS to a different notation?

It was concluded that we need input from the user community on the most needed functionality. We will create a web page to present our proposed functionality and ask for comments and suggestions.

After a break, Andrew Lumsdaine presented a proposal for an object-based interface for the BLAS. He began by asking

Some of the key questions that were addressed were:

  1. Is a vector a matrix or something else?
  2. Are sparsity, symmetry, triangular attributes or should they be different types?

On question #1, Robert van de Geijn strongly suggested that vectors and matrices should be considered separately. He proposed that we consider vectors, multi-vectors, matrices and multi-matrices. This view was seconded was several people in the audience including those proposing the inclusion of ``multiple instances'' routines in the BLAS.

On question #2, Barry Smith suggested that we consider them as both, and proposed that we prepare a list of attributes.

During the discussion of the object-based interface, Andrew Lumsdaine mentioned that it may be important to consider the effects of new parts of the ANSI C++ standard, especially the Standard Template Library.

It was also proposed that we create and provide class libraries. We should propose class definitions for each language, and these will live on top of the same kernels. We would be restricted by the shared features of all four languages. The ``lite'' kernels are language independent, and only at the higher level do the interfaces need to interact with the specifics of the language.

It was then asked what storage formats should be supported. Should the formats be explicit (since different formats offer different performance at different stages), and should the functions be ``objectified'', i.e., persistent functions? It was decided that we should allow matrix free formats, and allow arbitrary block sizes.

And finally, Anne Trefethen presented her remarks on library development as it was done in the CMSSL library at Thinking Machines. She presented object-based examples, shifts, poly-shifts (shifts from multiple dimensions), matrix extraction, and partitioned gather/scatter.

After dinner, Robert van de Geijn presented a brief session to discuss his ideas on matrix distribution in the parallel setting.


February 20, 1996

Jack Dongarra opened the morning session with a summary of the previous day's discussions. The first topic of the morning was a continuation of the discussion of the object-based BLAS interface, which was again led by Andrew Lumsdaine. During this session, the discussion was focused on categorizing important issues to be addressed regarding objet-based BLAS. Besides those from the previous object-based BLAS session, the following issues were raised:

Next, Robert van de Geijn presented an overview of hp-adaptive methods in order to illustrate some of the issues that arise in real applications. (The need for involvement from the applications community was a recurring theme throughout the meeting.) One new issue that was brought up by Robert's example was the need for providing matrices that can be dynamically sized.

After a short break, the meeting resumed and Barry Smith began with an overview of his impressions of the previous day's discussions. He presented a chart to illustrate the interactions between the so-called lite level, the object-based level, the language bindings, and the BLAS compatibility layer. Interacting with all of these was the specification of functionality.

Barry then presented an example of lite-level and object-level code to illustrate what he perceived to be the important differences. He stressed the importance of clearly distinguishing between the two levels in terms of their requirements. Anne Trefethen raised the important point that even though the forum is initially considering the design of sequential functions that it is extremely important to consider the impact of our design decisions on future use of the functions by parallel libraries (in particular the parallel BLAS).

Some discussion of language interfaces followed and there was some debate about what the F77 and C interfaces should look like. van de Geijn presented an example of a F77 parallel Cholesky factorization using an object-flavored library. Some of the Fortran programmers in the audience were not comfortable with the programming practices used in the example and were not certain whether an object-based interface would find wide acceptance in the F77 community. Barry Smith then suggested that perhaps an object-based interface for F77 should not be supported. Lumsdaine mentioned that in the MPI Forum, such issues are handled by letting interested parties work on the areas that are of concern to them, i.e., if someone wants F77 support, they should propose the interface and participate in the BLAST forum.

Following lunch, Linda Kaufman led a discussion of BLAS functionality. The primary issues discussed were

Thread safety was also raised as a concern.

Sven Hammarling next discussed a proposal from Demmel and Kahan for extended precision BLAS. This was felt to be a difficult issue because of the need for hardware support in order to obtain high performance. On the other hand, the proposal was felt to be a reasonable one.

Support for interval arithmetic was also discussed. Jack Dongarra asked Chenyi Hu briely introduced interval computing. Hu suggested to establish an interval BLAS subgroup.

Dongarra wrapped up the meeting by establishing the following subgroups and their leaders:

Mailing lists would be setup for these subgroups as well as a general mailing list and a mailing list for people who have attended the Forum.

A Web page will be set up and advertised and will be used to gather comments on the forum discussions. In particular, we are interested in finding out what functionality the user community feels to be important.

The dates of the next forum meetings are:

Jack Dongarra mentioned that he would investigate possibilities for travel funds (similar to MPI). These travel funds are intended to partially reimburse travel for US academic participation.

The meeting was then adjourned by Jack Dongarra at 3:00 PM.

Attendees list for the February 19-20, 1996 BLAST Forum Meeting

Satish Balay         ANL                       balay@mcs.anl.gov
Puri Bangalore       Miss. State Univ.         puri@cs.msstate.edu
Phil Bording         Univ. of Texas, Austin    bording@utig.ig.utexas.edu
Andrew Cleary        Univ. of TN               cleary@cs.utk.edu
John Dempsey         SUNY Albany               dempsey@cs.albany.edu
Jack Dongarra        Univ. of TN / ORNL        dongarra@cs.utk.edu
Bruce Greer          Intel -- WTL              bruce_s_greer@ccm.jf.intel.com
Sven Hammarling      NAG, UK / Univ. of TN     hammarli@cs.utk.edu
Chenyi Hu            Univ. of Houston-Downtown chu@uh.edu
Naoki Iwata          NEC Systems Laboratory    iwata@hstc.necsyl.com
Chandrika Kamath     DEC                       kamath@caldec.enet.dec.com
Linda Kaufman        Bell Labs                 lck@research.att.com
Hsin-Ying Lin        HP Convex Technology Ctr. lin@rsn.hp.com
Andrew Lumsdaine     Univ. of Notre Dame       Andrew.Lumsdaine@nd.edu
Joan McComb          IBM Poughkeepsie          mccomb@vnet.ibm.com
Esmond Ng            ORNL                      ngeg@ornl.gov
Susan Ostrouchov     Univ. of TN               susan@cs.utk.edu
Antoine Petitet      Univ. of TN               petitet@cs.utk.edu
Padma Raghavan       Univ. of TN               padma@cs.utk.edu
Barry Smith          ANL                       bsmith@mcs.anl.gov
Anne Trefethen       Cornell Theory Center     aet@tc.cornell.edu
Robert van de Geijn  Univ. of Texas, Austin    rvdg@cs.utexas.edu
Jerzy Wasniewski     UNI-C, Denmark            jerzy.wasniewski@uni-c.dk
Clint Whaley         Univ. of TN               rwhaley@cs.utk.edu
Yuan-Jye Jason Wu    ANL                       jwu@mcs.anl.gov