Dolphin, the GameCube and Wii emulator - Forums

Full Version: Multithreading
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14
(12-13-2011, 03:04 AM)chaozu Wrote: [ -> ]HelloShy
I just wonder ... PCSX2 now supports 4 Cores, so maybe DOLPHIN can do the same ... no Huh
http://forum.notebookreview.com/gaming-software-graphics-cards/489421-cpu-pcsx2-emulator-45.html
"PCSX2 can now make use of Quad Cores but the update has not made it to an official build yet, it is still in the Beta phase and available in the SVN's. The speed increase from enabling multicore is very significant in most cases."
cottonvibes - pcsx2: Implemented Threaded VU1
"Threading VU1 took a lot of rewrites and new code to make possible (MTGS, microVU, gifUnit...), but we finally got to the point where it was feasible, and now we've done it! (so now everyone can stop complaining that pcsx2 only takes advantages of 2 cores). The speedups in the games that benefit from it are great if you have a cpu with 3+ cores (generally a 10~45% speedup)"

No.

Just because it's possible with PCSX2 doesn't mean it's possible with Dolphin, Dolphin and PCSX2 emulate totally different hardware. That question has also been asked several times and the Dolphin developers stated that it's not possible with Dolphin just because it's possible with PCSX2. PS2 hardware is multi-core to begin with which is why that is possible. With the GC/Wii there is only the CPU, GPU and DSP that can be split onto separate cores, those are all that consume the most resources and matter. There is nothing else that can be split and attempting to do so would create instability, synchronization issues and decrease performance. Even splitting DSP LLE onto it's own thread/core isn't without issues especially with Zelda ucode games.

(12-13-2011, 03:04 AM)chaozu Wrote: [ -> ]cottonvibes - pcsx2: Implemented Threaded VU1


nice explanation...

but like "Xtreme2damax" stated...
try to split the cpu or gpu core...
good luck
if you want to extract the controller thread out of the cpu thread... :>
nevermind

chaozu

ok, so more than 2-core is not gonna happen with Dolphin Sad
Maybe future emulator for Xbox 360 and PS3 will certainly support 6-core multi-threading ?
Because xbox 360 have 3 cores + 3 virtuels cores, and PS3 have 8 PSE (actually 6 PSE) ...
thats true...
if there are REAL cores/threads in the console...
they can be emulated...
(12-11-2011, 07:08 AM)HawaiianPunch Wrote: [ -> ]OpenMP provides virtually no speedup, just like LLE on thread.

So what? OpenMP (the library, not only the Dolphin option) allows you to use all your CPU core. You just need to code it correctly with the good algorithms. Dolphin supports OpenMP, hence it should be able to use more than 2 cores Wink

And it's using implicit synchronization across all its thread btw.
jeah... but the work what OpenMP is doing...
is not the bottleneck Wink maybe with 4x IR it helps... i don't know i haven't testet it
the bottleneck is the cpu thread not gpu thread
Quote:ok, so more than 2-core is not gonna happen with Dolphin
Maybe future emulator for Xbox 360 and PS3 will certainly support 6-core multi-threading ?
Because xbox 360 have 3 cores + 3 virtuels cores, and PS3 have 8 PSE (actually 6 PSE) ...

The xbox360 xenon cpu has 3 physical cores and 6 hardware threads (which are sometimes called virtual cores).

The PS3s cell BE cpu has a PPE (with 2 hardware threads) and 7 SPEs (each with 1 hardware thread) for a total of 9 hardware threads. One SPE thread is reserved by the OS. Xbox360 and PS3 emulators in the future could easily use 10 or more cores but we're a decade or two away from that happening.

Quote:So what? OpenMP (the library, not only the Dolphin option) allows you to use all your CPU core. You just need to code it correctly with the good algorithms. Dolphin supports OpenMP, hence it should be able to use more than 2 cores

And it's using implicit synchronization across all its thread btw.

Read through the thread again please. All of the major chips must be processed in a serial manner. Dolphin only uses openMP for texture decoding because that's all it can be used for in this context (and it provides no speedup since texture decoding speed in dolphin does not significantly impact the overall emulated system performance).
(12-13-2011, 07:16 AM)dannzen Wrote: [ -> ]jeah... but the work what OpenMP is doing...
is not the bottleneck Wink maybe with 4x IR it helps... i don't know i haven't testet it
the bottleneck is the cpu thread not gpu thread

OpenMP works on CPU.
OpenCL is for GPU.
It's not hard to understand people.

Say you have the following two equations executed on the CPU:
A + B = C
C * D = E

Obviously you can't execute the second equation until the first one has executed. Well video game logic and math is significantly more complex than that. With any given game loop doing hundreds of calculations where each one is depending on the results from the previous.

You simply can't flip a switch and make code multi-threaded unless it was designed that way in the first place, which simply is not the case with the Wii or GameCube.

I really wish Intel and AMD would do a better job at explaining what multi-threading really is. Their marketing department leaves out the critical fact that in order to run a program on multiple threads at once, it must first be designed to do so.
(12-13-2011, 03:04 AM)chaozu Wrote: [ -> ]HelloShy
I just wonder ... PCSX2 now supports 4 Cores, so maybe DOLPHIN can do the same ... no Huh
http://forum.notebookreview.com/gaming-software-graphics-cards/489421-cpu-pcsx2-emulator-45.html
"PCSX2 can now make use of Quad Cores but the update has not made it to an official build yet, it is still in the Beta phase and available in the SVN's. The speed increase from enabling multicore is very significant in most cases."
cottonvibes - pcsx2: Implemented Threaded VU1
"Threading VU1 took a lot of rewrites and new code to make possible (MTGS, microVU, gifUnit...), but we finally got to the point where it was feasible, and now we've done it! (so now everyone can stop complaining that pcsx2 only takes advantages of 2 cores). The speedups in the games that benefit from it are great if you have a cpu with 3+ cores (generally a 10~45% speedup)"

Off-topic:

That's great news regarding PCSX2, haven't been there since the sound plugin SPU2-X 2.0 was released in June.
The latest 0.9.8 release was a great improvement from the old 0.9.6 release.

Too bad with cottonvibes retirement though, but they will manage just fine.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14