Author |
Topic: 2012 Computer Championship (Read 8087 times) |
|
omar
Forum Guru
Arimaa player #2
Gender:
Posts: 1003
|
|
Re: 2012 Computer Championship
« Reply #60 on: Jan 13th, 2012, 8:03am » |
Quote Modify
|
Oops. I'll fix that.
|
|
IP Logged |
|
|
|
lightvector
Forum Guru
Arimaa player #2543
Gender:
Posts: 197
|
|
Re: 2012 Computer Championship
« Reply #61 on: Jan 16th, 2012, 10:34pm » |
Quote 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:
Posts: 1003
|
|
Re: 2012 Computer Championship
« Reply #62 on: Jan 26th, 2012, 10:37pm » |
Quote 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
Gender:
Posts: 5928
|
|
Re: 2012 Computer Championship
« Reply #63 on: Jan 31st, 2012, 9:04pm » |
Quote 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:
Posts: 1003
|
|
Re: 2012 Computer Championship
« Reply #64 on: Feb 1st, 2012, 12:07am » |
Quote 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:
Posts: 118
|
|
Re: 2012 Computer Championship
« Reply #65 on: Feb 6th, 2012, 3:27pm » |
Quote 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:
Posts: 883
|
|
Re: 2012 Computer Championship
« Reply #66 on: Feb 6th, 2012, 3:52pm » |
Quote 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:
Posts: 605
|
|
Re: 2012 Computer Championship
« Reply #67 on: Feb 6th, 2012, 4:44pm » |
Quote 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 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:
Posts: 118
|
|
Re: 2012 Computer Championship
« Reply #69 on: Feb 7th, 2012, 12:50am » |
Quote 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:
Posts: 1003
|
|
Re: 2012 Computer Championship
« Reply #70 on: Feb 8th, 2012, 2:51pm » |
Quote 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 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? 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:
Posts: 1003
|
|
Re: 2012 Computer Championship
« Reply #72 on: Feb 8th, 2012, 10:54pm » |
Quote 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 Modify
|
Thank you Omar for the clarification and for the pointers! I'm sure I'll be able to get something going. Cheers!
|
|
IP Logged |
|
|
|
tize
Forum Guru
Arimaa player #3121
Gender:
Posts: 118
|
|
Re: 2012 Computer Championship
« Reply #74 on: Feb 9th, 2012, 3:06pm » |
Quote 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 |
|
|
|
|