This file contains a list of errors that have been reported since the
pre-release of the BLACS. The form of the problem statement will be
Problem X: -
=============================================================
Problem 1: IBM - CMMD MPL
==============
emergency buff allocating twice required storage
Solution 1
==========
Dumn error on my part, simply took out extra multiply.
Problem 2: IBM - MPL
====================
Nonsensical call to mpc_task_set,
Solution 2
==========
Removed call to mpc_task_set.
Problem 3: IBM - CMMD MPL NX PVM
================================
blacs_exit not resetting all values.
Solution 3
==========
Note that calling BLACS after blacs_exit is illegal anyway; won't work
on PVM at all. However, I did not release all of my malloced space,
and this has been fixed.
Problem 4: IBM - CMMD, MPL, NX, PVM
===================================
BLACS_SET sets degree of tree one less than it's supposed to (enabling
the user to try a 0 degree tree, for instance).
Solution 4
==========
To create a one-degree tree, the underlying algorithm accepts nbranches=2
(it counts its own node as a branch). I forgot to increment the user's
setting to account for this. I have now done so.
Problem 5: IBM - MPL
====================
Missing ContxtNum.c routine, being called by Srecv2d00.c and Srecv2dID.c
Solution 5
==========
I screwed up the makefile that extracts the code. Its fixed now.
Problem 6: IBM - CMMD, MPL, NX, PVM
===================================
BLACS_SET sets number of branches for tree topology, which is
not same as we get by a call to BLACS_GET.
Solution 5
==========
I failed to update BLACS_GET when fixing problem 4. It is now fixed.
Problem 7: IBM - Documentation problem
======================================
Also, blacs_set, checks val > 0, then it sets otherwise it gives
error message, but document gives the range of 0 < VAL(1) < Np.
Explanation
===========
The document gives the logical range, 1 .. Np-1. It is an error for
Nbranches (Nb) to be less than 1 (this would be a 0 degree tree).
Setting Nb >= Np, is not illegal, but simply doesn't do anything new.
Nb >= (Np - 1) all produce fully-connected broadcasts. I will
look into making the documentation more explicit.