Yes, this is really weird. It is not possible
to allocate more than 1Gb chunk of memory.

Running Ubuntu-8 64-bit in VMWare with 1.5Gb RAM,
I can allocate even smaller array than on 32-bit
Windows, with 1.5 Gb RAM.

On Ubuntu-8 64-bit:

   A=: i.2^26   NB. 0.5 Gb OK

   A=: i.2^27   NB. > 1 Gb Error
|out of memory
|   A=:    i.2^28

It is possible to allocate one more such array:

   B=: i.2^26

To a total of
   7!:0''
2,148,241,024

then it given out of memory

On Windows XP 32-bit:

   A=: i.2^27   NB. 0.5 Gb OK

   A=: i.2^28   NB. > 1 Gb Error
|limit error
|   A=:    i.2^28

(The memory limit is of 2^30 is maximum possible on 32-bit.)


   <.2^26
67,108,864
   8*<.2^26   NB. 0.5 Gb worth of 64-bit ints
536,870,912

   <.2^27
134,217,728
   4*<.2^27   NB. 0.5 Gb worth of 32-bit ints
536,870,912
   
   <.2^28
268,435,456
   4*<.2^28   NB. 1 Gb worth of 32-bit ints
1,073,741,824






> From: Matthew Brand <[EMAIL PROTECTED]>
> 
> I don't think I understand all this 64-bit stuff at all now.
> 
> I am using J64 for Linux on 64 bit Ubuntu on VMWare fusion on Leopard
> on a 2GB Mac Book Pro. I thought that by using J64 I would be able to
> work with arrays of much larger size because the Virtual Address Space
> would be larger.
> 
> But I get this:
>    #i.2^24
> 16777216
>    #i.2^30
> |out of memory
> |   #    i.2^30
> 
> When I try to use mapped files...
> require 'jmf files dir'
> NB. This works
> size =. 65536
> bigfn =. jpath '~temp\big.jmf'
> createjmf_jmf_ bigfn;(size)
> map_jmf_ 'bigvar';bigfn
> bigfun =: i.size
> unmap_jmf_ 'bigvar'
> 
> NB. This does not work, but I cannot see why since 65536=2^16
> size =. 2^16
> bigfn =. jpath '~temp\big.jmf'
> createjmf_jmf_ bigfn;(size)
> map_jmf_ 'bigvar';bigfn
> bigfun =: i.size
> unmap_jmf_ 'bigvar'
> 
> NB. When I try to make a really big mapped file, I get an error. but I
> thought the VAS on J64 was 2^64?
> NB. This only tries to make a 2GB mapped file (only 2^32) but does not work.
> size =. 2147483648
> bigfn =. jpath '~temp\big.jmf'
> createjmf_jmf_ bigfn;(size)
> map_jmf_ 'bigvar';bigfn
> bigfun =: i.size
> unmap_jmf_ 'bigvar'
> 
> NB. the error is:
>    map_jmf_ 'bigvar';bigfn
> |bad jmf header: assert
> |   'bad jmf header'    assert 0[free fh,mh,fad
> 
> Have I just completely missed the point of 64-bit VAS? Should I be
> able to create size 2^32 byte mapped files using J64? When a command
> results in "out of memory", does that mean it is out of RAM or out of
> VAS? My edit->configure->parameters->memory limit is set to 2^62. Do I
> need to set some other parameters in Ubuntu to allow J to use more
> VAS?
> 
> Thanks,
> Matthew.
> 
> 2008/11/15 Matthew Brand :
> > Thanks for the help guys. I think the problem is that VirtualBox does
> > not support 64 bit guests on the Mac yet. Let's hope they sort it out
> > soon?
> >
> > I have installed a trial copy of VMWare fusion and have managed to get
> > J64 working on ubuntu. Hooray! :-).
> >
> > Issues I ran into, in case anyone else tries it this way:
> >
> > 1) The macBook Pro keyboard is not properly recognised, so I did the
> > things advised on this page
> > http://ubuntuforums.org/showthread.php?t=959249 .
> >
> > I installed xkbset:
> >
> > sudo apt-get install xkbset
> >
> > and appended the following to .bashrc:
> >
> > xmodmap -e "keycode 94 = grave asciitilde"
> > xmodmap -e "keycode 133 = ISO_Level3_Shift"
> > xmodmap -e "keycode 134 = Multi_key"
> > xmodmap -e "keycode 108 = Pointer_Button3"
> > xkbset m
> >
> >
> > 2) java64 had to be created:
> >  sudo  ln /usr/bin/java /usr/bin/java64
> >
> > 64-bit jconsole and jwd work for me now start for me now. If I don't
> > run into any problems then I will buy a copy of VMWare fusion when the
> > trial runs out. It is pretty slick and only costs ~£50.
> >
> > Cheers,
> > Matthew.
> >
> > 2008/11/15 bill lam :
> >> On Fri, 14 Nov 2008, Matthew Brand wrote:
> >>> I have managed to get Damn Small Linux (DSL) working, but it complains
> >>> that the Jconsole binary cannot be executed. I tried to install Java
> >>> on it, but gave up after an hour. Then I installed Arch Linux 64, but
> >>> could not get it to connect to the internet. Ubuntu complains that the
> >>> kernel is for x86 rather than i686 so that does not work, I cannot
> >>> find an Ubuntu which has got the i686 kernel.
> >>
> >> virtualbox only started to support 64-bit guest recently.  My
> >> experience is that it works but not very well. DSL uses a rather
> >> outdated kernel 2.24 iirc. Arch Linux is meant for hackers, its
> >> installation stops after setting up enough to allow to you login a tty
> >> console. You have to manually set up various conf files yourself. I
> >> guess that ubuntu said it needs a "x86_64" which means a 64-bit cpu
> >> rather than "i686" (32-bit). So did you actually install a 64-bit
> >> version of virtualbox on a 64-bit os running on a 64-bit cpu?
> >>
> >>> What is involved in making a 64 bit J64 bit binary for the Mac anyway?
> >>> Is it possible to just put the source code onto a 64 bit mac and press
> >>> compile/build to make a dmg file and upload it to the download page
> >>> for J?
> >>
> >> Might be Eric did not get a macbook with 64-bit os to play with, or
> >> you might contact [EMAIL PROTECTED] as mentioned in the download
> >> page.
> >>
> >> --
> >> regards,
> >> ====================================================
> >> GPG key 1024D/4434BAB3 2008-08-24
> >> gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3
> >> 唐詩105 杜甫  月夜
> >>    今夜鄜州月  閨中只獨看  遙憐小兒女  未解憶長安
> >>    香霧雲鬟濕  清輝玉臂寒  何時倚虛幌  雙照淚痕乾
> >> ----------------------------------------------------------------------
> >> For information about J forums see http://www.jsoftware.com/forums.htm
> >>
> >




----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to