Version française
Home     About     Download     Resources     Contact us    
Browse thread
Utilizing more than 4GB of memory in caml?
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Lionel Elie Mamane <lionel@m...>
Subject: Re: [Caml-list] Utilizing more than 4GB of memory in caml?
On Tue, Aug 14, 2007 at 04:36:27PM +0200, Koprowski, A. wrote:

>> -----Original Message-----
>> From: Lionel Elie Mamane [mailto:lionel@mamane.lu]

>> On Tue, Aug 14, 2007 at 04:16:14PM +0200, Koprowski, A. wrote:

>>>  I have a 32-bit linux machine with 48-bit addressing of its 128GB
>>>  of RAM. I'd very much like to use this amount of memory; however
>>>  I get Out_of_memory exception after ocaml consumes 4GB. Is there
>>>  anything can do to get my hands on more than 

>> Run a 64 bit GNU/Linux on that machine, (...)

>   Thanks for the suggestion but I'm afraid I cannot do that. This is
> a faculty server to which I only have a user access.

Type:
 uname -m
in a shell. If the answer is x86_64, there are things you can do. If
it says i386, i486 or i686, all you can do is complain to the system
administrator (if you are in informatica, I presume that would be bcf
in room HG 8.73 - 8th floor of Hoofdgebouw; is the machine by any
chance elephant?).


In case of x86_64: How much manual hacking are you willing to do?

The 32 bit GNU/Linux installation installed may be a mixed 32/64
installation. Look whether it contains /lib64/ld-linux-x86-64.so.2 or
/lib/ld-linux-x86-64.so.2 or /usr/lib/ld-linux-x86-64.so.2 or
/usr/lib64/ld-linux-x86-64.so.2 . If it does, look for
/lib64/libc.so.6 or /usr/lib64/libc.so.6 . Their presence means you
can _run_ 64 bit binaries.

Then, see whether the gcc installed can produce 64 binaries (option
-m64).

If both of these tests are positive, you can compile a 64 bit OCaml
(force OCaml's make system to use the -m64 option to gcc and force it
to produce OCaml compilers for the x86_64 architecture instead of
i386; details of how to do that left for you to find out) and run it.

If these tests are negative (or one of them is), you can:

 - if the gcc cannot build 64 bit binaries, compile a gcc that can
   (http://gcc.gnu.org/) and install it in your home.

 - if there is no 64 bit libc installed, compile it and install it in
   your home. You may have to set LD_LIBRARY_PATH and/or execute your
   64 bit binaries with "$HOME/usr/lib/ld-linux-x86-64.so.2
   EXECUTABLE" instead of with "EXECUTABLE".

Again, details left for you to discover.

-- 
Lionel