VU multithreading, posible?
Is it posible at this stage, to move the VUs to new separate threads?
I tried myself, with no luck. (Random crashes when entering 3D scenes)

Is it smt related to branches or interrupts, that makes hard to achive this?


Sponsored links

If you tried it this means you have some experience in development.

This thread belongs into the developer forum and is worth some real exchange with the developers.
Probably the main problem with moving the VU's to their own thread will be synchronization overhead. You need buffers and probably spin locks I assume the times of inactivy are too quick for event triggers. And you need a bunch of logic to check that one thread is not getting too far ahead of another. You'd also be slowed down by any functional dependencies in the code and possible need to make some special admission for forwarding.
I think the main problem is the memory the EE and the VUs share.

The sync is important, but I tryed changing the cycle rate, and nothing happened. (Similar to what the VU cycle stealing does).
I will go further in this issue when I get back my PC with VS2008 installed. ATM I can't do more testing. Sad
True you probably need to lock memory access and make sure that certain things aren't changed till not needed else you might be running into a bunch of RAW, WAR , and WAW errors.
After some experiments we concluded that running the VU in parallel with the R5900 is almost certainly not worthwhile.
Overhead eat what little gains there are or is the R5900 not doing enough for the offload of the VU's to be any use?

Users browsing this thread: 1 Guest(s)