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]