[comp.hypercube] ncube memory

Lonnie R. Welch (welch-l@osu-eddie.UUCP) (08/07/87)

  I need some help from the ncube wizards out there.  I am trying to write a
program that requires the use of several large data structures.  It seems
that the Host process can only have a data segment of size <= 64k.  None of
the variables in my program are larger than 64k, but the sum of the memory
required by all the variables is > 64k.  Has anyone else found this to be a
problem?  How did you get around this limitation?

Thanks,
Lonnie Welch (welch-l@osu-eddie)

brisco@caip.rutgers.edu (Thomas Paul Brisco) (08/07/87)

In article <370@hubcap.UUCP> Lonnie R. Welch (welch-l@osu-eddie.UUCP) writes:

>    I am trying to write a
> program that requires the use of several large data structures.  It seems
> that the Host process can only have a data segment of size <= 64k.  None of
> the variables in my program are larger than 64k, but the sum of the memory
> required by all the variables is > 64k.  Has anyone else found this to be a
> problem?  How did you get around this limitation?

	You don't state whether you acutally need all of the variables
at a given time or not, but one of my tricks is to manually "data
swap" -- i.e. keep data that is not immediately needed on disk, and
malloc()/free()  space as necesary to achieve you means.
	One other, more crafty but harder, way is to split your
program into 2 processes and do the operations seperately, but
communicating (results) via pipes -- I've found this to be handy when
there are 2 large computations are involved (where both must be on the
host processor), but only the results are really necessary to proceed
in the original process.  Look in n_frun, and see whether you really
need the computations locally, or whether they can be moved out of
(what I call) the "controlling process".

					Tp.
                  -                  ARPA: Brisco@rutgers                  -
                  -  UUCP: (ihnp4!ut-sally, allegra!packard) !caip!brisco  -

"Adam@hubcap.UUCP (08/12/87)

[Contributors:  Please included enough reference to set context.
		Steve.  The moderator.]

In article <372@hubcap.UUCP> Thomas Paul Brisco (brisco@caip.rutgers.edu)
>

Are you using CFG Fortran?  If you are there are flags that will allow for 
large amounts of data.  Check pages 25-26 of the Fortran manual.

Adam Beguelin
...!okstate!apctrc!zalb06 (Amoco)or
adamb@boulder   (University of Colorado)