(11-13-2012, 01:45 AM)hlide Wrote: Using OpenCL or DirectCompute, you can write your kernel functions in a shader-like file, compile it and have it run by GPGPU. OpenGL 4.3 has compute shader now which is similar to OpenCL general purpose shader.
Meh, should have thought about shader language

Still, you fired my curiosity sir, I'll dig into this a bit.
(11-13-2012, 01:45 AM)hlide Wrote: You are wrong when telling they do not need synchronization. There is always a need of synchronization between threads (usually something like a command/event queue for instance to tell to the thread what to do in batch). It is not easy to find the most efficient mechanism to sync between threads, especially when portability is concerned. When you want to be portable, you will use generic synchronization which may have major drawbacks (abusing mutexes for instance instead of using well-designed command queue). The point is : not all emulator coders are pro in the multi-tasking paradigm.
Hmm I see. Still, I'm pretty sure there is some serious problem with splitting an emulated core into more than one thread, and this had to do with syncing problems. From what I recall syncronization between those threads would have to be so tight you wouldn't gain speed at all.. While multithreading different chips or cores into different threads seems to get you some speedups if done properly. I don't remember details, multithreading has never been my area of expertise


![[Image: BowserCartSmallAni.gif]](http://www.dan-dare.org/Dan%20Mario/BowserCartSmallAni.gif)
My Rig:
OS: Windows 7 Professional 64bit SP1
CPU: AMD Phenom II X4 955 3.2 GHz Stock
Graphics Card: Nvidia GeForce GTX 560 1GB GDDR5
Motherboard: Gigabyte GA-870A-USB3 AM3+ Revision
RAM: Geil 4GB Dual Channel @ 1600Mhz