[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]/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 2014-08-07T14:24:09+00:00 https://parallella.org/forums/feed.php?f=9&t=256 2014-08-07T14:24:09+00:00 2014-08-07T14:24:09+00:00 https://parallella.org/forums/viewtopic.php?t=256&p=9916#p9916 <![CDATA[Re: Wishlist for next revision of Epiphany ISA]]> Statistics: Posted by algorithm — Thu Aug 07, 2014 2:24 pm


]]>
2014-08-07T11:10:30+00:00 2014-08-07T11:10:30+00:00 https://parallella.org/forums/viewtopic.php?t=256&p=9901#p9901 <![CDATA[Re: Wishlist for next revision of Epiphany ISA]]>
Tim

Statistics: Posted by timpart — Thu Aug 07, 2014 11:10 am


]]>
2014-08-06T12:12:40+00:00 2014-08-06T12:12:40+00:00 https://parallella.org/forums/viewtopic.php?t=256&p=9854#p9854 <![CDATA[Re: Wishlist for next revision of Epiphany ISA]]> Detailed algorithm:
Epiphany can execute at most 2 instructions per clock,so for 3 clocks it executes at most 6 instructions.
We can restrict slotnum to at most 6 instructions.
When the core finds a branch it just changes ip address.
When it has executed the required amount of instructions it discards the remaining wrongly fetched instructions and continues executing from the offset.

Statistics: Posted by algorithm — Wed Aug 06, 2014 12:12 pm


]]>
2014-08-06T11:02:07+00:00 2014-08-06T11:02:07+00:00 https://parallella.org/forums/viewtopic.php?t=256&p=9849#p9849 <![CDATA[Re: Wishlist for next revision of Epiphany ISA]]> Statistics: Posted by aolofsson — Wed Aug 06, 2014 11:02 am


]]>
2014-08-06T07:11:34+00:00 2014-08-06T07:11:34+00:00 https://parallella.org/forums/viewtopic.php?t=256&p=9844#p9844 <![CDATA[Re: Wishlist for next revision of Epiphany ISA]]> Statistics: Posted by algorithm — Wed Aug 06, 2014 7:11 am


]]>
2014-07-30T12:39:02+00:00 2014-07-30T12:39:02+00:00 https://parallella.org/forums/viewtopic.php?t=256&p=9628#p9628 <![CDATA[Re: Wishlist for next revision of Epiphany ISA]]>
1) big+1 for a bitselect. Whilst not ideal i think a 3-register version would still be useful and fits in 16 bits.

2) exponent modifier for float and fix. they already seem to have spare bits for rm for this.

3) fcmpCC and cmpCC instructions which send results to all bits of a register, as here: viewtopic.php?f=43&t=1550#p9621 or vcmp from ARMv7. Ideally 3 reg + Cx bits but this doesn't fit the instruction layout and wouldn't support 16-bit opcodes. Even a 2-reg version would help.

fcmp could use the same mode-selection mechanism as in 6) below so also handle integers but a separate single-cycle version that runs on the ialu pipeline would also be useful.

4) small immediate size/shift multiplier for register-indexed/pm load/stores using bits [19:16]. i.e. ldr r0,[r1,r2*4]

5) immediate and/orr/eor with sign-extended immediates. It doesn't cover the whole range but covers a lot of very useful sizes and includes a unary 'not' operation. Only if there is room in the instruction selector space though.

6) Add the rounding and integer mode bits to the 32-bit versions of fadd/fsub/fmul/fmadd/fmsub/float/fix within [22:20] which completely override the ones in the config register. Mode switches are extremely expensive in time and code-size and there's no reason to 'parameterise' it. The one bit left could (future) select double-mode, or for the i* equivalents, 64-bit output.

6a) 16-bit immediate mode instruction for setting the fpu mode bits for 16-bit f* instructions that operates with no cycle penalty and doesn't need to read/modify/write anything to set the mode. fmode #i3 (with various aliases). 3 bits being integer/float, rounding/truncate, (future) double/single to mirror the 3-bits available in 32-bit f* opcodes.

6b) other ways to save/restore the fp modes. Obvious easiest solution is an alias of the config register which only includes round/truncate and integer/float so it can be written to without reading first. Actually the same goes for almost every functional group of bits in CONFIG.

7) load/store multiple?

8) Drop movCC for cmpCC + selb + "mov rd,rn" or if possible "mov[d][e] rd,rn". Where the 'd' bit indicates double (register pair), and 'e' indicates 'exchange' (swap).

1 and 3 are for better branchless algorithms. Good for performance and critical for using the hardware-loop to it's fullest. Together they could replace movCC as in 8) - I'd go so far as to suggest that if it's a question of movCC or cmpCC, then movCC should be removed, but adapteva may not want to break backward binary compatibility (cost of doing so seems low mind you).

2, 4, 5 would help with code-size, fixed-point algorithms, and array indexing and seem to me to be pretty low-hanging fruit.

6 is pretty critical to general performance - it would have a big time/space impact on most types of code. Right now the i* "instructions" are essentially worthless outside of full integer/fixed-point code due to the mode-switching cost. Even innocuous statements like "i=(int)f" or "f=foo[j*k]*3.0f" can turn into a couple of dozen lost cycles due to mode switching. The compiler optimiser doesn't seem to like it at all either.

Statistics: Posted by notzed — Wed Jul 30, 2014 12:39 pm


]]>
2014-07-15T13:51:57+00:00 2014-07-15T13:51:57+00:00 https://parallella.org/forums/viewtopic.php?t=256&p=9293#p9293 <![CDATA[Re: Wishlist for next revision of Epiphany ISA]]>
1) 64*64 -> 128 unsigned multiply.
1a) 64*64+64 -> 128 MAC would be even nicer
2) 128/64 -> 64 quotient and 64 remainder
3) 64 bit unsigned add with carry in and carry out
4) 64-bit unsigned subtract with borrow in and borrow out.

Statistics: Posted by xilman — Tue Jul 15, 2014 1:51 pm


]]>
2014-07-15T02:03:07+00:00 2014-07-15T02:03:07+00:00 https://parallella.org/forums/viewtopic.php?t=256&p=9281#p9281 <![CDATA[Re: Wishlist for next revision of Epiphany ISA]]> Statistics: Posted by solardiz — Tue Jul 15, 2014 2:03 am


]]>
2013-04-16T02:47:52+00:00 2013-04-16T02:47:52+00:00 https://parallella.org/forums/viewtopic.php?t=256&p=1556#p1556 <![CDATA[Re: Wishlist for next revision of Epiphany ISA]]> Statistics: Posted by solardiz — Tue Apr 16, 2013 2:47 am


]]>
2013-04-16T01:23:59+00:00 2013-04-16T01:23:59+00:00 https://parallella.org/forums/viewtopic.php?t=256&p=1555#p1555 <![CDATA[Re: Wishlist for next revision of Epiphany ISA]]> Statistics: Posted by solardiz — Tue Apr 16, 2013 1:23 am


]]>
2013-04-15T23:41:42+00:00 2013-04-15T23:41:42+00:00 https://parallella.org/forums/viewtopic.php?t=256&p=1554#p1554 <![CDATA[Re: Wishlist for next revision of Epiphany ISA]]> Statistics: Posted by solardiz — Mon Apr 15, 2013 11:41 pm


]]>
2013-04-15T19:23:58+00:00 2013-04-15T19:23:58+00:00 https://parallella.org/forums/viewtopic.php?t=256&p=1543#p1543 <![CDATA[Re: Wishlist for next revision of Epiphany ISA]]> Statistics: Posted by solardiz — Mon Apr 15, 2013 7:23 pm


]]>
2013-04-15T14:21:54+00:00 2013-04-15T14:21:54+00:00 https://parallella.org/forums/viewtopic.php?t=256&p=1538#p1538 <![CDATA[Re: Wishlist for next revision of Epiphany ISA]]> Statistics: Posted by solardiz — Mon Apr 15, 2013 2:21 pm


]]>
2013-04-12T10:11:02+00:00 2013-04-12T10:11:02+00:00 https://parallella.org/forums/viewtopic.php?t=256&p=1519#p1519 <![CDATA[Re: Wishlist for next revision of Epiphany ISA]]> Statistics: Posted by Hoernchen — Fri Apr 12, 2013 10:11 am


]]>
2013-04-11T23:00:54+00:00 2013-04-11T23:00:54+00:00 https://parallella.org/forums/viewtopic.php?t=256&p=1516#p1516 <![CDATA[Re: Wishlist for next revision of Epiphany ISA]]> Statistics: Posted by ysapir — Thu Apr 11, 2013 11:00 pm


]]>