Subject: Using mpiJava-1.1 with JDK-1.2_01 and Sun ClusterTools 3.0 (fwd)

From: Bryan Carpenter <[email-masked]>
Date: Thu, 27 May 1999 16:23:56 -0400 (EDT)

FYI.  Attachments deleted.

Bryan

----- Forwarded message from Doug MacDonald - Sun High Performance Computing -----

>From [email-masked] Wed May 26 21:41 EDT 1999
Message-Id: <[email-masked]>
Date: Wed, 26 May 1999 21:41:28 -0400 (EDT)
From: Doug MacDonald - Sun High Performance Computing <[email-masked]>
Reply-To: Doug MacDonald - Sun High Performance Computing <[email-masked]>
Subject: Using mpiJava-1.1 with JDK-1.2_01 and Sun ClusterTools 3.0
To: [email-masked]
Cc: [email-masked], [email-masked],
        [email-masked]
MIME-Version: 1.0
X-Mailer: dtmail 1.2.1 CDE Version 1.2.1 SunOS 5.6 sun4u sparc 
Content-Type: MULTIPART/mixed; BOUNDARY=Herd_of_Buffalo_432_000
Content-Length: 15573
X-Status: 
X-Keywords:
X-UID: 1

--Herd_of_Buffalo_432_000
Content-Type: TEXT/plain; charset=us-ascii
Content-MD5: XxUQC7cZqJ8EvPpnm+qqHQ==

Ooops, braindeath - I attached the wrong bits.  Here are my changes...

Doug

------------- Begin Forwarded Message -------------

From: Doug MacDonald - Sun High Performance Computing 
<[email-masked]>
Subject: Using mpiJava-1.1 with JDK-1.2_01 and Sun ClusterTools 3.0
To: [email-masked]
Cc: [email-masked], [email-masked], 
[email-masked]

Dear Bryan:

I thought it would be a good idea to get my feet wet with the NPAC
mpiJava wrapper library before the meeting.  I have got it (i.e.,
mpijava-1.1, with file dates like 25-Aug-98) working with JDK-1.2_01
and a version of libmpi.so that, although internal, is close to the
FCS version of Sun ClusterTools 3.0.  

The attached .tar.gz file contains a partial directory tree with the
distribution files that I needed to change for it to work with our
upcoming HPC software release.  "Work" means that the mechanics of
JDK, mpiJava, and ClusterTools 3.0 now work together well enough to
run the tests (but see caveats below).  Many of the "make check" tests
pass, but not all pass and at least on hangs.  This isn't surprising,
considering the single-CPU platform I've been using!

Note: It's a preliminary fileset and ymmv.  Please don't distribute
this or share it with anyone outside your local mpiJava team.  I'm
sending it only to give you a heads up on what will need to be changed
to run it with ClusterTools 3.0.  For example, it may be of interest
to diff these files with the distributed versions to see what I
changed.  I realize that (afaik) you don't yet have access to the 3.0
Sun HPC software.

A couple comments on what I encountered:

I had to generate a new configure script - note that the rules at the
end of the top-level Makefile are uncommented back in.

The parallel task launching commands have changed with Sun
ClusterTools 3.0, and tmrun is no longer available.  The 3.0 release
will offer, as a featured option, integrated support for LSF.
Alternatively, one can order CRE, a subset of the RTE runtime
environment from our 2.0 release.  For my own convenience, I have
implemented only CRE versions of the scripts, in which the "tmrun"
command has been replaced by "mprun".  The parameters you were using
are the same.  Adding LSF support will need to be done at some point,
but won't be difficult.

Linking with the tmcc command should no longer be necessary, as 3.0
libraries have dynamic linker dependencies built in.  Some of the file
changes replaced the @CC@ metasymbol with an absolute pathname to
Sun's cc compiler.  This absolute pathname won't work, but it's easy
to change to whatever you want to use.

I ran into a linker problem when mpiJava programs attempted to dlopen
the mpiJava wrappers library.  Solaris 2.6 patch # 105490-05 is one of
the required patches for JDK 1.2, according to the public Sun JDK
site.  Don't use it.  You can run into problems if you use any version
of this patch below 105490-07.  The behavior (if you have the
105490-05 version of the patch installed) is a failure in
System.loadLibrary() that Java reports as if it couldn't locate
mpiJava-1.1/lib/libmpijava.so, even when it actually has opened the
file and mmapped to it.  I filed a doc bug against the Sun JDK site,
and expect some kind of notice to appear there shortly.  In the
meantime, you should use the -07 version of this patch.

In the tests area, although prunjava allowed subsumption of a user's
existing CLASSPATH envvar by the test, it did not do this with
LD_LIBRARY_PATH.  This was inconvenient, as we have MPI .so files here
and there to run against.  I changed prunjava.in to subsume user's
LD_LIBRARY_PATH as well.

That's all that's new (at least off the top of my head).  I look forward to 
meeting you in a couple of weeks.

Regards,

  Doug MacDonald    HPC Engineering    Sun Microsystems Computer Corporation
  voice: (781) 442-3127                1 Network Drive, Burlington, MA 01803
  fax:   (781) 442-1542                   email: [email-masked]
  surface mail:        MS UBUR03-411, PO Box 4003, Burlington, MA 01803-0903

------------- End Forwarded Message -------------