DSPRelated.com
Forums

BF561 - Communication between processors

Started by djur...@yahoo.com March 24, 2008
In order to reduce the execution time of my program I need to use both processors. I just don't know how to do that?
I'm using VisualDSP++.
What are the instructions, how much is to be gained by that.

The program is multiplying matrices, and I figured one processor to multiply one part, and the other some other part, and then to exchange results.
On Mon, 24 Mar 2008 d...@yahoo.com wrote:

> In order to reduce the execution time of my program I need to use both
>processors. I just don't know how to do that?
> I'm using VisualDSP++.
> What are the instructions, how much is to be gained by that.

Finding a good split is not simple, but it can be useful if the tasks are
compute bound rather than memory bound.

> The program is multiplying matrices, and I figured one processor to
>multiply one part, and the other some other part, and then to exchange
>results.

If you can split the problem into different regions so one processor does
all the decision making and the other does most of the computations you
will probably have a better solution. You have to figure out the amount
of time it takes to transfer data between devices along with the time it
takes to compute the answer - this bandwidth is not present in a single
processor solution. As the number of processors increases the amount of
communication bandwidth needed grows as n! so it is important for the
amount of data to be communicated to be small and the amount of data to be
crunched to be high.

There are lots of ways to glue processors together. Think about how your
problem can be split up and add up the MIPS for com-link vs crunching for
all the different ideas you come up with. You'll be supprised - sometimes
the dumbest sounding idea turns out the be optimal!

Patience, persistence, truth,
Dr. mike
Thanks a lot.

__________________________________________________