discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] [coproc] Domain concept for blocks and ports


From: Ben Hilburn
Subject: Re: [Discuss-gnuradio] [coproc] Domain concept for blocks and ports
Date: Wed, 6 Nov 2013 09:44:57 -0800

Sylvain -

I've been mulling over this, and I like this design a lot. I think it provides a lot of flexibility while also preventing any particular scenario from becoming a "corner case". I'm still thinking about it and trying to find somewhere to poke a hole, but at a high-level I think it is really straight-forward.

I suggest that we discuss this further in some future [CoProc] call, and that you add the idea to the wiki =)

Cheers,
Ben


On Fri, Oct 18, 2013 at 2:10 AM, Sylvain Munaut <address@hidden> wrote:
Hi,

This is an evolution of a concept that was mentioned at GRcon which I
really liked and I thought a bit more about it.

The general idea is that each block and each port within blocks would
have a "domain" associated to it.

For the blocks this would essentially represent where that block is
running, like CPU, DSP, FPGA, GPU
For the ports this would represent where the data are stored Main
memory, GPU memory, page-locked memory for a coproc, shared zone with
a DSP, ...

Once you have those, you'd need ingress/egress blocks to cross over
data domains, they could be either a memcpy on the host, or a
read/write buffer queued in a CL command queue, or whatever is
required. Those wouldn't even need to be really exposed to the user.
GRC/GR-core could be smart enough to find an appropriate path to move
the data from one data domain to the other, it just needs a list of
such available block.

The advantage of introducting this concept to blocks is that for all
the various types of coproc you can think of, the GR core doesn't have
to know anything special and can delegate to appropriate domain
handlers/plugins. Even the CPU domain and Main memory domain would
just be plugins, no special case or anything, they would be treated
just like any other. So coproc aren't "second class citizens", they're
treated just like the main CPU is.

Anyway, just my 2 ct.

Cheers,

    Sylvain

_______________________________________________
Discuss-gnuradio mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


reply via email to

[Prev in Thread] Current Thread [Next in Thread]