----- Original Message ---- > From: Petr Baudis <pa...@ucw.cz>
> There has been some talk about implementing monte-carlo playouts on > GPUs in the past, I have heard rumours about Polish bachelor student > doing libego -> GPGPU conversion as a project, etc. but I know of > nothing concrete ever materializing - is anybody aware of anything? > > We have recently bought very high-end nVidia card at our university > department for trying out GPGPU and I'm thinking of a little project for > myself, maybe... > > I'm not much skilled in this kind of programming though, so I'm not > quite sure what the best design approach to take would be... my current > ideas so far are either > > (i) Have one game per pipeline, and in each cycle, take a board and > transform it by playing a random move (or possibly have an extra cleanup > cycles if capturing stones would take too long); you should be able to > do some neat pattern matching and so too > > (ii) Have one intersection per pipeline, in one cycle play a random > move, then have board_height cycles for captures and liberty updates > to ripple through to all the neighbors. The code would be much more > streamlined, but I'm not sure yet if there is a good way to do the > rippling - ORing bitmaps? > > I guess there is a lot of things to try out. There may be ways to implement monte carlo effectively on GPUs - but some other algorithms might make more effective use of the different capabilities of the GPU. For instance, neural networks might map well to a GPU. It might also be possible to collect a lot of useful information about shapes using cellular automata. The GPU might be the main engine, or it might be deployed to collect information about the current board situation ( such as the most interesting plays ) which is then fed to the CPU for creation of a tree structure. Hard to say a priori -- lots of room for experimentation! _______________________________________________ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/