First-cut support for large (> 2 GB) arenas on SGI is now in CVS.
Note that this does not address the 2 Gig size limits associated with
individual DX objects, but it does give SGI users a bigger cache sandbox to
play in.

     I checked this in now because I'd like feedback to make sure this
doesn't break the DX build on any supported platforms, so please fetch a
snapshot and give it a build!

     The only run-time diffs will appear for 64-bit SGI builds, and only if
the new configure option "--with-large-arenas" is specified.  E.g.:

     env CXX="/bin/CC -mips4 -64" CC="/bin/cc -mips4 -64" SGI_ABI="-64" \
         CFLAGS="-g -woff 1174,1552,1209" CXXFLAGS="-g -woff 1174,1552,1209" \ 
         LDFLAGS="-Wl,-64" \
         configure --with-large-arenas

Critical pieces are #ifdef'ed, and the only significant change for all
platforms are a few functions now passing uint64s around.  A little
research indicates 64-bit int types are pervasive nowdays so I don't expect
any problems.

      SGI big-iron folks, feel free to give it a spin.  It seems to run the
samples I tried just fine (excluding Motif interactor issues mentioned
previously).  However, a more thorough review of the executive memory code
is outstanding, and I have at least one more bug to track: the exec core
dumps on disconnect if processors > 1.  So make sure to "limit coredumpsize
0" or "ulimit -c 0" before you start DX -- dumping a 5GB core is way too
much fun, especially over NFS.  Then set -memory to whatever you have
physmem for (e.g. 5000), -processors 8, etc. and roll.  And just to get you
salivating a bit:

   onyx> ./dxexec -B -r -M 5000 &
   Memory cache will use 5000 MB (312 for small items, 4687 for large)

   port = 1900

   onyx> top -osize -n
   ...
       PID    PGRP USERNAME  PRI   SIZE   RES STATE    TIME %WCPU  %CPU
       COMMAND
   1263949 1263949 rhh        20  5018M 3728K sleep    0:00  0.00  0.00 dxexec
   ...


   After running a few of the samples such as volume rendering with 
   -memory 5000 -processors 8:

       PID    PGRP USERNAME  PRI   SIZE   RES STATE    TIME %WCPU  %CPU
       COMMAND
   1264716 1264413 rhh        20  5020M   11M sleep    0:02 10.66  0.00 dxexec
   1264434 1264413 rhh        20  5018M 8272K sleep    0:03 18.24  0.00 dxexec
   1263768 1264413 rhh        20  5018M 7072K sleep    0:00  6.51  0.00 dxexec
   1264621 1264413 rhh        20  5018M 7760K sleep    0:00  9.97  0.00 dxexec
   1264503 1264413 rhh        20  5018M 6992K sleep    0:00  8.00  0.00 dxexec
   1262530 1264413 rhh        20  5018M 6624K sleep    0:00  9.87  0.00 dxexec
   1264394 1264413 rhh        20  5018M 6592K sleep    0:00  5.69  0.00 dxexec
   1264763 1264413 rhh        20  5018M 6304K sleep    0:00  6.50  0.00 dxexec
   1264661 1264413 rhh        20  5018M 4656K sleep    0:00  7.59  0.00 dxexec

More changes to come.  I'd appreciate any feedback, whether or not you have
problems.

Thanks,

Randy

-- 
Randall Hopper
[EMAIL PROTECTED]

Reply via email to