[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/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/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/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/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]/feed.php on line 173: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
[phpBB Debug] PHP Warning: in file [ROOT]/feed.php on line 174: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
Parallella Community Supercomputing for Everyone 2017-05-30T11:18:33+00:00 https://parallella.org/forums/feed.php?f=43 2017-05-30T11:18:33+00:00 2017-05-30T11:18:33+00:00 https://parallella.org/forums/viewtopic.php?t=3706&p=19120#p19120 <![CDATA[Assembly • Re: Assembly snippets]]>

That said, I've done my best to suit your wishes, jar.
You can access individual files now :)

Anyway:
- a zip is a unit ; if somebody's only interested in seeing a basic program with timers configurable via argv[1] and argv[2]: download the first zip.
If you don't care assembly, rather download the *b zip
- a zip contains the full tree - files, folders. With github I am annoyed with creating empty folders. It cannot - or tell me how ; I must create a dummy file into the folder ; and if I delete this dummy file github deletes my empty folder.
Any structured project contains some folders: bin, src... and of course the bin folder should be empty.
(Or maybe I should tell build.sh to create the bin folder if it does not exist... another compromise.)

In this way it's faster for me to download the everything in a zip ; github is not my cup of tea and more like an archive for me - I admit the doc/misc.txt is a personal reminder ^^
If one thousand people would follow Rossinante, Sancho Panza and me on my projects I'd certainly invest more. But it's OK for other advices, I could certainly do better, no problem.

Statistics: Posted by DonQuichotte — Tue May 30, 2017 11:18 am


]]>
2017-05-30T02:16:11+00:00 2017-05-30T02:16:11+00:00 https://parallella.org/forums/viewtopic.php?t=3706&p=19113#p19113 <![CDATA[Assembly • Re: Assembly snippets]]>
You're not using git the way it was intended to be used...I've never seen anything quite like your SPMD-canvas repository.

Redistributing the Epiphany documentation is fine, but you bundle it up into multiple zip files and track each one. It's much easier to view your code if you just track the files and do not distribute *.zip files.

Statistics: Posted by jar — Tue May 30, 2017 2:16 am


]]>
2017-05-30T00:33:52+00:00 2017-05-30T00:33:52+00:00 https://parallella.org/forums/viewtopic.php?t=3706&p=19111#p19111 <![CDATA[Assembly • Re: Assembly snippets]]> Added a simple canvas for live low-level benchmarks with event timers information.
Demo with some 64-bit incrementation routines: unzip the *c.zip

Click on my github website, "SPMD-canvas" project.

Statistics: Posted by DonQuichotte — Tue May 30, 2017 12:33 am


]]>
2017-03-21T14:24:17+00:00 2017-03-21T14:24:17+00:00 https://parallella.org/forums/viewtopic.php?t=4012&p=18792#p18792 <![CDATA[Assembly • Re: randf - a fast and space-efficient 32-bit floating point]]> Statistics: Posted by jar — Tue Mar 21, 2017 2:24 pm


]]>
2017-03-21T03:52:30+00:00 2017-03-21T03:52:30+00:00 https://parallella.org/forums/viewtopic.php?t=4012&p=18789#p18789 <![CDATA[Assembly • randf - a fast and space-efficient 32-bit floating point RNG]]> Statistics: Posted by jar — Tue Mar 21, 2017 3:52 am


]]>
2017-02-28T11:34:35+00:00 2017-02-28T11:34:35+00:00 https://parallella.org/forums/viewtopic.php?t=3139&p=18628#p18628 <![CDATA[Assembly • Re: Great tool for looking at compiler generated assembly]]> Statistics: Posted by olajep — Tue Feb 28, 2017 11:34 am


]]>
2017-02-27T23:04:15+00:00 2017-02-27T23:04:15+00:00 https://parallella.org/forums/viewtopic.php?t=3139&p=18627#p18627 <![CDATA[Assembly • Re: Great tool for looking at compiler generated assembly]]> Statistics: Posted by jar — Mon Feb 27, 2017 11:04 pm


]]>
2017-02-27T15:07:18+00:00 2017-02-27T15:07:18+00:00 https://parallella.org/forums/viewtopic.php?t=3139&p=18626#p18626 <![CDATA[Assembly • Re: Great tool for looking at compiler generated assembly]]> Statistics: Posted by olajep — Mon Feb 27, 2017 3:07 pm


]]>
2017-02-19T14:01:09+00:00 2017-02-19T14:01:09+00:00 https://parallella.org/forums/viewtopic.php?t=3139&p=18605#p18605 <![CDATA[Assembly • Re: Great tool for looking at compiler generated assembly]]> Statistics: Posted by eleitl — Sun Feb 19, 2017 2:01 pm


]]>
2016-05-30T10:54:18+00:00 2016-05-30T10:54:18+00:00 https://parallella.org/forums/viewtopic.php?t=3705&p=17679#p17679 <![CDATA[Assembly • Re: Assembly class HERE]]>
I posted from the library and there was an unexpected strike, so my hurry last day... :D welcome in France ;) the quoted URL is fine now.

I read here and there that with RISC the burden is to be taken by the programmer.
However for Epiphany there are no many conventions, search ABI or EABI under the forum or the docs - the architecture manual is a must.
From my memory I get:
r0-r3 = parameter passing ; if more than 4 parameters, it uses the stack
r0-r7 = allows 16-bit instructions (see how in one of the final tables in the arch. manual)

r32-r63: caller saved - well suited for leaf functions, iirc. Use as you like.
r63 may be used for the immediate value -1 (0xFFffFFff): it's handy for mask/bit/integer operations. Compile with -m1reg-r63 for use - it works :)
I did not try r43 that does the same but in my opinion it shoud be obsoleted, it's double usage.

r28-r31: for immediate values, reserved... not clear for who, maybe a future Adapteva use ? In my current attempt I use them for my own wanted immediate values.
r16-r27: free to use.

r8-r15 may give issues, use them in last resort. Callee saved iirc.
r8: nothing particular
r9-r10: used by the system for stack base... seen in objdump, init. part. I avoid them.
r11/r15: there is a change in the ABI, it might be "fp"... I avoid them too, I'm not fully 2016.3.1 yet.
r12: lr = Link Register, very important. You must save it for recursive functions.
r13: sp ? Basically I sub sp, some_value then ldr/str - there is no push/pop - then I add sp, some_value... saving lr and using jalr when using recursivity.
JALR is like a "CALL eax", but it's *your* burden to save the LR.
JR is like a "JMP eax", so you can use it iff the return address is guaranteed unique and you know it
RTS looks like RET but actually it's converted to "JR LR" iirc (you should objdump this for clarity)
r14: ?
ysapir's advice is good, compile and objdump:

I made the small C program recurse.c for that.

I use prefixes to alias the register and to better remember/read what I code:
I_* for Immediates
O_* for fixed Offsets
P_* for Pointers (my new habit, sometimes the Offsets should be adjusted)
R_* for Register values for the fastest possible access: crucial recurrent values
S_* for Stackable, very important to align to even registers for 64-bit values

In short: for a start objdump recurse.c or any tiny C program ; gcc-explorer is a must-have tool too: you dynamically test the code you want :D

Statistics: Posted by DonQuichotte — Mon May 30, 2016 10:54 am


]]>
2016-05-28T21:27:56+00:00 2016-05-28T21:27:56+00:00 https://parallella.org/forums/viewtopic.php?t=3705&p=17677#p17677 <![CDATA[Assembly • Re: Assembly class HERE]]>
On x86 every register has an intentional purpose:

* AX --> Accumulator
* BX --> Source
* CX --> Counter
* DX --> Destination

How are the RISC register used, is there a certain convention how they are used?

Also the Stack is not very clear, r13 is used but how is something pushed and popped?

Statistics: Posted by Olaf — Sat May 28, 2016 9:27 pm


]]>
2016-05-28T21:01:13+00:00 2016-05-28T21:01:13+00:00 https://parallella.org/forums/viewtopic.php?t=3705&p=17676#p17676 <![CDATA[Assembly • Re: Assembly class HERE]]>
Deadlines at work so almost no time for Parallella, and too tired to do mental stuff.
But your ARM assembler explanation comes just in time, I was preparing to learn the assembly and did not know where to start yet.

Statistics: Posted by Olaf — Sat May 28, 2016 9:01 pm


]]>
2016-05-27T14:25:50+00:00 2016-05-27T14:25:50+00:00 https://parallella.org/forums/viewtopic.php?t=3705&p=17672#p17672 <![CDATA[Assembly • Re: Assembly class HERE]]> Statistics: Posted by DonQuichotte — Fri May 27, 2016 2:25 pm


]]>
2016-05-27T13:58:12+00:00 2016-05-27T13:58:12+00:00 https://parallella.org/forums/viewtopic.php?t=3706&p=17671#p17671 <![CDATA[Assembly • Re: Assembly snippets]]> Statistics: Posted by DonQuichotte — Fri May 27, 2016 1:58 pm


]]>
2016-05-27T12:53:32+00:00 2016-05-27T12:53:32+00:00 https://parallella.org/forums/viewtopic.php?t=3705&p=17670#p17670 <![CDATA[Assembly • Re: Assembly class HERE]]> Statistics: Posted by MiguelTasende — Fri May 27, 2016 12:53 pm


]]>