This 'Class Library' combines the 'object-oriented' features of Fortran 90 with the parallel extensions of Co-Array Fortran to provide basic linear algebra 'objects' such as blocked vectors and matrices and basic linear algebra 'methods' such as matrix multiplication and LU decomposition. It is a work in progress and is made available now for comment and criticism. It is intended to remove much of the drudgery from writing parallel algorithms and is placed here to encourage more people to give CAF a try.
The code runs on a T3E, which is the only machine available with a CAF compiler. To build the library, download the file cafClassLibrary.tar expand it with:
tar -xvf cafClassLibrary.tarand do a make:
make -f makelu
You will then have an executable file called main that you can run, for example, on 4 processors:
mpprun -n4 main
Comments and suggestions on the design and implementation of the 'objects' and 'methods' are welcome. Send them to Bob Numrich who will maintain the master copy of the library.