[prev in list] [next in list] [prev in thread] [next in thread]
List: gnuradio-discuss
Subject: Re: [Discuss-gnuradio] Message passing(connect) in C++
From: marco Ribero <spam.marco.spam () gmail ! com>
Date: 2015-04-30 20:44:14
Message-ID: CACB=4qGXp=KGkXzOb5KQr5UV0_JLUk-rN+D-nMi+Cw-Z5Jh5bg () mail ! gmail ! com
[Download RAW message or body]
[Attachment #2 (multipart/alternative)]
Marcus, thank you very much for your deep answer.
Your proposal about the usage of
your_block::detail()->input(0)->buffer()->link seem very interesting, so I
shoulld evaluate if use this mechanism or only some memory allocation
created with malloc.
I'd prefer to simplify the life of user as much as possible..I'll put my
blocks on a repository, hoping that some user will use these blocks.
Your proposal of a hierarcly approach is interesting,but in my case could
be more problematic: user can have a DAG or graph flowgraph,and the reserch
of the next block,performed by each involved block,could add some
complexity, considering that I need to open connection only between
adjacent blocks.
I summarize what I'm doing: as thesis ,I'm trying to make a partial porting
over CUDA..so I'm re-implementing blocks with CUDA. Each block allocate a
circular buffer of device pages,passing these pointer with other info to
the next block(using a tag with a pointer to host memory). Now I want to
establish an initial handshake, because the following block could have
preferences(usually not mandatory,because often the first step of a block
is to copy data from global to shared memory,allowing some degree of
freedom) about incoming data(e.g. min-max dimension of each
page,min_multiple for input data of FFT,..). Each block receive data
throught device memory,elaborate all data and return a single useless
tap,in order to wake up other blocks..at the end of chain,data will be
copied into host memory.
Marco
[Attachment #5 (text/html)]
<div dir="ltr">Marcus, thank you very much for your deep answer.<div>Your proposal \
about the usage of <span style="color:rgb(0,0,0);font-family:'Times New \
Roman';font-size:medium">your_block::detail()->input(0)->buffer()->link \
</span>seem very interesting, so I shoulld evaluate if use this mechanism or only \
some memory allocation created with malloc.</div><div><br></div><div>I'd prefer \
to simplify the life of user as much as possible..I'll put my blocks on a \
repository, hoping that some user will use these \
blocks.</div><div><br></div><div>Your proposal of a hierarcly approach is \
interesting,but in my case could be more problematic: user can have a DAG or graph \
flowgraph,and the reserch of the next block,performed by each involved block,could \
add some complexity, considering that I need to open connection only between adjacent \
blocks.</div><div><br></div><div>I summarize what I'm doing: as thesis ,I'm \
trying to make a partial porting over CUDA..so I'm re-implementing blocks with \
CUDA. Each block allocate a circular buffer of device pages,passing these pointer \
with other info to the next block(using a tag with a pointer to host memory). Now I \
want to establish an initial handshake, because the following block could have \
preferences(usually not mandatory,because often the first step of a block is to copy \
data from global to shared memory,allowing some degree of freedom) about incoming \
data(e.g. min-max dimension of each page,min_multiple for input data of FFT,..). Each \
block receive data throught device memory,elaborate all data and return a single \
useless tap,in order to wake up other blocks..at the end of chain,data will be copied \
into host memory.</div><div><br></div><div>Marco</div><div><br></div></div>
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic