Dolphin, the GameCube and Wii emulator - Forums

Full Version: 3.0-776 Up! Lectrode's Dolphin Builds (SSE 3,S3,4.1,4.2,AVX ICC Optimized)+OpenMP
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
(04-25-2011, 10:24 AM)Lectrode Wrote: [ -> ]Another thing, if it does increase the speed, is it legal to include that DLL
in the download, or is that illegal?

Well it is OPEN
well, i also notice some problems at icc. you need to clean build before you rebuild a new sse, 1-2 lib(s) file will just skip which it will use the existing compiled lib(s) one.

so make sure you clean before rebuild.
(04-25-2011, 10:31 AM)lannyboy Wrote: [ -> ]i am a c++ programmer but i know nothing in wii tech. openmp is one of the way to make codes to consume all cores, so i just played around with something. but it didn't make that easy as what we had thought of.
For now I'll think I'll continue to leave it out. If someone who this would effect
(has comp with probably more than 2 cores) would like to test it, once I get
my compiler working I can compile test builds to see if it causes a noticeable
speed difference.

(04-25-2011, 10:38 AM)ryancollins Wrote: [ -> ]
(04-25-2011, 10:24 AM)Lectrode Wrote: [ -> ]Another thing, if it does increase the speed, is it legal to include that DLL
in the download, or is that illegal?
Well it is OPEN
Very true Smile

(04-25-2011, 10:42 AM)lannyboy Wrote: [ -> ]well, i also notice some problems at icc. you need to clean build before you rebuild a new sse, 1-2 lib(s) file will just skip which it will use the existing compiled lib(s) one.
so make sure you clean before rebuild.
Thanks for the notice. I never use the same checkout folder twice, but
this will prevent me from changing that routine Smile
I will add that somewhere to my tutorial for others as well.
(04-25-2011, 10:43 AM)Lectrode Wrote: [ -> ]For now I'll think I'll continue to leave it out. If someone who this would effect
(has comp with probably more than 2 cores) would like to test it, once I get
my compiler working I can compile test builds to see if it causes a noticeable
speed difference.

well, it is not just compilation. it needs to be coded with #pragma. some logics cannot be executed in pallarel mode, and it has to be serialised.
(04-25-2011, 10:52 AM)lannyboy Wrote: [ -> ]well, it is not just compilation. it needs to be coded with #pragma. some logics cannot be executed in pallarel mode, and it has to be serialised.
In that case, I will leave it alone until I start programming with C++ Tongue

EDIT: Install completed, making sure it builds regular then will test build
with ICC XE
(04-25-2011, 11:01 AM)Lectrode Wrote: [ -> ]
(04-25-2011, 10:52 AM)lannyboy Wrote: [ -> ]well, it is not just compilation. it needs to be coded with #pragma. some logics cannot be executed in pallarel mode, and it has to be serialised.
In that case, I will leave it alone until I start programming with C++ Tongue

EDIT: Install completed, making sure it builds regular then will test build
with ICC XE

i am late to work today... hahaha, but i gave other excuse. if my boss knows i spent time for dolphin stuffs, he will kill me Big Grin
(04-25-2011, 11:19 AM)lannyboy Wrote: [ -> ]i am late to work today... hahaha, but i gave other excuse. if my boss knows i spent time for dolphin stuffs, he will kill me Big Grin
lol that wouldn't be good

Do you think compiling with support for multiple SSE in one build will
make any negative speed impacts? (If you're busy you can always
respond later)

I'll be on for the next 2-2.5 hours while I work on this.
(04-25-2011, 11:25 AM)Lectrode Wrote: [ -> ]
(04-25-2011, 11:19 AM)lannyboy Wrote: [ -> ]i am late to work today... hahaha, but i gave other excuse. if my boss knows i spent time for dolphin stuffs, he will kill me Big Grin
lol that wouldn't be good

Do you think compiling with support for multiple SSE in one build will
make any negative speed impacts? (If you're busy you can always
respond later)

I'll be on for the next 2-2.5 hours while I work on this.

multiple sse in one build? i don't get it?
(04-25-2011, 11:33 AM)lannyboy Wrote: [ -> ]multiple sse in one build? i don't get it?
You can compile with multiple SSE defined by the /Qax, /Qx, and /arch: flags
For example, you can compile with "/QaxSSE3,SSSE3,SSE4.1" instead of 3
separate: one with "/QaxSSE3", one with "/QaxSSSE3", and one with "/QaxSSE4.1"

This adds multiple switches in the compiled program to make use of whatever
the highest SSE is that the current CPU can handle.

If this makes no speed difference, I can compile 4 (2 reg & 2 SSE) different
builds instead of 10 (2 reg, and 8 SSE). If this is the case, I can compile
more revisions in the same amount of time. I may also be able to add
AVX instruction support without adding another 2 builds.


EDIT: Regular compiled fine, trying ICC XE now.
(04-25-2011, 11:44 AM)Lectrode Wrote: [ -> ]
(04-25-2011, 11:33 AM)lannyboy Wrote: [ -> ]multiple sse in one build? i don't get it?
You can compile with multiple SSE defined by the /Qax, /Qx, and /arch: flags
For example, you can compile with "/QaxSSE3,SSSE3,SSE4.1" instead of 3
separate: one with "/QaxSSE3", one with "/QaxSSSE3", and one with "/QaxSSE4.1"

This adds multiple switches in the compiled program to make use of whatever
the highest SSE is that the current CPU can handle.

If this makes no speed difference, I can compile 4 (2 reg & 2 SSE) different
builds instead of 10 (2 reg, and 8 SSE). If this is the case, I can compile
more revisions in the same amount of time. I may also be able to add
AVX instruction support without adding another 2 builds.

well, i don't think it is a good idea, i am not sure it will work either. this defeated the purpose of making special optimization instruction set. if that your case is feasible, icc might just need to make only one flag to optimize all these sse builds into one binary. does this make sense to you?