Welcome, Guest. Please Login or Register.
Mar 28th, 2024, 8:30pm

Home Home Help Help Search Search Members Members Login Login Register Register
Arimaa Forum « 2012 Computer Championship »


   Arimaa Forum
   Arimaa
   Events
(Moderator: supersamu)
   2012 Computer Championship
« Previous topic | Next topic »
Pages: 1 ... 3 4 5 6 7  Reply Reply Notify of replies Notify of replies Send Topic Send Topic Print Print
   Author  Topic: 2012 Computer Championship  (Read 8087 times)
omar
Forum Guru
*****



Arimaa player #2

   


Gender: male
Posts: 1003
Re: 2012 Computer Championship
« Reply #60 on: Jan 13th, 2012, 8:03am »
Quote Quote Modify Modify

Oops. I'll fix that.
IP Logged
lightvector
Forum Guru
*****



Arimaa player #2543

   


Gender: male
Posts: 197
Re: 2012 Computer Championship
« Reply #61 on: Jan 16th, 2012, 10:34pm »
Quote Quote Modify Modify

on Jan 11th, 2012, 12:25am, omar wrote:

 
There is also the net log files which the bots keep. These have timestamps of when the bot received the game state and  when the bot sent the move.
 

 
For what it's worth, sharp now looks at the wused and bused fields and takes them into account faithfully but will also output a "g<gameid>.time" file logging a warning whenever they are larger than 10 seconds.
IP Logged
omar
Forum Guru
*****



Arimaa player #2

   


Gender: male
Posts: 1003
Re: 2012 Computer Championship
« Reply #62 on: Jan 26th, 2012, 10:37pm »
Quote Quote Modify Modify

Just a quick reminder to the bot developers about trying to finish off as many of the qualifying games as possible. The qualifying phase ends at the end of January.
IP Logged
Fritzlein
Forum Guru
*****



Arimaa player #706

   
Email

Gender: male
Posts: 5928
Re: 2012 Computer Championship
« Reply #63 on: Jan 31st, 2012, 9:04pm »
Quote Quote Modify Modify

on Jan 26th, 2012, 10:37pm, omar wrote:
Just a quick reminder to the bot developers about trying to finish off as many of the qualifying games as possible. The qualifying phase ends at the end of January.

So the seeding is now fixed?
IP Logged

omar
Forum Guru
*****



Arimaa player #2

   


Gender: male
Posts: 1003
Re: 2012 Computer Championship
« Reply #64 on: Feb 1st, 2012, 12:07am »
Quote Quote Modify Modify

Yes,
 
bot_sharp score=24 losses=-1 time=1327983155
bot_marwin score=24 losses=-2 time=1327994583
bot_briareus score=24 losses=-9 time=1327884842
bot_Lucy score=8 losses=-10 time=1328039673
bot_clueless score=1 losses=-0 time=1327939133
bot_Badger2 score=0 losses=-0 time=0
IP Logged
tize
Forum Guru
*****



Arimaa player #3121

   


Gender: male
Posts: 118
Re: 2012 Computer Championship
« Reply #65 on: Feb 6th, 2012, 3:27pm »
Quote Quote Modify Modify

I see that the hardware for the tournament have been decided, and according to some benchmarks that I found it should be almost 50% faster than last year. Nice!
 
It also has the popcnt instruction (which I belive the gameroom server lacks). This instruction makes marwin about 10% faster if compiled to use it on my computer. The thing is that if I compile marwin to use the instruction it will not run on the gameroom server after the tournament.
 
So my question is this: I'm I allowed to compile marwin for popcnt usage?
 
I could of course also provide a version that doesn't demand the popcnt instruction.
IP Logged
Hippo
Forum Guru
*****




Arimaa player #4450

   


Gender: male
Posts: 883
Re: 2012 Computer Championship
« Reply #66 on: Feb 6th, 2012, 3:52pm »
Quote Quote Modify Modify

I expect using it will be OK, especially if you test the instruction availability and chose "emulation mode" instead if missed.  
Yes popcount routine is needed often.
(I use 2 variants ... lowpopcount when expecting at most around 3 bits set and popcount when all 64 bits are possible. Using single instruction would made it much easier).
IP Logged

rbarreira
Forum Guru
*****



Arimaa player #1621

   


Gender: male
Posts: 605
Re: 2012 Computer Championship
« Reply #67 on: Feb 6th, 2012, 4:44pm »
Quote Quote Modify Modify

IMO I think the bots should be allowed to use the power of the hardware to the fullest.
 
Compiling two versions and mentioning that in the README of the bot is probably the best way of making it easy for Omar to set up the gameroom version of the bot later on.
IP Logged
aaaa
Forum Guru
*****



Arimaa player #958

   


Posts: 768
Re: 2012 Computer Championship
« Reply #68 on: Feb 6th, 2012, 5:09pm »
Quote Quote Modify Modify

It doesn't say that much, but here is an earlier thread on the issue of how hardware-specific binaries should be allowed to be.
IP Logged
tize
Forum Guru
*****



Arimaa player #3121

   


Gender: male
Posts: 118
Re: 2012 Computer Championship
« Reply #69 on: Feb 7th, 2012, 12:50am »
Quote Quote Modify Modify

on Feb 6th, 2012, 4:44pm, rbarreira wrote:
Compiling two versions and mentioning that in the README of the bot is probably the best way of making it easy for Omar to set up the gameroom version of the bot later on.

 
If Omar doesn't object against it this is what I will do for marwin this year.
IP Logged
omar
Forum Guru
*****



Arimaa player #2

   


Gender: male
Posts: 1003
Re: 2012 Computer Championship
« Reply #70 on: Feb 8th, 2012, 2:51pm »
Quote Quote Modify Modify

on Feb 6th, 2012, 3:27pm, tize wrote:
I see that the hardware for the tournament have been decided, and according to some benchmarks that I found it should be almost 50% faster than last year. Nice!
 
It also has the popcnt instruction (which I belive the gameroom server lacks). This instruction makes marwin about 10% faster if compiled to use it on my computer. The thing is that if I compile marwin to use the instruction it will not run on the gameroom server after the tournament.
 
So my question is this: I'm I allowed to compile marwin for popcnt usage?
 
I could of course also provide a version that doesn't demand the popcnt instruction.

 
Interesting. Maybe CPUs are moving back towards complex instruction sets now.  
 
on Jan 31st, 2010, 5:59am, omar wrote:

Well the intent of the Arimaa challenge is to encourage algorithmic advances as opposed to hardware advances,  so I wouldn't want to encourage the bot developers to tightly couple their code to the current hardware configuration. If you use the standard libraries provided by the OS and language you shouldn't run into any problems with the executable being tied to the hardware configuration.

 
I guess in this case the compiler provides an option to use or not use the instruction; so it's not covered by what I said earlier.
 
Again the intent is that the challenge should encourage algorithmic advances as opposed to building specialized hardware to play Arimaa. However, advances will continue to happen in general purpose hardware; that is to be expected. Another intent is to be able to bring the advances to the masses as opposed to just a demonstration which isn't accessible to others.
 
Imagine if you were going to provide your bot executable to many people. You would have a download for Windows, Mac and Linux. Within each platform you might have one for 32-bit and another for 64-bit. You would not have separate executable for different end user hardware. If the end users computer had 4 cores instead of single core or 8 GB RAM instead of 4 GB you could check for it in the code and use it that way. If your code could run faster on an Intel than AMD due to some instruction it provided you should check for it in code and use it that way.
 
So if it can be done within one executable, I would be OK with your bot using this instruction. Perhaps in a few years all computers will have this instruction and your code won't even need to check for it. Your target platform though is a 64-bit Linux system. You shouldn't assume any specific processor, RAM or number of cores. However, you can detect and use whatever is available.
 
Now it is quite possible that a bot which wins the challenge could only win it on the hardware being used for the challenge match and not on a machine with anything less. I am OK with that since the hardware is chosen to be representative of a current commodity computer.
 
« Last Edit: Feb 8th, 2012, 2:54pm by omar » IP Logged
Swynndla
Forum Guru
*****



Arimaa player #1821

   


Posts: 235
Re: 2012 Computer Championship
« Reply #71 on: Feb 8th, 2012, 4:39pm »
Quote Quote Modify Modify

Omar - I don't know how to detect if hardware popcount is supported by the CPU or not, and I just assumed that we would be allowed to use popcount since it's on the CPU provided, and so I've used *heaps* of popcounts in Lucy for that reason.  If in doubt, I've popcounted it.  I may have nested popcounts too.  As far as I can see, the hardware popcount *isn't* something that one executable looks to see if it's available after running, but rather it has to be compiled in!  So I'm not exactly sure what you're saying ... but are you saying that if I don't know how to detected hardware popcount, then I have to *disable* hardware popcount when I compile Lucy?  Embarassed Cry
 
Edit: also I'm a bit confused, as other hardware instructions like "ctz" have been a hardware instruction in cpu's for years, and we aren't expected to detected if that's available (as it's available on in the gameroom and everywhere), right? ... how far does this go?  Do we have to detect if the cpu is a 386 too?  Maybe I've misunderstood what you've said and it's ok to compile Lucy to use the cpu provided??
 
Edit2: My (AMD) cpu at home is a couple of years old or so, and it wasn't the latest cpu when I got it (it was a fairly budget one), and it supports hardware popcount ... so that's another reason why I thought it'd be pretty much standard to use in the comp.  Not only that, but gcc will turn on popcount by default for my cpu type.
« Last Edit: Feb 8th, 2012, 6:40pm by Swynndla » IP Logged
omar
Forum Guru
*****



Arimaa player #2

   


Gender: male
Posts: 1003
Re: 2012 Computer Championship
« Reply #72 on: Feb 8th, 2012, 10:54pm »
Quote Quote Modify Modify

The account provided is really just to upload and test your program. The target platform your program needs to work on is Linux 64 bit. Beyond that you can't presume things about the hardware. Your program is free to detect whatever it can about the hardware and make use of it.  
 
I am sure there is a way to detect if the CPU provides popcnt from C. Have you checked cpufeature.h. Or your program can read the /proc/cpuinfo file and check the 'cpu flags' section. If none of these work, you can also have your bot read a config file which sets a flag to indicate if popcnt is available.
 
At the very least what you can do is create two executable and exec the appropriate one via the main executable that detects what's available.
 
IP Logged
Swynndla
Forum Guru
*****



Arimaa player #1821

   


Posts: 235
Re: 2012 Computer Championship
« Reply #73 on: Feb 9th, 2012, 2:17am »
Quote Quote Modify Modify

Thank you Omar for the clarification and for the pointers!  I'm sure I'll be able to get something going.  Cheers!  Smiley
IP Logged
tize
Forum Guru
*****



Arimaa player #3121

   


Gender: male
Posts: 118
Re: 2012 Computer Championship
« Reply #74 on: Feb 9th, 2012, 3:06pm »
Quote Quote Modify Modify

Ok thanks Omar, now I know what to do if I'd like marwin to be able to use the special instructions, maybe I have time maybe not.
IP Logged
Pages: 1 ... 3 4 5 6 7  Reply Reply Notify of replies Notify of replies Send Topic Send Topic Print Print

« Previous topic | Next topic »

Arimaa Forum » Powered by YaBB 1 Gold - SP 1.3.1!
YaBB © 2000-2003. All Rights Reserved.