SMP Support?

Stirling Westrup swestrup at gmail.com
Wed Dec 19 13:12:14 PST 2012


On Wed, Dec 19, 2012 at 3:25 PM, David Röthlisberger <david at rothlis.net> wrote:
> On 19 Dec 2012, at 19:37, Stirling Westrup wrote:
>> I am currently writing a very CPU-intensive gstreamer app that handles
>> 4K video which get post-processed into multiple video output streams.
>> During profiling it appears that very limited use is being made of the
>> multiple processors in my server. I would love to be able to have my
>> output stream tasks distributed among the CPU’s on the server. Is
>> there currently any way to do something like that?
>
>
> That depends on what elements you are using. For example I use the
> OpenCV plugin's "templatematch" element, which happily distributes work
> across all available processors -- it keeps all 8 of my cores happily
> occupied. But that's the way the element is implemented (or in this
> case, the OpenCV library wrapped by the templatematch element); it
> doesn't happen automatically.
>
> If your pipeline uses tees (branches), then if you put a queue element
> in each branch you get a separate thread per queue. I'm not sure if
> putting extra queue elements in a serial pipeline will give you a
> separate thread for the elements after each queue -- try it! :-)

I currently have a tee element that has N branches (depending on
parameters) each of which feeds into a queue element before further
processing. Right now those queue elements seem to give me one thread
per output stream, but they are all on the same CPU.

I'll look into OpenCV to see if it has any elements I can use. I hope
it supports gstreamer 1.0 though, as that's what my application is
written for.

--
Stirling Westrup
Programmer, Entrepreneur.
https://www.linkedin.com/e/fpf/77228
http://www.linkedin.com/in/swestrup
http://technaut.livejournal.com
http://sourceforge.net/users/stirlingwestrup


More information about the gstreamer-devel mailing list