Multi-threading in MPT

Started by Diamond, October 22, 2006, 23:58:47

Previous topic - Next topic

Diamond

I've been looking into putting together a new machine and I wanted to find out if MPT supports multi-threading.  This will tell me if I should bother with a duo core processor since MPT's the primary reason why I'm getting a new system to begin with.

seventhson

I'm also quite curious if MPT will benefit from a dual core setup,so any thoughts on this from one of the devs would be great  :wink:

LPChip

If not, then it certainly would be a good request :)
"Heh, maybe I should've joined the compo only because it would've meant I wouldn't have had to worry about a damn EQ or compressor for a change. " - Atlantis
"yes.. I think in this case it was wishful thinking: MPT is makng my life hard so it must be wrong" - Rewbs

Diamond

I'd really like an answer to this one because I'll be looking into the new system next month.

speed-goddamn-focus

From what I've understood, the current dual core processors (especially the Core 2 Duo series) are good enough to be faster whether the applications are written with multiple cores or not. An application that's optimized will of course be even faster. There are loads of comparisons online, see if you can find *any* test where a single core processor outperforms a Core 2 Duo. Considering the E6300 is ~$200 I think there isn't much to think about really. To me the question is more whether you should go for a 2 MB or 4 MB version of Core 2 Duo.

rewbs

I can't reply with a huge amount of confidence, but here's what I think:
1. As sf says, regardless of whether OpenMPT will benefit massively or not, multi-core is probably the way to go if you are getting a new system.
2. Regarding OpenMPT specifically, the bulk of the audio processing happens in a single-threaded manner so I don't think there will be a huge benefit. The GUI and the audio processing are on separate threads, so things might get a little more responsive - but even then, there's a lot of coarse grained locking going on between the threads, so I don't think we'd get a whole lot of parallelization.
3. That said, I don't know to what extent your favorite plugins (and maybe even audio drivers) can exploit mutli-core environments if the host doesn't do it properly. In other words, maybe some elements of your setup would end up benefiting, even if OpenMPT doesn't exploit hardware the way it should do in this day and age. :(

LPChip

Could it be made in modplug, that each VST plugin gets its own process? That way it will be duo core ready right?
"Heh, maybe I should've joined the compo only because it would've meant I wouldn't have had to worry about a damn EQ or compressor for a change. " - Atlantis
"yes.. I think in this case it was wishful thinking: MPT is makng my life hard so it must be wrong" - Rewbs

rewbs

Quote from: "LPChip"Could it be made in modplug, that each VST plugin gets its own process? That way it will be duo core ready right?
You wouldn't want each plugin running in a separate process - I think you mean thread. You could indeed give each plug its own thread for audio processing, but it's not trivial since they need to be synchronized e.g. if the input of one plugin is dependent on the output of another.

Diamond

Thanks for the input guys.  Is the Email notification broken?  I haven't received any notifications for the last couple of replies.  I'll probably go for a dual core setup since I've noticed myself that the cost difference is pretty insignificant and I have a friend who gets parts for wholesale prices anyway.  Besides, every bit of extra processing power you can get is a good thing and although MPT currently doesn't support multi-threading, at some point in the very, very distant future who knows...  LOL  I also remember a discussion about soundcards with onboard processors potentially making a difference.  Perhaps I'll look into that as well.

LPChip

Quote from: "Diamond"Is the Email notification broken?  I haven't received any notifications for the last couple of replies.  

No, it is not broken, because this site uses my own server and I still am being notified about undelivered email. I do get those alot, so it might be that I've got one from you. I just delete those :p
"Heh, maybe I should've joined the compo only because it would've meant I wouldn't have had to worry about a damn EQ or compressor for a change. " - Atlantis
"yes.. I think in this case it was wishful thinking: MPT is makng my life hard so it must be wrong" - Rewbs

Diamond

Well, here are the specs for my new system.  I decided not to go for the dual core since I was a bit pressed for money and I currently don't have any applications that I care about which could take advantage of it anyway.  The good news is that my mother board can support it and they also just recently started using a new socket.  This means that next year when the prices go down I can easily upgrade the processor to one that's faster and is also dual core.  LOL there are some advantages to being blind.  Who cares about expensive graphics cards!

Motherboard:
GF6100,nF430,AM2,DR2,1394,Gbe
http://www.gigabyte.com.tw/Products/Motherboard/Products_Spec.aspx?ClassValue=Motherboard&ProductID=2373&ProductName=GA-M61PM-S2
Memory:
2 KNGSTN DDR2 667 512MB
Processor:
AMD Athlon 64 3800+
Sound:
SNDBLSTR AUDIGY SE OEM
Drives:
MITSUMI WHT FDD/7in1 Reader USB
LITE-ON DVDRW SHM-165H6S
SGT 160G SATA2 ST3160812AS HDD
Case:
MDTWR BLK 400W/20 4-2-5 AD USB NRF
KVM:
2A ARLNK 2PORT A/ K/ V/ M PS/ 2 KVM w/ cbls

This should at least keep me happy for now.