Julia for embedded memory and/or ARM cross-compilation

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Julia for embedded memory and/or ARM cross-compilation

waTeim
Are there instructions for (cross)-compiling?  The generic build for ARM does work,
but it commonly fails with  "could not allocate pools" and is becoming more and more
cumbersome; there is an open issue, but the workaround referred to in there requires a
compile.

Alternately is there a way to change the default allocation (8G) to say 500M when
compiling for ARM since no ARM device has that much memory?  Oh hai.

-Jeff
Reply | Threaded
Open this post in threaded view
|

Re: Julia for embedded memory and/or ARM cross-compilation

Yichao Yu
On Fri, Mar 18, 2016 at 4:01 PM, Jeff Waller <[hidden email]> wrote:
> Are there instructions for (cross)-compiling?  The generic build for ARM
> does work,
> but it commonly fails with  "could not allocate pools" and is becoming more
> and more
> cumbersome; there is an open issue, but the workaround referred to in there
> requires a
> compile.

This shouldn't be an issue on ARM since it is 64bit only. AArch64 does
have better support then ARM but I don't think we have a binary yet.

>
> Alternately is there a way to change the default allocation (8G) to say 500M
> when
> compiling for ARM since no ARM device has that much memory?  Oh hai.
>
> -Jeff
Reply | Threaded
Open this post in threaded view
|

Re: Julia for embedded memory and/or ARM cross-compilation

waTeim

This shouldn't be an issue on ARM since it is 64bit only. AArch64 does
have better support then ARM but I don't think we have a binary yet.


Hmm going to the trouble of cross-compile? or is this no longer an error and simply download the newest?
Or it's not the same underlying error?  It does in fact crash a lot with that error message -- well when combined
embedded on ARM and (like I said in the issue) that ARM device has minimal amounts of memory and no swap.
64 bit eh, why did I think it was 32?
Reply | Threaded
Open this post in threaded view
|

Re: Julia for embedded memory and/or ARM cross-compilation

Yichao Yu
On Fri, Mar 18, 2016 at 4:56 PM, Jeff Waller <[hidden email]> wrote:

>>
>> This shouldn't be an issue on ARM since it is 64bit only. AArch64 does
>> have better support then ARM but I don't think we have a binary yet.
>>
>
> Hmm going to the trouble of cross-compile? or is this no longer an error and
> simply download the newest?
> Or it's not the same underlying error?  It does in fact crash a lot with
> that error message -- well when combined
> embedded on ARM and (like I said in the issue) that ARM device has minimal
> amounts of memory and no swap.
> 64 bit eh, why did I think it was 32?

What I mean is that the issue is 64bit only so a 32bit ARM system will
not hit the same issue. If you are seeing it on 32bit, it's most
likely because the problem is genuinely using more physical memory
than what's available.
Reply | Threaded
Open this post in threaded view
|

Re: Julia for embedded memory and/or ARM cross-compilation

waTeim

What I mean is that the issue is 64bit only so a 32bit ARM system will
not hit the same issue. If you are seeing it on 32bit, it's most
likely because the problem is genuinely using more physical memory
than what's available.

this is possible, it does appear to allocated a large amount of memory, however 
it does not always fail, and if it does fail it's always at the beginning.  The actual
amount of code and actual allocations (by me) is practically nothing.  I think
it's the GC trying to allocate a large block to play with for later (if necessary) but
it guesses a value too large for the system and fails.  Or possibly this is LLVM
allocating a large amount of memory at the beginning and then failing.  The behavior
seems more consistent with the gc fail.

Is this not what the GC bug is about, assuming copy-on-write semantics allow
allocating a lot more memory then is psychically available? 
Reply | Threaded
Open this post in threaded view
|

Re: Julia for embedded memory and/or ARM cross-compilation

Yichao Yu
> Is this not what the GC bug is about, assuming copy-on-write semantics allow
> allocating a lot more memory then is psychically available?

No, the issue is about putting a virtual address space limit that
causing the GC failing to reserve 8G of address range before
allocating anything.