From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: ** X-Spam-Status: No, score=2.1 required=5.0 tests=AWL,DNS_FROM_RFC_POST, SPF_NEUTRAL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by yquem.inria.fr (Postfix) with ESMTP id C1788BB84 for ; Wed, 16 Jul 2008 20:54:28 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AsoEAHPgfUjRVYT7Y2dsb2JhbACSBDkcAhwFlyKHIQ X-IronPort-AV: E=Sophos;i="4.31,198,1215381600"; d="scan'208";a="27388008" Received: from an-out-0708.google.com ([209.85.132.251]) by mail4-smtp-sop.national.inria.fr with ESMTP; 16 Jul 2008 20:54:27 +0200 Received: by an-out-0708.google.com with SMTP id b2so71901ana.102 for ; Wed, 16 Jul 2008 11:54:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:sender :to:subject:cc:in-reply-to:mime-version:content-type :content-transfer-encoding:content-disposition:references :x-google-sender-auth; bh=noB3BsnYfmJVLs+ge/PewKjoT4WiX1Ssk1H0RJ6Lvys=; b=FEkORf9bZWVAngB/44KSPq39rP7I8keKc6vMk0kyNEfRWrNJY8uZEiPrzvgPOgnIjX Qo4aVxqcsKqONQDnKM+2IIzWDYklWJO6muiGfUECXjAkE/LG4gHCfpR2500/DzBmBdnX tmatAUDL9qyQUEYxaytwVL3Vdp5EhGLuYHRTo= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:sender:to:subject:cc:in-reply-to:mime-version :content-type:content-transfer-encoding:content-disposition :references:x-google-sender-auth; b=I6luagEZ0BuqkulpR3/flEQ1cD/stNYrDygmePLvqEb0Qtw5DpICvgpF/sridAbBVM YNurwe9+do8iuWtFsXXEzcVdoqBfqinl0xs7gk24ecKmidqlRSXpFo9Y2S3qqCkI3HBQ PyCwRG39lx7odopO32rVbAyMcKfwRhRmjnEgU= Received: by 10.100.48.8 with SMTP id v8mr2627136anv.50.1216234466534; Wed, 16 Jul 2008 11:54:26 -0700 (PDT) Received: by 10.100.196.1 with HTTP; Wed, 16 Jul 2008 11:54:26 -0700 (PDT) Message-ID: Date: Wed, 16 Jul 2008 14:54:26 -0400 From: "Jean Krivine" Sender: jean.krivine@gmail.com To: "Andres Varon" Subject: Re: [Caml-list] memory usage Cc: caml-list@yquem.inria.fr In-Reply-To: <85BCED35-B8FD-4734-984C-581569C35C13@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <20080711220106.GA16853@annexia.org> <5A27A5ED-C5A2-47E4-9C90-E7F72DB07891@gmail.com> <00C7FEE1-8DA2-42BC-AC47-8626BFA16850@gmail.com> <85BCED35-B8FD-4734-984C-581569C35C13@gmail.com> X-Google-Sender-Auth: af248ca240db32b0 X-Spam: no; 0.00; krivine:01 krivine:01 integers:01 libref:01 compiler:01 amnh:01 ocaml:01 ocaml:01 compiler:01 findlib:01 patching:01 -prefix:01 ocamlopt:01 malloc:01 malloc:01 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 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 >> wrote: >>> >>> Great thanks! >>> >>> J >>> >>> On Wed, Jul 16, 2008 at 10:16 AM, Andres Varon 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 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 >>>>>>> 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 >>>>>> >>>>>> >>>> >>>> >>> > >