[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4688: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4690: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4691: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4692: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
Parallella Community • View topic - can we simplify the e-load procedure

can we simplify the e-load procedure

Discussion about Parallella (and Epiphany) Software Development

Moderators: amylaar, jeremybennett, simoncook

can we simplify the e-load procedure

Postby ed2k » Thu Jan 03, 2013 5:11 am

currently as the SDK indicated, the developer has to generate individual elf per core, then translate them into s-record per actual core address, then combine them into one s-record file to download.
This is really cumbersome. Do you plan to simplify it?
To start I think the loader should take the function of linker and loader. That means only one elf is generated, when loading, the loader rewrite the elf based on each core address.
To further evolve, I would like to see something similar to dynamic library or linux kernel module. the lib/ko can be load/unload at runtime.
The ultimate goal is to overcome the 32KB limitation. implement some kind of function/lib on-demand relocation technique. And all this type of stuff can be done from host side.

Thanks,
ed2k
 
Posts: 113
Joined: Mon Dec 17, 2012 3:27 am

Re: can we simplify the e-load procedure

Postby piotr5 » Thu Jan 03, 2013 6:52 am

I agree, the 32k are a good cache, we just need a dma-scheduler to fill that cache in time before the program gets to that point. additionally somewhere I read that one could sort of strip (static) binaries even more aggressively by removing error-messages that never will be encountered anyway (so that garbage is printed when they do). maybe those messages could be stored outside of those 32k, maybe even centrally so that all cores can print the same errors? intel-compiler does one funny thing: it runs tests on a program before re-compiling it in a way so that those tests run as efficiently as possible. I think with parallella it would make sense to do the same for deciding where to store what parts of the program, or maybe let the programmer decide too...
piotr5
 
Posts: 230
Joined: Sun Dec 23, 2012 2:48 pm

Re: can we simplify the e-load procedure

Postby fmotta » Thu Jan 03, 2013 7:08 am

Have a look at the posts viewtopic.php?f=23&t=56
as ideas used on a few other products.
User avatar
fmotta
 
Posts: 61
Joined: Mon Dec 17, 2012 3:27 am

Re: can we simplify the e-load procedure

Postby aolofsson » Thu Jan 03, 2013 1:13 pm

The Epiphany compiler currently doesn't support PIC or relocatable code (http://en.wikipedia.org/wiki/Position-independent_code), there are plans to add this functionality as soon as possible.
User avatar
aolofsson
 
Posts: 1005
Joined: Tue Dec 11, 2012 6:59 pm
Location: Lexington, Massachusetts,USA

Re: can we simplify the e-load procedure

Postby fmotta » Thu Jan 03, 2013 10:02 pm

User avatar
fmotta
 
Posts: 61
Joined: Mon Dec 17, 2012 3:27 am

Re: can we simplify the e-load procedure

Postby ed2k » Fri Jan 04, 2013 4:32 pm

PIC is not the same as relocatable code.
My first need is to build just one elf and the elf can be loaded to different cores. This may not require a full fledge relocate code or even position independent code, not even the a small OS from the core. It boils down to modifying the compiler to generate code that can distinguish intra-core address (32K) and inter-core address, then the loader can easily just rewrite the intra-core address to a specific core.

I see the other post "control plane interfaces" mentioned something similar, but I want to have a dedicated discussion thread to address this.

I guess I will have to see the loader source to give more specific suggestions.
ed2k
 
Posts: 113
Joined: Mon Dec 17, 2012 3:27 am

Re: can we simplify the e-load procedure

Postby fmotta » Sat Jan 05, 2013 8:23 am

User avatar
fmotta
 
Posts: 61
Joined: Mon Dec 17, 2012 3:27 am


Return to Programming Q & A

Who is online

Users browsing this forum: No registered users and 17 guests

cron