[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/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 - dot product
Page 2 of 3

Re: dot product

PostPosted: Tue Sep 16, 2014 10:21 pm
by aihaike
I thought this path was relative to where the binaries are located, but it seem to be relative to where you actually execute the code.
Thank you for pointing out.

Re: dot product

PostPosted: Wed Dec 03, 2014 7:02 am
by bayalievu

Re: dot product

PostPosted: Wed Dec 03, 2014 12:25 pm
by 9600

Re: dot product

PostPosted: Fri Feb 13, 2015 4:47 pm
by Urhixidur

Re: dot product

PostPosted: Fri Feb 13, 2015 7:18 pm
by Urhixidur

Re: dot product

PostPosted: Wed Jul 08, 2015 1:43 pm
by smatthews
I've updated the dot-product program that generalizes the example to sop of i = 0 .. N-1
This better illustrates how to achieve task-based parallelism on the Epiphany architecture. The new code is now accessible from the repo.

If you modify this example, please recognize that you will need to update RESULT in main.c to correspond with the N that you use in common.h. Currently N=64 and RESULT=85344.
The equation to use is
RESULT = ( N(N-1)(2N-1) )/6

I've run into troubles with N > 1024. Still looking for a way to fix this.

Best,
Suzanne

Re: dot product

PostPosted: Thu Jul 16, 2015 6:58 pm
by MiguelTasende
Hi Suzanne,

I read your tutorial, and made my own modifications to the dotproduct code... (tried to do so before reading your answers :) ).
I fixed all the bugs almost the same way as you did, and finally could work with a=b=1:2048 (or 0:2047 whatever...), but couldn't solve the 4096 problem.

I still don't quite get it. I am working with "unsigned long" now, instead of "unsigned int". I see that some of the results go beyond what is manageable with 32 bits and I assume there is the problem...
But, I am working with "unsigned long" (host and device side), and Epiphany supports it, so I assume it correctly multiplies two unsigned long. Maybe my lack of C experience with large integers has something to do with it...
Well, the result is clearly less than 2^64, so if all long operations are working ok, I can't see where the problem is...

I'll try to see it later, now I will follow other paths in my "research", but will keep the problem in mind, and if anyone could generously help with a tip... I would be most grateful :)

Re: dot product

PostPosted: Thu Aug 06, 2015 2:05 pm
by MiguelTasende
Thinking about another problem now I may have an idea of where the problem may be.
It's not the capacity of the single "long", but the amount of them...

4 bytes (at least) per long
2048 longs
-----------------------------------
= 8192 = 8KB = the size of a memory bank

Above that it doesn't work correctly.

I think the problem is with memory management (should look at the linker script to see the memory allocation).

Re: dot product

PostPosted: Mon Aug 24, 2015 6:45 pm
by smatthews
Hi Miguel,

I think your last post gets to the heart of what I suspect to be the case as well.

The individual memory banks are 8KB. If we exceed the capacity of the memory banks, I believe the answer is to fetch from main memory. However, operations like this on the DMA channel is expensive. I think that one thing this example illustrates is that the Parallella exceeds at pure task parallelism. There are some limitations to data parallelism.

-Suzanne

Re: dot product

PostPosted: Tue Aug 25, 2015 6:20 pm
by sebraa