Multiprocessing in Max/MSP 5.0

View: New views
2 Messages — Rating Filter:   Alert me  

Multiprocessing in Max/MSP 5.0

by Michael Gogins :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

According to a product announcement in the summer Computer Music Journal which is just out, the new version of Max is designed for multi-threading on multi-core computers. I will investigate further.

Regards,
Mike





-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Csound-devel mailing list
Csound-devel@...
https://lists.sourceforge.net/lists/listinfo/csound-devel

Re: Multiprocessing in Max/MSP 5.0

by dp51 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I've done some experimentation with the [poly~] external running in multithreaded mode (using
the "parallel" and "threadcount" messages) on a Core 2 Duo iMac.  

At first, I thought it wasn't working because I was relying on Apple's Activity Monitor to see a performance benefit.  Whenever I increased the threadcount to 2, the "% CPU" column would increase and I could not detect any changes in the CPU histogram.  But Max was telling me that CPU usage was nearly cut in half.

I decided to instantiate [poly~] with just enough voices to get audio breakups.  Then I increased threadcount to 2 and got no breakups.  After 2, I could see the thread overhead start to build up as one would expect.  I then tried to see how many voices I could get with different threadcounts.  I got 6 voices on 1 thread without breakups, and 10 voices on 2 threads without breakups.  So, I'm convinced that [poly~] multithreading is working.  

Although [poly~] makes copies of a single patch, you can target individual voices when sending values and messages.  So in theory (haven't tried it yet) you could run different CSD files (using [csound~]) within one [poly~].  Sounds like a fun weekend project :)

Davis
LightInTheBox - Buy quality products at wholesale price