* [Caml-list] Memory Usage @ 2017-01-30 16:39 Umair Siddique 2017-01-30 16:42 ` Van Chan Ngo 2017-02-01 9:04 ` Alain Frisch 0 siblings, 2 replies; 20+ messages in thread From: Umair Siddique @ 2017-01-30 16:39 UTC (permalink / raw) To: caml-list [-- Attachment #1: Type: text/plain, Size: 167 bytes --] Dear All, I am wondering what is the best way to find the time and memory usage (in words or bytes) of an Ocaml function, e.g., Factorial) on MAC? Thanks Umair [-- Attachment #2: Type: text/html, Size: 310 bytes --] ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Caml-list] Memory Usage 2017-01-30 16:39 [Caml-list] Memory Usage Umair Siddique @ 2017-01-30 16:42 ` Van Chan Ngo 2017-01-30 16:50 ` Evgeny Roubinchtein 2017-02-01 9:04 ` Alain Frisch 1 sibling, 1 reply; 20+ messages in thread From: Van Chan Ngo @ 2017-01-30 16:42 UTC (permalink / raw) To: Umair Siddique; +Cc: caml-list [-- Attachment #1: Type: text/plain, Size: 451 bytes --] Hello Umair, One option is using a profiling tool, for example the following one http://memprof.typerex.org <http://memprof.typerex.org/> Best, Van Chan Ngo > On Jan 30, 2017, at 11:39 AM, Umair Siddique <umair.hvg@gmail.com> wrote: > > Dear All, > > > I am wondering what is the best way to find the time and memory usage (in words or bytes) of an Ocaml function, e.g., Factorial) on MAC? > > > Thanks > > > Umair [-- Attachment #2: Type: text/html, Size: 1300 bytes --] ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Caml-list] Memory Usage 2017-01-30 16:42 ` Van Chan Ngo @ 2017-01-30 16:50 ` Evgeny Roubinchtein 2017-01-31 18:09 ` Umair Siddique 0 siblings, 1 reply; 20+ messages in thread From: Evgeny Roubinchtein @ 2017-01-30 16:50 UTC (permalink / raw) To: Van Chan Ngo; +Cc: Umair Siddique, caml-list [-- Attachment #1: Type: text/plain, Size: 594 bytes --] I have to also point out: https://caml.inria.fr/pub/docs/manual-ocaml/spacetime.html -- Best, Zhenya On Mon, Jan 30, 2017 at 11:42 AM, Van Chan Ngo <chan.ngo2203@gmail.com> wrote: > Hello Umair, > > One option is using a profiling tool, for example the following one > http://memprof.typerex.org > > Best, > Van Chan Ngo > > On Jan 30, 2017, at 11:39 AM, Umair Siddique <umair.hvg@gmail.com> wrote: > > Dear All, > > > I am wondering what is the best way to find the time and memory usage (in > words or bytes) of an Ocaml function, e.g., Factorial) on MAC? > > > Thanks > > > Umair > > > [-- Attachment #2: Type: text/html, Size: 1511 bytes --] ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Caml-list] Memory Usage 2017-01-30 16:50 ` Evgeny Roubinchtein @ 2017-01-31 18:09 ` Umair Siddique 0 siblings, 0 replies; 20+ messages in thread From: Umair Siddique @ 2017-01-31 18:09 UTC (permalink / raw) To: Evgeny Roubinchtein; +Cc: caml-list [-- Attachment #1: Type: text/plain, Size: 883 bytes --] Thanks a lot, I used it and its seems to be working. I am wondering if I can know the memory usage of a specific function in the whole file ? thanks Umair On Mon, Jan 30, 2017 at 11:50 AM, Evgeny Roubinchtein <zhenya1007@gmail.com> wrote: > I have to also point out: https://caml.inria.fr/pub/ > docs/manual-ocaml/spacetime.html > > -- > Best, > Zhenya > > On Mon, Jan 30, 2017 at 11:42 AM, Van Chan Ngo <chan.ngo2203@gmail.com> > wrote: > >> Hello Umair, >> >> One option is using a profiling tool, for example the following one >> http://memprof.typerex.org >> >> Best, >> Van Chan Ngo >> >> On Jan 30, 2017, at 11:39 AM, Umair Siddique <umair.hvg@gmail.com> wrote: >> >> Dear All, >> >> >> I am wondering what is the best way to find the time and memory usage >> (in words or bytes) of an Ocaml function, e.g., Factorial) on MAC? >> >> >> Thanks >> >> >> Umair >> >> >> > [-- Attachment #2: Type: text/html, Size: 2400 bytes --] ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Caml-list] Memory Usage 2017-01-30 16:39 [Caml-list] Memory Usage Umair Siddique 2017-01-30 16:42 ` Van Chan Ngo @ 2017-02-01 9:04 ` Alain Frisch 1 sibling, 0 replies; 20+ messages in thread From: Alain Frisch @ 2017-02-01 9:04 UTC (permalink / raw) To: Umair Siddique, caml-list If you are only interested in measuring how much a given function allocates, you can simply call Gc.allocated_bytes before and after. Otherwise, and in addition to other great suggestions, let me add this one: https://github.com/LexiFi/landmarks -- Alain On 30/01/2017 17:39, Umair Siddique wrote: > Dear All, > > > I am wondering what is the best way to find the time and memory usage > (in words or bytes) of an Ocaml function, e.g., Factorial) on MAC? > > > Thanks > > > Umair ^ permalink raw reply [flat|nested] 20+ messages in thread
* memory usage @ 2009-01-12 7:41 John Lepikhin 2009-01-12 8:39 ` [Caml-list] " Richard Jones ` (2 more replies) 0 siblings, 3 replies; 20+ messages in thread From: John Lepikhin @ 2009-01-12 7:41 UTC (permalink / raw) To: caml-list Hello, I have developed an application and have issue with memory usage. Application was designed for work as server, 24x7. After several hours of work, RSS memory grows up to 40-50MB. Each thread must not use more than 100-200KB of memory (maximum 20 threads are run at the same time). GC debug information: Growing heap to 3840k bytes Growing heap to 4320k bytes Shrinking heap to 3840k bytes Growing heap to 4320k bytes Growing heap to 4800k bytes Growing heap to 5280k bytes Shrinking heap to 4800k bytes Shrinking heap to 4320k bytes Shrinking heap to 3840k bytes Growing heap to 4320k bytes Growing heap to 4800k bytes Growing heap to 5280k bytes Shrinking heap to 4800k bytes Shrinking heap to 4320k bytes Shrinking heap to 3840k bytes Shrinking heap to 3360k bytes Growing heap to 3840k bytes Growing heap to 4320k bytes Growing heap to 4800k bytes Growing heap to 960k bytes Shrinking heap to 4320k bytes Shrinking heap to 3840k bytes Shrinking heap to 3360k bytes Shrinking heap to 2880k bytes Growing heap to 3360k bytes Shrinking heap to 2880k bytes Shrinking heap to 2400k bytes Growing heap to 2880k bytes Growing heap to 3360k bytes Growing heap to 3840k bytes Shrinking heap to 3360k bytes Shrinking heap to 2880k bytes Growing heap to 3360k bytes Shrinking heap to 2880k bytes As you can see, heap size never gets bigger 5-6MB. I made core dump of process. 90% of memory was filled with values which are created inside threads and never been copied outside of them. Each thread is killed after work is done, I am absolutely sure in it; all unused file descriptors are closed. Playing with Gc.set has not brought notable results. Please, give me some start point to find the roots of the problem. Sorry for my English. ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Caml-list] memory usage 2009-01-12 7:41 memory usage John Lepikhin @ 2009-01-12 8:39 ` Richard Jones 2009-01-12 9:14 ` John Lepikhin [not found] ` <20090112114837.GB18405@janestcapital.com> 2009-01-12 16:29 ` Florian Hars 2 siblings, 1 reply; 20+ messages in thread From: Richard Jones @ 2009-01-12 8:39 UTC (permalink / raw) To: John Lepikhin; +Cc: caml-list On Mon, Jan 12, 2009 at 03:41:46PM +0800, John Lepikhin wrote: > Please, give me some start point to find the roots of the problem. Starting point should be to call this periodically: Gc.compact (); let stat = Gc.stat () in let live_words = stat.Gc.live_words in eprintf "live words %d\n%!" live_words; which will tell you how many words (ie 4 or 8 byte chunks) are reachable according to the garbage collector. If this number is going up, then somewhere you are holding a pointer to some object that you didn't expect to be live. Rich. -- Richard Jones Red Hat ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Caml-list] memory usage 2009-01-12 8:39 ` [Caml-list] " Richard Jones @ 2009-01-12 9:14 ` John Lepikhin 0 siblings, 0 replies; 20+ messages in thread From: John Lepikhin @ 2009-01-12 9:14 UTC (permalink / raw) To: Richard Jones; +Cc: caml-list > Starting point should be to call this periodically: > > Gc.compact (); > let stat = Gc.stat () in > let live_words = stat.Gc.live_words in > eprintf "live words %d\n%!" live_words; > > which will tell you how many words (ie 4 or 8 byte chunks) are > reachable according to the garbage collector. Richard, here is result (statistics was saved every 10 seconds): live words - RSS: 186980 - 12380KB <-- after first 10 seconds of work 154156 - 18232KB 153923 - 19648KB ... after 10 minutes of work: 203842 - 33436KB 170559 - 33528KB 187018 - 33664KB 71626 - 33592KB Sometimes live words drops down to 40.000. But RSS always stay near 30-50MB. ^ permalink raw reply [flat|nested] 20+ messages in thread
[parent not found: <20090112114837.GB18405@janestcapital.com>]
* Re: [Caml-list] memory usage [not found] ` <20090112114837.GB18405@janestcapital.com> @ 2009-01-12 15:05 ` John Lepikhin 0 siblings, 0 replies; 20+ messages in thread From: John Lepikhin @ 2009-01-12 15:05 UTC (permalink / raw) To: caml-list > > Please, give me some start point to find the roots of the problem. > I assume you're running on Linux. I've got this issue on FreeBSD box. On Linux test box process grows only up to 2MB (but there is no production data and clients). Here is partial pmap output: Address Kbytes RSS Shared Priv Mode Mapped File ... 00000000408AA000 932 548 932 - r-x /lib/libc.so.7 0000000040993000 4 4 4 - r-x /lib/libc.so.7 0000000040994000 1020 0 1020 - r-x /lib/libc.so.7 0000000040A93000 116 116 - 116 rw- /lib/libc.so.7 0000000040AB0000 92 44 - 92 rw- [ anon ] 0000000040B00000 1024 904 - 1024 rw- [ anon ] 0000000040C00000 34816 19652 - 34816 rw- [ anon ] 0000000042E00000 1024 200 - 1024 rw- [ anon ] 0000000042F00000 2048 400 - 2048 rw- [ anon ] 00007FFFFB9BE000 128 20 - 128 rw- [ anon ] 00007FFFFBBBF000 128 20 - 128 rw- [ anon ] ... ---------------- ---------- ---------- ---------- ---------- Total Kb 48552 23736 4352 44528 Most of memory is allocated here: 0000000040C00000 34816 19652 - 34816 rw- [ anon ] It gets bigger and bigger: 0000000040C00000 34816 20660 - 34816 rw- [ anon ] 0000000040C00000 34816 21216 - 34816 rw- [ anon ] > One other thing to check is to ensure that threads really are being killed > at the times you expect. (Check "/proc/<pid>/status | grep Threads", or use > "gdb -p" to attach to the running process then "info thr".) I checked it. Only valid threads run. ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Caml-list] memory usage 2009-01-12 7:41 memory usage John Lepikhin 2009-01-12 8:39 ` [Caml-list] " Richard Jones [not found] ` <20090112114837.GB18405@janestcapital.com> @ 2009-01-12 16:29 ` Florian Hars 2009-01-12 16:44 ` John Lepikhin 2 siblings, 1 reply; 20+ messages in thread From: Florian Hars @ 2009-01-12 16:29 UTC (permalink / raw) To: John Lepikhin; +Cc: caml-list John Lepikhin schrieb: > Each thread is killed after work is done How do you "kill" the threads? I hope this is just a figure of speech for "I do an orderly shutdown of each thread after work is done." - Florian. ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Caml-list] memory usage 2009-01-12 16:29 ` Florian Hars @ 2009-01-12 16:44 ` John Lepikhin 0 siblings, 0 replies; 20+ messages in thread From: John Lepikhin @ 2009-01-12 16:44 UTC (permalink / raw) To: caml-list > > Each thread is killed after work is done > How do you "kill" the threads? I hope this is just a figure of > speech for "I do an orderly shutdown of each thread after work is done." Well, that was consequence of my bad English :-) Threads finish their work and exit. I also made a simple wrapper to Thread.create to be sure that all work inside threads is done: module MyThread = let create f p = let dowork _ = (* log thread creation *) f p; (* log thread shutdown *) in Thread.create dowork () end ^ permalink raw reply [flat|nested] 20+ messages in thread
* memory usage @ 2008-07-11 19:49 Jean Krivine 2008-07-11 21:49 ` [Caml-list] " Till Varoquaux 2008-07-11 22:01 ` Richard Jones 0 siblings, 2 replies; 20+ messages in thread From: Jean Krivine @ 2008-07-11 19:49 UTC (permalink / raw) To: caml-list Dear list members, I am trying to run a stochastic simulator (written in ocaml) on a huge data set and I have the following error message: sim(9595) malloc: *** mmap(size=1048576) failed (error code=12) *** error: can't allocate region *** set a breakpoint in malloc_error_break to debug Fatal error: out of memory. My system: Mac Pro running OS X 10.5.4 Processor: 2 x 2.8 GHz Quad-Core Intel Xeon Memory: 10 GB 800 MHz DDR2 FB-DIMM Does someone know what happened? Do you have any idea of any parameter I could tune in order to avoid that? Thank you very much! Jean ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Caml-list] memory usage 2008-07-11 19:49 Jean Krivine @ 2008-07-11 21:49 ` Till Varoquaux 2008-07-11 22:01 ` Richard Jones 1 sibling, 0 replies; 20+ messages in thread From: Till Varoquaux @ 2008-07-11 21:49 UTC (permalink / raw) To: Jean Krivine; +Cc: caml-list It is hard to tell without any more informations but sometimes the garbage collector needs some gentle proding: OCaml handles it's own memory but can be a bad citizen when it comes to making room for others. Unfortunately ocaml also has a bit of a double personality: it doesn't know much about resources used in external libraries or even in some of its own library (e.g. on a 32 bits machine running out of addressable space because of Bigarray.map_file is not unheard of). If this is your problem, you can either sprinkle your source code with calls to Gc.major or tweak it using Gc.set. Till On Fri, Jul 11, 2008 at 8:49 PM, Jean Krivine <jean_krivine@hms.harvard.edu> wrote: > Dear list members, > > I am trying to run a stochastic simulator (written in ocaml) on a huge > data set and I have the following error message: > > sim(9595) malloc: *** mmap(size=1048576) failed (error code=12) > *** error: can't allocate region > *** set a breakpoint in malloc_error_break to debug > Fatal error: out of memory. > > My system: > > Mac Pro running OS X 10.5.4 > Processor: 2 x 2.8 GHz Quad-Core Intel Xeon > Memory: 10 GB 800 MHz DDR2 FB-DIMM > > Does someone know what happened? Do you have any idea of any parameter > I could tune in order to avoid that? > > Thank you very much! > > Jean > > _______________________________________________ > Caml-list mailing list. Subscription management: > http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list > Archives: http://caml.inria.fr > Beginner's list: http://groups.yahoo.com/group/ocaml_beginners > Bug reports: http://caml.inria.fr/bin/caml-bugs > -- http://till-varoquaux.blogspot.com/ ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Caml-list] memory usage 2008-07-11 19:49 Jean Krivine 2008-07-11 21:49 ` [Caml-list] " Till Varoquaux @ 2008-07-11 22:01 ` Richard Jones 2008-07-15 17:06 ` Jean Krivine 1 sibling, 1 reply; 20+ messages in thread From: Richard Jones @ 2008-07-11 22:01 UTC (permalink / raw) To: Jean Krivine; +Cc: caml-list On Fri, Jul 11, 2008 at 03:49:26PM -0400, Jean Krivine wrote: > I am trying to run a stochastic simulator (written in ocaml) on a huge > data set and I have the following error message: I can confirm that OCaml works fine with huge datasets, on 64 bit platforms anyway. > sim(9595) malloc: *** mmap(size=1048576) failed (error code=12) > *** error: can't allocate region > *** set a breakpoint in malloc_error_break to debug > Fatal error: out of memory. > > My system: > > Mac Pro running OS X 10.5.4 > Processor: 2 x 2.8 GHz Quad-Core Intel Xeon > Memory: 10 GB 800 MHz DDR2 FB-DIMM > > Does someone know what happened? Do you have any idea of any parameter > I could tune in order to avoid that? Is the compiler 32 bits or 64 bits on this machine? Try doing: $ ocaml # Sys.word_size ;; It should print out either '32' or '64'. Also run your program under whatever the OS X equivalent of 'strace' is (ktrace?) to find out exactly why the mmap call fails. OCaml <= 3.10.2 on Linux suffers a nasty problem with its use of mmap and randomized address spaces (https://bugzilla.redhat.com/show_bug.cgi?id=445545#c9) but it doesn't seem like this is the same issue. Rich. -- Richard Jones Red Hat ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Caml-list] memory usage 2008-07-11 22:01 ` Richard Jones @ 2008-07-15 17:06 ` Jean Krivine 2008-07-15 19:31 ` Andres Varon 0 siblings, 1 reply; 20+ messages in thread From: Jean Krivine @ 2008-07-15 17:06 UTC (permalink / raw) To: Richard Jones; +Cc: caml-list Dear all I downloaded the last version of ocaml (3.10.2) but I must confess I don't know what option I should pass to the compiler to make a binary that uses 64 bits. I tried naively ocamlopt -ccopt -arch -ccopt x86_64 but that doesn't work. Any idea? On Fri, Jul 11, 2008 at 6:01 PM, Richard Jones <rich@annexia.org> wrote: > On Fri, Jul 11, 2008 at 03:49:26PM -0400, Jean Krivine wrote: >> I am trying to run a stochastic simulator (written in ocaml) on a huge >> data set and I have the following error message: > > I can confirm that OCaml works fine with huge datasets, on 64 bit > platforms anyway. > >> sim(9595) malloc: *** mmap(size=1048576) failed (error code=12) >> *** error: can't allocate region >> *** set a breakpoint in malloc_error_break to debug >> Fatal error: out of memory. >> >> My system: >> >> Mac Pro running OS X 10.5.4 >> Processor: 2 x 2.8 GHz Quad-Core Intel Xeon >> Memory: 10 GB 800 MHz DDR2 FB-DIMM >> >> Does someone know what happened? Do you have any idea of any parameter >> I could tune in order to avoid that? > > Is the compiler 32 bits or 64 bits on this machine? Try doing: > > $ ocaml > # Sys.word_size ;; > > It should print out either '32' or '64'. > > Also run your program under whatever the OS X equivalent of 'strace' > is (ktrace?) to find out exactly why the mmap call fails. > > OCaml <= 3.10.2 on Linux suffers a nasty problem with its use of mmap > and randomized address spaces > (https://bugzilla.redhat.com/show_bug.cgi?id=445545#c9) but it doesn't > seem like this is the same issue. > > Rich. > > -- > Richard Jones > Red Hat > > _______________________________________________ > Caml-list mailing list. Subscription management: > http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list > Archives: http://caml.inria.fr > Beginner's list: http://groups.yahoo.com/group/ocaml_beginners > Bug reports: http://caml.inria.fr/bin/caml-bugs > ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Caml-list] memory usage 2008-07-15 17:06 ` Jean Krivine @ 2008-07-15 19:31 ` Andres Varon 2008-07-15 19:38 ` Jean Krivine 0 siblings, 1 reply; 20+ messages in thread From: Andres Varon @ 2008-07-15 19:31 UTC (permalink / raw) To: Jean Krivine; +Cc: Richard Jones, caml-list Hello Jean, There is no 64-bit native OCaml compiler for Mac OS X intel. I have a patch that works in Leopard, but did not compile opt.opt in Tiger, meaning that something is not OK, so I did not offer it to the community. The bootstrap went fine, findlib and godi compiled OK too. I can post the patches somewhere if you want to give it a shot. My memory intensive application runs fine in Leopard with this compiler. But the binaries do not execute in Tiger (I found that other people had the same trouble copying a 64 bit apps from Leopard to Tiger and the other way around, but didn't look into it). If you want it ... I can post it, maybe someone can cleanup my job? All that would be needed after patching is: ./configure -host x86_64-apple-darwin -prefix /opt/ocaml/experimental (The prefix I always add for my ocaml-modified comilers). best, Andres On Jul 15, 2008, at 1:06 PM, Jean Krivine wrote: > Dear all > > I downloaded the last version of ocaml (3.10.2) but I must confess I > don't know what option I should pass to the compiler to make a binary > that uses 64 bits. > I tried naively ocamlopt -ccopt -arch -ccopt x86_64 but that doesn't > work. Any idea? > > > > On Fri, Jul 11, 2008 at 6:01 PM, Richard Jones <rich@annexia.org> > wrote: >> On Fri, Jul 11, 2008 at 03:49:26PM -0400, Jean Krivine wrote: >>> I am trying to run a stochastic simulator (written in ocaml) on a >>> huge >>> data set and I have the following error message: >> >> I can confirm that OCaml works fine with huge datasets, on 64 bit >> platforms anyway. >> >>> sim(9595) malloc: *** mmap(size=1048576) failed (error code=12) >>> *** error: can't allocate region >>> *** set a breakpoint in malloc_error_break to debug >>> Fatal error: out of memory. >>> >>> My system: >>> >>> Mac Pro running OS X 10.5.4 >>> Processor: 2 x 2.8 GHz Quad-Core Intel Xeon >>> Memory: 10 GB 800 MHz DDR2 FB-DIMM >>> >>> Does someone know what happened? Do you have any idea of any >>> parameter >>> I could tune in order to avoid that? >> >> Is the compiler 32 bits or 64 bits on this machine? Try doing: >> >> $ ocaml >> # Sys.word_size ;; >> >> It should print out either '32' or '64'. >> >> Also run your program under whatever the OS X equivalent of 'strace' >> is (ktrace?) to find out exactly why the mmap call fails. >> >> OCaml <= 3.10.2 on Linux suffers a nasty problem with its use of mmap >> and randomized address spaces >> (https://bugzilla.redhat.com/show_bug.cgi?id=445545#c9) but it >> doesn't >> seem like this is the same issue. >> >> Rich. >> >> -- >> Richard Jones >> Red Hat >> >> _______________________________________________ >> Caml-list mailing list. Subscription management: >> http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list >> Archives: http://caml.inria.fr >> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners >> Bug reports: http://caml.inria.fr/bin/caml-bugs >> > > _______________________________________________ > Caml-list mailing list. Subscription management: > http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list > Archives: http://caml.inria.fr > Beginner's list: http://groups.yahoo.com/group/ocaml_beginners > Bug reports: http://caml.inria.fr/bin/caml-bugs ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Caml-list] memory usage 2008-07-15 19:31 ` Andres Varon @ 2008-07-15 19:38 ` Jean Krivine 2008-07-16 14:16 ` Andres Varon 0 siblings, 1 reply; 20+ messages in thread From: Jean Krivine @ 2008-07-15 19:38 UTC (permalink / raw) To: Andres Varon; +Cc: Richard Jones, caml-list I'd be glad to try the patch if you could post it somewhere! J On Tue, Jul 15, 2008 at 3:31 PM, Andres Varon <avaron@gmail.com> wrote: > Hello Jean, > > There is no 64-bit native OCaml compiler for Mac OS X intel. I have a patch > that works in Leopard, but did not compile opt.opt in Tiger, meaning that > something is not OK, so I did not offer it to the community. The bootstrap > went fine, findlib and godi compiled OK too. I can post the patches > somewhere if you want to give it a shot. > > My memory intensive application runs fine in Leopard with this compiler. But > the binaries do not execute in Tiger (I found that other people had the same > trouble copying a 64 bit apps from Leopard to Tiger and the other way > around, but didn't look into it). > > If you want it ... I can post it, maybe someone can cleanup my job? All that > would be needed after patching is: > > ./configure -host x86_64-apple-darwin -prefix /opt/ocaml/experimental > > (The prefix I always add for my ocaml-modified comilers). > > best, > > Andres > > On Jul 15, 2008, at 1:06 PM, Jean Krivine wrote: > >> Dear all >> >> I downloaded the last version of ocaml (3.10.2) but I must confess I >> don't know what option I should pass to the compiler to make a binary >> that uses 64 bits. >> I tried naively ocamlopt -ccopt -arch -ccopt x86_64 but that doesn't >> work. Any idea? >> >> >> >> On Fri, Jul 11, 2008 at 6:01 PM, Richard Jones <rich@annexia.org> wrote: >>> >>> On Fri, Jul 11, 2008 at 03:49:26PM -0400, Jean Krivine wrote: >>>> >>>> I am trying to run a stochastic simulator (written in ocaml) on a huge >>>> data set and I have the following error message: >>> >>> I can confirm that OCaml works fine with huge datasets, on 64 bit >>> platforms anyway. >>> >>>> sim(9595) malloc: *** mmap(size=1048576) failed (error code=12) >>>> *** error: can't allocate region >>>> *** set a breakpoint in malloc_error_break to debug >>>> Fatal error: out of memory. >>>> >>>> My system: >>>> >>>> Mac Pro running OS X 10.5.4 >>>> Processor: 2 x 2.8 GHz Quad-Core Intel Xeon >>>> Memory: 10 GB 800 MHz DDR2 FB-DIMM >>>> >>>> Does someone know what happened? Do you have any idea of any parameter >>>> I could tune in order to avoid that? >>> >>> Is the compiler 32 bits or 64 bits on this machine? Try doing: >>> >>> $ ocaml >>> # Sys.word_size ;; >>> >>> It should print out either '32' or '64'. >>> >>> Also run your program under whatever the OS X equivalent of 'strace' >>> is (ktrace?) to find out exactly why the mmap call fails. >>> >>> OCaml <= 3.10.2 on Linux suffers a nasty problem with its use of mmap >>> and randomized address spaces >>> (https://bugzilla.redhat.com/show_bug.cgi?id=445545#c9) but it doesn't >>> seem like this is the same issue. >>> >>> Rich. >>> >>> -- >>> Richard Jones >>> Red Hat >>> >>> _______________________________________________ >>> Caml-list mailing list. Subscription management: >>> http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list >>> Archives: http://caml.inria.fr >>> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners >>> Bug reports: http://caml.inria.fr/bin/caml-bugs >>> >> >> _______________________________________________ >> Caml-list mailing list. Subscription management: >> http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list >> Archives: http://caml.inria.fr >> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners >> Bug reports: http://caml.inria.fr/bin/caml-bugs > > ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Caml-list] memory usage 2008-07-15 19:38 ` Jean Krivine @ 2008-07-16 14:16 ` Andres Varon 2008-07-16 16:27 ` Jean Krivine 0 siblings, 1 reply; 20+ messages in thread From: Andres Varon @ 2008-07-16 14:16 UTC (permalink / raw) To: Jean Krivine; +Cc: caml-list On Jul 15, 2008, at 3:38 PM, Jean Krivine wrote: > I'd be glad to try the patch if you could post it somewhere! I have posted it in: http://research.amnh.org/~avaron/ocaml/ best, Andres > > J > > On Tue, Jul 15, 2008 at 3:31 PM, Andres Varon <avaron@gmail.com> > wrote: >> Hello Jean, >> >> There is no 64-bit native OCaml compiler for Mac OS X intel. I >> have a patch >> that works in Leopard, but did not compile opt.opt in Tiger, >> meaning that >> something is not OK, so I did not offer it to the community. The >> bootstrap >> went fine, findlib and godi compiled OK too. I can post the patches >> somewhere if you want to give it a shot. >> >> My memory intensive application runs fine in Leopard with this >> compiler. But >> the binaries do not execute in Tiger (I found that other people had >> the same >> trouble copying a 64 bit apps from Leopard to Tiger and the other way >> around, but didn't look into it). >> >> If you want it ... I can post it, maybe someone can cleanup my job? >> All that >> would be needed after patching is: >> >> ./configure -host x86_64-apple-darwin -prefix /opt/ocaml/experimental >> >> (The prefix I always add for my ocaml-modified comilers). >> >> best, >> >> Andres >> >> On Jul 15, 2008, at 1:06 PM, Jean Krivine wrote: >> >>> Dear all >>> >>> I downloaded the last version of ocaml (3.10.2) but I must confess I >>> don't know what option I should pass to the compiler to make a >>> binary >>> that uses 64 bits. >>> I tried naively ocamlopt -ccopt -arch -ccopt x86_64 but that doesn't >>> work. Any idea? >>> >>> >>> >>> On Fri, Jul 11, 2008 at 6:01 PM, Richard Jones <rich@annexia.org> >>> wrote: >>>> >>>> On Fri, Jul 11, 2008 at 03:49:26PM -0400, Jean Krivine wrote: >>>>> >>>>> I am trying to run a stochastic simulator (written in ocaml) on >>>>> a huge >>>>> data set and I have the following error message: >>>> >>>> I can confirm that OCaml works fine with huge datasets, on 64 bit >>>> platforms anyway. >>>> >>>>> sim(9595) malloc: *** mmap(size=1048576) failed (error code=12) >>>>> *** error: can't allocate region >>>>> *** set a breakpoint in malloc_error_break to debug >>>>> Fatal error: out of memory. >>>>> >>>>> My system: >>>>> >>>>> Mac Pro running OS X 10.5.4 >>>>> Processor: 2 x 2.8 GHz Quad-Core Intel Xeon >>>>> Memory: 10 GB 800 MHz DDR2 FB-DIMM >>>>> >>>>> Does someone know what happened? Do you have any idea of any >>>>> parameter >>>>> I could tune in order to avoid that? >>>> >>>> Is the compiler 32 bits or 64 bits on this machine? Try doing: >>>> >>>> $ ocaml >>>> # Sys.word_size ;; >>>> >>>> It should print out either '32' or '64'. >>>> >>>> Also run your program under whatever the OS X equivalent of >>>> 'strace' >>>> is (ktrace?) to find out exactly why the mmap call fails. >>>> >>>> OCaml <= 3.10.2 on Linux suffers a nasty problem with its use of >>>> mmap >>>> and randomized address spaces >>>> (https://bugzilla.redhat.com/show_bug.cgi?id=445545#c9) but it >>>> doesn't >>>> seem like this is the same issue. >>>> >>>> Rich. >>>> >>>> -- >>>> Richard Jones >>>> Red Hat >>>> >>>> _______________________________________________ >>>> Caml-list mailing list. Subscription management: >>>> http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list >>>> Archives: http://caml.inria.fr >>>> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners >>>> Bug reports: http://caml.inria.fr/bin/caml-bugs >>>> >>> >>> _______________________________________________ >>> Caml-list mailing list. Subscription management: >>> http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list >>> Archives: http://caml.inria.fr >>> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners >>> Bug reports: http://caml.inria.fr/bin/caml-bugs >> >> ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Caml-list] memory usage 2008-07-16 14:16 ` Andres Varon @ 2008-07-16 16:27 ` Jean Krivine 2008-07-16 18:07 ` Jean Krivine 0 siblings, 1 reply; 20+ messages in thread From: Jean Krivine @ 2008-07-16 16:27 UTC (permalink / raw) To: Andres Varon; +Cc: caml-list Great thanks! J On Wed, Jul 16, 2008 at 10:16 AM, Andres Varon <avaron@gmail.com> wrote: > > On Jul 15, 2008, at 3:38 PM, Jean Krivine wrote: > >> I'd be glad to try the patch if you could post it somewhere! > > I have posted it in: > > http://research.amnh.org/~avaron/ocaml/ > > best, > > Andres >> >> J >> >> On Tue, Jul 15, 2008 at 3:31 PM, Andres Varon <avaron@gmail.com> wrote: >>> >>> Hello Jean, >>> >>> There is no 64-bit native OCaml compiler for Mac OS X intel. I have a >>> patch >>> that works in Leopard, but did not compile opt.opt in Tiger, meaning that >>> something is not OK, so I did not offer it to the community. The >>> bootstrap >>> went fine, findlib and godi compiled OK too. I can post the patches >>> somewhere if you want to give it a shot. >>> >>> My memory intensive application runs fine in Leopard with this compiler. >>> But >>> the binaries do not execute in Tiger (I found that other people had the >>> same >>> trouble copying a 64 bit apps from Leopard to Tiger and the other way >>> around, but didn't look into it). >>> >>> If you want it ... I can post it, maybe someone can cleanup my job? All >>> that >>> would be needed after patching is: >>> >>> ./configure -host x86_64-apple-darwin -prefix /opt/ocaml/experimental >>> >>> (The prefix I always add for my ocaml-modified comilers). >>> >>> best, >>> >>> Andres >>> >>> On Jul 15, 2008, at 1:06 PM, Jean Krivine wrote: >>> >>>> Dear all >>>> >>>> I downloaded the last version of ocaml (3.10.2) but I must confess I >>>> don't know what option I should pass to the compiler to make a binary >>>> that uses 64 bits. >>>> I tried naively ocamlopt -ccopt -arch -ccopt x86_64 but that doesn't >>>> work. Any idea? >>>> >>>> >>>> >>>> On Fri, Jul 11, 2008 at 6:01 PM, Richard Jones <rich@annexia.org> wrote: >>>>> >>>>> On Fri, Jul 11, 2008 at 03:49:26PM -0400, Jean Krivine wrote: >>>>>> >>>>>> I am trying to run a stochastic simulator (written in ocaml) on a huge >>>>>> data set and I have the following error message: >>>>> >>>>> I can confirm that OCaml works fine with huge datasets, on 64 bit >>>>> platforms anyway. >>>>> >>>>>> sim(9595) malloc: *** mmap(size=1048576) failed (error code=12) >>>>>> *** error: can't allocate region >>>>>> *** set a breakpoint in malloc_error_break to debug >>>>>> Fatal error: out of memory. >>>>>> >>>>>> My system: >>>>>> >>>>>> Mac Pro running OS X 10.5.4 >>>>>> Processor: 2 x 2.8 GHz Quad-Core Intel Xeon >>>>>> Memory: 10 GB 800 MHz DDR2 FB-DIMM >>>>>> >>>>>> Does someone know what happened? Do you have any idea of any parameter >>>>>> I could tune in order to avoid that? >>>>> >>>>> Is the compiler 32 bits or 64 bits on this machine? Try doing: >>>>> >>>>> $ ocaml >>>>> # Sys.word_size ;; >>>>> >>>>> It should print out either '32' or '64'. >>>>> >>>>> Also run your program under whatever the OS X equivalent of 'strace' >>>>> is (ktrace?) to find out exactly why the mmap call fails. >>>>> >>>>> OCaml <= 3.10.2 on Linux suffers a nasty problem with its use of mmap >>>>> and randomized address spaces >>>>> (https://bugzilla.redhat.com/show_bug.cgi?id=445545#c9) but it doesn't >>>>> seem like this is the same issue. >>>>> >>>>> Rich. >>>>> >>>>> -- >>>>> Richard Jones >>>>> Red Hat >>>>> >>>>> _______________________________________________ >>>>> Caml-list mailing list. Subscription management: >>>>> http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list >>>>> Archives: http://caml.inria.fr >>>>> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners >>>>> Bug reports: http://caml.inria.fr/bin/caml-bugs >>>>> >>>> >>>> _______________________________________________ >>>> Caml-list mailing list. Subscription management: >>>> http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list >>>> Archives: http://caml.inria.fr >>>> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners >>>> Bug reports: http://caml.inria.fr/bin/caml-bugs >>> >>> > > ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Caml-list] memory usage 2008-07-16 16:27 ` Jean Krivine @ 2008-07-16 18:07 ` Jean Krivine 2008-07-16 18:44 ` Andres Varon 0 siblings, 1 reply; 20+ messages in thread From: Jean Krivine @ 2008-07-16 18:07 UTC (permalink / raw) To: Andres Varon; +Cc: caml-list Good news, I just tested the patch and it works great with my application! I just had to modify the module random since a call to (Random.int max_int) may raise and exception (it is made for 32 bits integers). So I guess that modification should be included in the patch. Thanks a lot Andres. Jean On Wed, Jul 16, 2008 at 12:27 PM, Jean Krivine <jean_krivine@hms.harvard.edu> wrote: > Great thanks! > > J > > On Wed, Jul 16, 2008 at 10:16 AM, Andres Varon <avaron@gmail.com> wrote: >> >> On Jul 15, 2008, at 3:38 PM, Jean Krivine wrote: >> >>> I'd be glad to try the patch if you could post it somewhere! >> >> I have posted it in: >> >> http://research.amnh.org/~avaron/ocaml/ >> >> best, >> >> Andres >>> >>> J >>> >>> On Tue, Jul 15, 2008 at 3:31 PM, Andres Varon <avaron@gmail.com> wrote: >>>> >>>> Hello Jean, >>>> >>>> There is no 64-bit native OCaml compiler for Mac OS X intel. I have a >>>> patch >>>> that works in Leopard, but did not compile opt.opt in Tiger, meaning that >>>> something is not OK, so I did not offer it to the community. The >>>> bootstrap >>>> went fine, findlib and godi compiled OK too. I can post the patches >>>> somewhere if you want to give it a shot. >>>> >>>> My memory intensive application runs fine in Leopard with this compiler. >>>> But >>>> the binaries do not execute in Tiger (I found that other people had the >>>> same >>>> trouble copying a 64 bit apps from Leopard to Tiger and the other way >>>> around, but didn't look into it). >>>> >>>> If you want it ... I can post it, maybe someone can cleanup my job? All >>>> that >>>> would be needed after patching is: >>>> >>>> ./configure -host x86_64-apple-darwin -prefix /opt/ocaml/experimental >>>> >>>> (The prefix I always add for my ocaml-modified comilers). >>>> >>>> best, >>>> >>>> Andres >>>> >>>> On Jul 15, 2008, at 1:06 PM, Jean Krivine wrote: >>>> >>>>> Dear all >>>>> >>>>> I downloaded the last version of ocaml (3.10.2) but I must confess I >>>>> don't know what option I should pass to the compiler to make a binary >>>>> that uses 64 bits. >>>>> I tried naively ocamlopt -ccopt -arch -ccopt x86_64 but that doesn't >>>>> work. Any idea? >>>>> >>>>> >>>>> >>>>> On Fri, Jul 11, 2008 at 6:01 PM, Richard Jones <rich@annexia.org> wrote: >>>>>> >>>>>> On Fri, Jul 11, 2008 at 03:49:26PM -0400, Jean Krivine wrote: >>>>>>> >>>>>>> I am trying to run a stochastic simulator (written in ocaml) on a huge >>>>>>> data set and I have the following error message: >>>>>> >>>>>> I can confirm that OCaml works fine with huge datasets, on 64 bit >>>>>> platforms anyway. >>>>>> >>>>>>> sim(9595) malloc: *** mmap(size=1048576) failed (error code=12) >>>>>>> *** error: can't allocate region >>>>>>> *** set a breakpoint in malloc_error_break to debug >>>>>>> Fatal error: out of memory. >>>>>>> >>>>>>> My system: >>>>>>> >>>>>>> Mac Pro running OS X 10.5.4 >>>>>>> Processor: 2 x 2.8 GHz Quad-Core Intel Xeon >>>>>>> Memory: 10 GB 800 MHz DDR2 FB-DIMM >>>>>>> >>>>>>> Does someone know what happened? Do you have any idea of any parameter >>>>>>> I could tune in order to avoid that? >>>>>> >>>>>> Is the compiler 32 bits or 64 bits on this machine? Try doing: >>>>>> >>>>>> $ ocaml >>>>>> # Sys.word_size ;; >>>>>> >>>>>> It should print out either '32' or '64'. >>>>>> >>>>>> Also run your program under whatever the OS X equivalent of 'strace' >>>>>> is (ktrace?) to find out exactly why the mmap call fails. >>>>>> >>>>>> OCaml <= 3.10.2 on Linux suffers a nasty problem with its use of mmap >>>>>> and randomized address spaces >>>>>> (https://bugzilla.redhat.com/show_bug.cgi?id=445545#c9) but it doesn't >>>>>> seem like this is the same issue. >>>>>> >>>>>> Rich. >>>>>> >>>>>> -- >>>>>> Richard Jones >>>>>> Red Hat >>>>>> >>>>>> _______________________________________________ >>>>>> Caml-list mailing list. Subscription management: >>>>>> http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list >>>>>> Archives: http://caml.inria.fr >>>>>> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners >>>>>> Bug reports: http://caml.inria.fr/bin/caml-bugs >>>>>> >>>>> >>>>> _______________________________________________ >>>>> Caml-list mailing list. Subscription management: >>>>> http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list >>>>> Archives: http://caml.inria.fr >>>>> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners >>>>> Bug reports: http://caml.inria.fr/bin/caml-bugs >>>> >>>> >> >> > ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Caml-list] memory usage 2008-07-16 18:07 ` Jean Krivine @ 2008-07-16 18:44 ` Andres Varon 2008-07-16 18:54 ` Jean Krivine 0 siblings, 1 reply; 20+ messages in thread From: Andres Varon @ 2008-07-16 18:44 UTC (permalink / raw) To: Jean Krivine; +Cc: caml-list On Jul 16, 2008, at 2:07 PM, Jean Krivine wrote: > Good news, I just tested the patch and it works great with my > application! > I just had to modify the module random since a call to (Random.int > max_int) may raise and exception (it is made for 32 bits integers). > So I guess that modification should be included in the patch. I don't think that's a good idea. You have to use Random.int64 to get a 64 bit random integer. The Random.int function will return an integer between 0 and 2^30. Check the Random module documentation here: http://caml.inria.fr/pub/docs/manual-ocaml/libref/Random.html I wouldn't play with a random number generator unless I know exactly what I'm doing. Your results depend on it! (well, your messed-up-by- andres compiler could already have issues ... :-(, for what I use it I can verify the result with a 32 bit binary or a 64 bit linux binary, if you can, then do the same!). Andres > > > Thanks a lot Andres. > Jean > > On Wed, Jul 16, 2008 at 12:27 PM, Jean Krivine > <jean_krivine@hms.harvard.edu> wrote: >> Great thanks! >> >> J >> >> On Wed, Jul 16, 2008 at 10:16 AM, Andres Varon <avaron@gmail.com> >> wrote: >>> >>> On Jul 15, 2008, at 3:38 PM, Jean Krivine wrote: >>> >>>> I'd be glad to try the patch if you could post it somewhere! >>> >>> I have posted it in: >>> >>> http://research.amnh.org/~avaron/ocaml/ >>> >>> best, >>> >>> Andres >>>> >>>> J >>>> >>>> On Tue, Jul 15, 2008 at 3:31 PM, Andres Varon <avaron@gmail.com> >>>> wrote: >>>>> >>>>> Hello Jean, >>>>> >>>>> There is no 64-bit native OCaml compiler for Mac OS X intel. I >>>>> have a >>>>> patch >>>>> that works in Leopard, but did not compile opt.opt in Tiger, >>>>> meaning that >>>>> something is not OK, so I did not offer it to the community. The >>>>> bootstrap >>>>> went fine, findlib and godi compiled OK too. I can post the >>>>> patches >>>>> somewhere if you want to give it a shot. >>>>> >>>>> My memory intensive application runs fine in Leopard with this >>>>> compiler. >>>>> But >>>>> the binaries do not execute in Tiger (I found that other people >>>>> had the >>>>> same >>>>> trouble copying a 64 bit apps from Leopard to Tiger and the >>>>> other way >>>>> around, but didn't look into it). >>>>> >>>>> If you want it ... I can post it, maybe someone can cleanup my >>>>> job? All >>>>> that >>>>> would be needed after patching is: >>>>> >>>>> ./configure -host x86_64-apple-darwin -prefix /opt/ocaml/ >>>>> experimental >>>>> >>>>> (The prefix I always add for my ocaml-modified comilers). >>>>> >>>>> best, >>>>> >>>>> Andres >>>>> >>>>> On Jul 15, 2008, at 1:06 PM, Jean Krivine wrote: >>>>> >>>>>> Dear all >>>>>> >>>>>> I downloaded the last version of ocaml (3.10.2) but I must >>>>>> confess I >>>>>> don't know what option I should pass to the compiler to make a >>>>>> binary >>>>>> that uses 64 bits. >>>>>> I tried naively ocamlopt -ccopt -arch -ccopt x86_64 but that >>>>>> doesn't >>>>>> work. Any idea? >>>>>> >>>>>> >>>>>> >>>>>> On Fri, Jul 11, 2008 at 6:01 PM, Richard Jones >>>>>> <rich@annexia.org> wrote: >>>>>>> >>>>>>> On Fri, Jul 11, 2008 at 03:49:26PM -0400, Jean Krivine wrote: >>>>>>>> >>>>>>>> I am trying to run a stochastic simulator (written in ocaml) >>>>>>>> on a huge >>>>>>>> data set and I have the following error message: >>>>>>> >>>>>>> I can confirm that OCaml works fine with huge datasets, on 64 >>>>>>> bit >>>>>>> platforms anyway. >>>>>>> >>>>>>>> sim(9595) malloc: *** mmap(size=1048576) failed (error code=12) >>>>>>>> *** error: can't allocate region >>>>>>>> *** set a breakpoint in malloc_error_break to debug >>>>>>>> Fatal error: out of memory. >>>>>>>> >>>>>>>> My system: >>>>>>>> >>>>>>>> Mac Pro running OS X 10.5.4 >>>>>>>> Processor: 2 x 2.8 GHz Quad-Core Intel Xeon >>>>>>>> Memory: 10 GB 800 MHz DDR2 FB-DIMM >>>>>>>> >>>>>>>> Does someone know what happened? Do you have any idea of any >>>>>>>> parameter >>>>>>>> I could tune in order to avoid that? >>>>>>> >>>>>>> Is the compiler 32 bits or 64 bits on this machine? Try doing: >>>>>>> >>>>>>> $ ocaml >>>>>>> # Sys.word_size ;; >>>>>>> >>>>>>> It should print out either '32' or '64'. >>>>>>> >>>>>>> Also run your program under whatever the OS X equivalent of >>>>>>> 'strace' >>>>>>> is (ktrace?) to find out exactly why the mmap call fails. >>>>>>> >>>>>>> OCaml <= 3.10.2 on Linux suffers a nasty problem with its use >>>>>>> of mmap >>>>>>> and randomized address spaces >>>>>>> (https://bugzilla.redhat.com/show_bug.cgi?id=445545#c9) but it >>>>>>> doesn't >>>>>>> seem like this is the same issue. >>>>>>> >>>>>>> Rich. >>>>>>> >>>>>>> -- >>>>>>> Richard Jones >>>>>>> Red Hat >>>>>>> >>>>>>> _______________________________________________ >>>>>>> Caml-list mailing list. Subscription management: >>>>>>> http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list >>>>>>> Archives: http://caml.inria.fr >>>>>>> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners >>>>>>> Bug reports: http://caml.inria.fr/bin/caml-bugs >>>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> Caml-list mailing list. Subscription management: >>>>>> http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list >>>>>> Archives: http://caml.inria.fr >>>>>> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners >>>>>> Bug reports: http://caml.inria.fr/bin/caml-bugs >>>>> >>>>> >>> >>> >> ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [Caml-list] memory usage 2008-07-16 18:44 ` Andres Varon @ 2008-07-16 18:54 ` Jean Krivine 0 siblings, 0 replies; 20+ messages in thread From: Jean Krivine @ 2008-07-16 18:54 UTC (permalink / raw) To: Andres Varon; +Cc: caml-list I agree. I should use Int64 instead of just int, but I still think that the application (Random.int max_int) should not be exception prone. Since max_int is architecture dependent, then so should be Random.int no? But you point is well taken. Thanks again J On Wed, Jul 16, 2008 at 2:44 PM, Andres Varon <avaron@gmail.com> wrote: > > > On Jul 16, 2008, at 2:07 PM, Jean Krivine wrote: > >> Good news, I just tested the patch and it works great with my application! >> I just had to modify the module random since a call to (Random.int >> max_int) may raise and exception (it is made for 32 bits integers). >> So I guess that modification should be included in the patch. > > I don't think that's a good idea. You have to use Random.int64 to get a 64 > bit random integer. The Random.int function will return an integer between 0 > and 2^30. Check the Random module documentation here: > > http://caml.inria.fr/pub/docs/manual-ocaml/libref/Random.html > > I wouldn't play with a random number generator unless I know exactly what > I'm doing. Your results depend on it! (well, your messed-up-by-andres > compiler could already have issues ... :-(, for what I use it I can verify > the result with a 32 bit binary or a 64 bit linux binary, if you can, then > do the same!). > > > Andres >> >> >> Thanks a lot Andres. >> Jean >> >> On Wed, Jul 16, 2008 at 12:27 PM, Jean Krivine >> <jean_krivine@hms.harvard.edu> wrote: >>> >>> Great thanks! >>> >>> J >>> >>> On Wed, Jul 16, 2008 at 10:16 AM, Andres Varon <avaron@gmail.com> wrote: >>>> >>>> On Jul 15, 2008, at 3:38 PM, Jean Krivine wrote: >>>> >>>>> I'd be glad to try the patch if you could post it somewhere! >>>> >>>> I have posted it in: >>>> >>>> http://research.amnh.org/~avaron/ocaml/ >>>> >>>> best, >>>> >>>> Andres >>>>> >>>>> J >>>>> >>>>> On Tue, Jul 15, 2008 at 3:31 PM, Andres Varon <avaron@gmail.com> wrote: >>>>>> >>>>>> Hello Jean, >>>>>> >>>>>> There is no 64-bit native OCaml compiler for Mac OS X intel. I have a >>>>>> patch >>>>>> that works in Leopard, but did not compile opt.opt in Tiger, meaning >>>>>> that >>>>>> something is not OK, so I did not offer it to the community. The >>>>>> bootstrap >>>>>> went fine, findlib and godi compiled OK too. I can post the patches >>>>>> somewhere if you want to give it a shot. >>>>>> >>>>>> My memory intensive application runs fine in Leopard with this >>>>>> compiler. >>>>>> But >>>>>> the binaries do not execute in Tiger (I found that other people had >>>>>> the >>>>>> same >>>>>> trouble copying a 64 bit apps from Leopard to Tiger and the other way >>>>>> around, but didn't look into it). >>>>>> >>>>>> If you want it ... I can post it, maybe someone can cleanup my job? >>>>>> All >>>>>> that >>>>>> would be needed after patching is: >>>>>> >>>>>> ./configure -host x86_64-apple-darwin -prefix /opt/ocaml/experimental >>>>>> >>>>>> (The prefix I always add for my ocaml-modified comilers). >>>>>> >>>>>> best, >>>>>> >>>>>> Andres >>>>>> >>>>>> On Jul 15, 2008, at 1:06 PM, Jean Krivine wrote: >>>>>> >>>>>>> Dear all >>>>>>> >>>>>>> I downloaded the last version of ocaml (3.10.2) but I must confess I >>>>>>> don't know what option I should pass to the compiler to make a binary >>>>>>> that uses 64 bits. >>>>>>> I tried naively ocamlopt -ccopt -arch -ccopt x86_64 but that doesn't >>>>>>> work. Any idea? >>>>>>> >>>>>>> >>>>>>> >>>>>>> On Fri, Jul 11, 2008 at 6:01 PM, Richard Jones <rich@annexia.org> >>>>>>> wrote: >>>>>>>> >>>>>>>> On Fri, Jul 11, 2008 at 03:49:26PM -0400, Jean Krivine wrote: >>>>>>>>> >>>>>>>>> I am trying to run a stochastic simulator (written in ocaml) on a >>>>>>>>> huge >>>>>>>>> data set and I have the following error message: >>>>>>>> >>>>>>>> I can confirm that OCaml works fine with huge datasets, on 64 bit >>>>>>>> platforms anyway. >>>>>>>> >>>>>>>>> sim(9595) malloc: *** mmap(size=1048576) failed (error code=12) >>>>>>>>> *** error: can't allocate region >>>>>>>>> *** set a breakpoint in malloc_error_break to debug >>>>>>>>> Fatal error: out of memory. >>>>>>>>> >>>>>>>>> My system: >>>>>>>>> >>>>>>>>> Mac Pro running OS X 10.5.4 >>>>>>>>> Processor: 2 x 2.8 GHz Quad-Core Intel Xeon >>>>>>>>> Memory: 10 GB 800 MHz DDR2 FB-DIMM >>>>>>>>> >>>>>>>>> Does someone know what happened? Do you have any idea of any >>>>>>>>> parameter >>>>>>>>> I could tune in order to avoid that? >>>>>>>> >>>>>>>> Is the compiler 32 bits or 64 bits on this machine? Try doing: >>>>>>>> >>>>>>>> $ ocaml >>>>>>>> # Sys.word_size ;; >>>>>>>> >>>>>>>> It should print out either '32' or '64'. >>>>>>>> >>>>>>>> Also run your program under whatever the OS X equivalent of 'strace' >>>>>>>> is (ktrace?) to find out exactly why the mmap call fails. >>>>>>>> >>>>>>>> OCaml <= 3.10.2 on Linux suffers a nasty problem with its use of >>>>>>>> mmap >>>>>>>> and randomized address spaces >>>>>>>> (https://bugzilla.redhat.com/show_bug.cgi?id=445545#c9) but it >>>>>>>> doesn't >>>>>>>> seem like this is the same issue. >>>>>>>> >>>>>>>> Rich. >>>>>>>> >>>>>>>> -- >>>>>>>> Richard Jones >>>>>>>> Red Hat >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> Caml-list mailing list. Subscription management: >>>>>>>> http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list >>>>>>>> Archives: http://caml.inria.fr >>>>>>>> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners >>>>>>>> Bug reports: http://caml.inria.fr/bin/caml-bugs >>>>>>>> >>>>>>> >>>>>>> _______________________________________________ >>>>>>> Caml-list mailing list. Subscription management: >>>>>>> http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list >>>>>>> Archives: http://caml.inria.fr >>>>>>> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners >>>>>>> Bug reports: http://caml.inria.fr/bin/caml-bugs >>>>>> >>>>>> >>>> >>>> >>> > > ^ permalink raw reply [flat|nested] 20+ messages in thread
end of thread, other threads:[~2017-02-01 9:05 UTC | newest] Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2017-01-30 16:39 [Caml-list] Memory Usage Umair Siddique 2017-01-30 16:42 ` Van Chan Ngo 2017-01-30 16:50 ` Evgeny Roubinchtein 2017-01-31 18:09 ` Umair Siddique 2017-02-01 9:04 ` Alain Frisch -- strict thread matches above, loose matches on Subject: below -- 2009-01-12 7:41 memory usage John Lepikhin 2009-01-12 8:39 ` [Caml-list] " Richard Jones 2009-01-12 9:14 ` John Lepikhin [not found] ` <20090112114837.GB18405@janestcapital.com> 2009-01-12 15:05 ` John Lepikhin 2009-01-12 16:29 ` Florian Hars 2009-01-12 16:44 ` John Lepikhin 2008-07-11 19:49 Jean Krivine 2008-07-11 21:49 ` [Caml-list] " Till Varoquaux 2008-07-11 22:01 ` Richard Jones 2008-07-15 17:06 ` Jean Krivine 2008-07-15 19:31 ` Andres Varon 2008-07-15 19:38 ` Jean Krivine 2008-07-16 14:16 ` Andres Varon 2008-07-16 16:27 ` Jean Krivine 2008-07-16 18:07 ` Jean Krivine 2008-07-16 18:44 ` Andres Varon 2008-07-16 18:54 ` Jean Krivine
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox