NXS Message-Passing Library


The NXS library is a small subset of the NX library provided by Intel Corporation for their parallel computers. The NXS library was developed for use with the UNH C* system. However, it can also be used for "directly" programming the Galaxy cluster.

The NXS library provides the following primitives:

IMPORTANT: Either numnodes() or mynode() must be called before any other NXS primitive. These routines will initialize the message-passing library, if it is not already initialized.

You should include nxs.h in any source file using the NXS library.

Programs using NXS should be compiled using the UNH C* driver. The UNH C* driver will locate the NXS header file, will call the C compiler, and will link with the NXS library. See the Galaxy cluster homepage for details on accessing the UNH C* driver.

CAUTION: The UNH C* driver, by default, provides C* versions of the ANSI stdio routines. To use the conventional stdio routines with NXS programs, define the symbol CS__NO_STDIO before including stdio.h.

The C* versions of the stdio routines must be executed by all processors. The processors are synchronized for each operation so that only processor 0 actually does the I/O. The side effects of the I/O operation are then broadcast to the other processors. If you use the C* stdio library with a NXS program, you must call numnodes() or mynode() prior to invoking any I/O operation.


Last modified on October 3, 1996.

Comments and questions should be directed to pjh@cs.unh.edu