Newsgroups: comp.unix.cray,comp.parallel.pvm
From: "D. Jain" <D.Jain@ncl.ac.uk>
Subject: String passing between Fortran & C on a Cray T3D
Organization: University of Newcastle upon Tyne, UK
Date: 14 Feb 1995 12:12:12 GMT
Message-ID: <3hq6ms$dis@whitbeck.ncl.ac.uk>

Quick call for some help on what seems like a trivial problem but which we havent
been able to solve:

We are using a Cray T3D to carry out Solid State Physics calculations. The
parallelization is carried out by using pvm calls and libraries such as
scalapack (version 2), pbblas, pblas, pblacs. Now for our problem ...

When passing strings between C and Fortran routines we encountered "operand out
of range" errors. Eventually we discovered that fortran, when passing strings,
passes additional "phantom" integers which equal 8* the length of the string.
Adding these extra variables to the call statement did the trick for most of the
calls however this didnt work for all. In some cases there are calls (to the
pbblas routines) which pass, say, 2 strings. The first is passed correctly but
the second results in a crash when it is accessed. On investigation the second
seems to result in a null pointer being passed. We have tried various test
routines which use the same call as the pbblas routine and our routines seem to
work.

Anyone have any clues? Of course I can supply more details on this if anyone
thinks they can help. At present we are converting library routines written in C
to fortran in a mad panic because of impending deadlines. This surely isnt the
solutions! HELP!

(we do think this is problem may be specific to the Cray T3D which we know isnt
supported by the generic PVM)

Cheers
Deepak 


-- 
The storms will pass      ! Deepak Jain  IRC Nick: Toon  !
It won't be long now.     ! Email:d.jain@newcastle.ac.uk !
The storms will pass      ! PHONE (091) 2227360          !
But my love lasts forever.! http://www.ncl.ac.uk/~n04ck/ !

