Intel Parallel Universe

Discussion of chess software programming and technical issues.

Moderator: Ras

User avatar
nthom
Posts: 112
Joined: Thu Mar 09, 2006 6:15 am
Location: Australia

Intel Parallel Universe

Post by nthom »

Has anyone tried this free service yet?

http://paralleluniverse.intel.com/

Sounds like a great way to test an engines scalability up to 16 cores.
Daniel Shawul
Posts: 4186
Joined: Tue Mar 14, 2006 11:34 am
Location: Ethiopia

Re: Intel Parallel Universe

Post by Daniel Shawul »

After a couple of runs I managed to get something out of it, but i am afraid it is garbage. I don't quite understand how it works.

The one that worked for me is

Code: Select all

      scorpio mt 8 st 30 go quit
It just tells scorpio to search on 8 cores for 30 seconds on the start position and quit. I tried to tell it to do mt 2,4,8,16 etc... but that didn't work

Code: Select all

Cores   	 Elapsed Time (secs)   	 Number of Executions
1 	33.23 	3
2 	31.77 	3
4 	32.65 	2
8 	25.03 	3
16 	30.37 	3
	
	
Cores 	Average Concurrency 	Number of Executions
1 	6.90 	3
2 	7.83 	3
4 	7.91 	2
8 	7.90 	3
16 	7.91 	3 
Hope it helps
Daniel
Daniel Shawul
Posts: 4186
Joined: Tue Mar 14, 2006 11:34 am
Location: Ethiopia

Re: Intel Parallel Universe

Post by Daniel Shawul »

I get better numbers now. Average concurrency ,indicative of nps scaling i suppose, seems perfect upto 8 threads! The 16 core test are actually made on Xeon with HT enabled, so no wonder it didn't scale above 8. This is actually the first time I see scorpio scale well on 8 cores.

Another thing you need to auto detect number of logical processors and be able to run with no support. That was what i missed in my first test.
GetSystemInfo() returns number of physical processors but it was good enough for my test.

Code: Select all

Session Name:   	 scorpio3  	
Execution environment configuration:
Microsoft* Windows Server 2003* 32 bits R2
Enterprise Edition
Service Pack 2
Intel® Xeon® X55600 CPU 2.80 GHz
Hyperthreaded 8-Core
12 GB RAM
Command line: 	scorpio.exe mt auto st 30 go quit
Report: 	Download Intel® Parallel Amplifier report
Cores 	Elapsed Time (secs) 	Number of Executions
1 	30.17 	3
2 	28.97 	3
4 	25.30 	3
8 	29.03 	3
16 	27.60 	3
	
	
Cores 	Average Concurrency 	Number of Executions
1 	1.00 	3
2 	1.99 	3
4 	3.97 	3
8 	7.94 	3
16 	7.93 	3 
Now if only there is a way to get log files back from the test...
User avatar
nthom
Posts: 112
Joined: Thu Mar 09, 2006 6:15 am
Location: Australia

Re: Intel Parallel Universe

Post by nthom »

Ah good. I tried a couple of quick tests but both errored. Probably because I need to make the exe exit when done. Do you need to run it for a fixed amount of work, eg fixed depth, or does it work for fixed time?

OK, so maybe not as useful as it first appeared to be :)
Daniel Shawul
Posts: 4186
Joined: Tue Mar 14, 2006 11:34 am
Location: Ethiopia

Re: Intel Parallel Universe

Post by Daniel Shawul »

Ah good. I tried a couple of quick tests but both errored. Probably because I need to make the exe exit when done.
Yes,you need to exit the engine with a quit (in winboard that is). All commands should be given on the command line.
You are only allowed 5 or so runs per day so test everything before submit :)
Do you need to run it for a fixed amount of work, eg fixed depth, or does it work for fixed time?
I am actually setting up a fixed depth test now, so that I can get the real scaling from the time ... The one i did was fixed time.
OK, so maybe not as useful as it first appeared to be Smile
Ahh..actually it turned out a lot more useful than I initially expected. Thanks :)
Daniel Shawul
Posts: 4186
Joined: Tue Mar 14, 2006 11:34 am
Location: Ethiopia

Re: Intel Parallel Universe

Post by Daniel Shawul »

Finally reality sets in :( Average concurrency happens to be the average number of threads running (measures idle time I suppose). The real scaling turns out to be bad for 8 cores and 16 with HT. I knew there was something fishy about the previous result ;) I run out of my quota for the day, so i will go to sleep now.
User avatar
nthom
Posts: 112
Joined: Thu Mar 09, 2006 6:15 am
Location: Australia

Re: Intel Parallel Universe

Post by nthom »

I cant figure it out... my results make no sense whatsoever:

Cores Elapsed Time (secs) Number of Executions
1 50.20 1
2 50.20 1
4 44.40 1
8 24.20 2
16 19.30 2

My code is limited to 8 threads so 16 should not be better than 8. And why does 1 and 2 threads give exactly the same time... almost ready to give up, maybe I'll just go use Amazon instead http://aws.amazon.com/ec2/
Daniel Shawul
Posts: 4186
Joined: Tue Mar 14, 2006 11:34 am
Location: Ethiopia

Re: Intel Parallel Universe

Post by Daniel Shawul »

Since we are testing only on on position noise may be high. Also the 60 sec minute limit does not help either. It is really difficult to see good speed up numbers with 60 seconds search. Infact you seem to have good speed up compared to what I got.

The reason for your speed up from 8 to 16 could be that the average concurrency may have increased. If you check that number for 8 threads, it is probably less than 8 (mine was 7.7). For 16 it was 14. So it will get seeded up anyway, unless I improve my engine to a perfect concurrency level.