The CM-5 version of CRL 1.0 was developed and debugged on a 128-node system with Ross (32 MHz SPARC v.7) processors; the system was running CMOST 7.4 Final using the CMMD 3.3 message-passing libraries. We believe that CRL should also work fine on CM-5 systems with new (SuperSPARC ``Viking'') processors and/or those running the previous software release (CMOST 7.3 and CMMD 3.2).
To build CRL 1.0 for the CM-5:
unix% gunzip crl-1.0.tar.gzThis will produce an uncompressed version of crl-1.0.tar.gz named crl-1.0.tar (and will also remove the compressed version).
unix% tar xf crl-1.0.tarThis will create a subdirectory of the current working directory called crl-1.0 and unpack the CRL 1.0 distribution into it.
unix% cd crl-1.0/srcThis directory contains the sources for the CRL library.
unix% make -f Makefile.CM5Once this completes, you are done building CRL. Applications intended for use with the CM-5 version of CRL should be linked against the resulting object file (libcrl.o).
To build and run the example application shown in Appendix A:
unix% cd ../apps/example
unix% make -f Makefile.CM5The end result of this process should be a ready-to-run example binary.
unix% jrun -proc 32 -mem 100m -time 1min -- example
Applications in the other subdirectories of crl-1.0/apps can be compiled and run in a similar manner.
When using CRL on the CM-5, the programmer is allowed to disable interrupts (message delivery). If this is done, the user is responsible for explicitly polling the network and should not assume anything about whether or not calling CRL functions will cause any messages to be drained from the network.
The point where the performance of the two bulk transfer mechanisms
(scopy and that implemented in cm5_fast_data.c
) crosses
over (and thus CRL decides to switch between them) is probably very
platform (hardware, CMOST, and CMMD version) dependent. The value
supplied in the CRL 1.0 sources (256 bytes) was obtained through
hand tuning on our development platform. (See the comment above the
#define
for DataXover in proto.c.)
The Makefiles supplied for use with the CM-5 version of CRL 1.0 assume that the GNU C compiler (gcc) is available. If gcc is not available in your local environment or you would like to use a different C compiler, you will need to edit the Makefile.CM5 files in crl-1.0/src and crl-1.0/apps/* and change the CC = gcc lines to name the C compiler that should be used instead.