Re: [Computer-go] Commercial Go software and high-end users
> On 31 May 2016, at 13:11, Gian-Carlo Pascuttowrote: > > On 31/05/2016 20:45, David Ongaro wrote: >> I suspect Aja is right and Remi should go the path of integrating the >> GPU even if it's just to get more "oomph" for CS. That he tried to >> learn GPU programming from scratch is a noble attempt but I guess >> it's just to ambitious to accomplish in a reasonable timeframe. Using >> one of the ready to use frameworks should make it feasible though. > > They're a pretty annoying burden if you want to make the engine > commercial. I'm not even sure CuDNN can be bundled with the engine? Isn't e.g. TensorFlow Apache 2.0 license and would allow its inclusion in commercial products? > Additionally, not all customers might have a GPU that is enough faster > than the CPU (i.e. not the built-in one in modern CPUs, save maybe AMD's > APU units), so you need a good CPU fallback anyway. Oh, and if you use > CUDA, you lose about 1/3rd of your customers, again. Again, I think TensorFlow (but there might be others) is in big parts CPU/GPU agnostic, so one could make flexible choices here (even at runtime) without rewriting code. I'm aware that abstractions are leaking and not always desirable (e.g. if you want to take explicit advantage of the actual differences), but it should make things much easier to start with. > You're overestimating the difficulty of programming a GPU though. Yes, > if you've never done it before the programming takes some adjustment, > but the SIMT model is very convenient to write code in, IMHO much easier > than trying to coerce things to SIMD layouts. I might overestimating it, but on the other hand I guess a Professor like Rémi has much more obligations other then writing Go Software. So anything which could save time helps. David O. ___ Computer-go mailing list Computer-go@computer-go.org http://computer-go.org/mailman/listinfo/computer-go
Re: [Computer-go] Commercial Go software and high-end users
On 31/05/2016 20:45, David Ongaro wrote: > I suspect Aja is right and Remi should go the path of integrating the > GPU even if it's just to get more "oomph" for CS. That he tried to > learn GPU programming from scratch is a noble attempt but I guess > it's just to ambitious to accomplish in a reasonable timeframe. Using > one of the ready to use frameworks should make it feasible though. They're a pretty annoying burden if you want to make the engine commercial. I'm not even sure CuDNN can be bundled with the engine? Additionally, not all customers might have a GPU that is enough faster than the CPU (i.e. not the built-in one in modern CPUs, save maybe AMD's APU units), so you need a good CPU fallback anyway. Oh, and if you use CUDA, you lose about 1/3rd of your customers, again. Those are things you can ignore if you're AlphaGo, not so much if you're selling software. You're overestimating the difficulty of programming a GPU though. Yes, if you've never done it before the programming takes some adjustment, but the SIMT model is very convenient to write code in, IMHO much easier than trying to coerce things to SIMD layouts. From what I understand the AVX512 instruction set in the next generation of Intel CPUs will allow them to be programmed better using SIMT. I can't wait! What's more annoying is writing a GUI to allow the user to select his GPU, being able to dynamically switch between CPU/GPU, include some mini-benchmark so we know if the GPU is actually useful, add error handling if the user has buggy drivers, etc... (aka the GPU version of Leela won't be released quite yet) -- GCP ___ Computer-go mailing list Computer-go@computer-go.org http://computer-go.org/mailman/listinfo/computer-go
Re: [Computer-go] Commercial Go software and high-end users
Hi Ingo, > On 31 May 2016, at 00:07, Ingo Althöfer <3-hirn-ver...@gmx.de> wrote: > > Hi Petr, > > "Petr Baudis">>> ... It is enough that the [CHESS] program is tactically strong. >> >> But strong Go programs are traditionally strategically strong, but >> tactically *weak*. > > "tactical" was meant for Chess. In Go, players may use > "the other strengths" of go programs. For instance, in November > Benjamin Teuber (6d, one of the top German players) was impresssed > by CrazyStone's analysis of one of his games (against FJ Dickhut). > Teuber: "Some of CS' moves were eye-openers for me. I had never > thought about those interesting moves." But I guess you already have to be a quite strong player in order to see these nuggets in a sea of weaker moves. I wasn't very impressed by the CS analysis done by Michael Markefka from the German go forum (http://www.dgob.de/yabbse/index.php?action=dlattach;topic=6039.0;attach=4930). Maybe its acceptable that it didn't found r8 and preferred q7 because r8 is not easy to see (should be a no brainer for 7d though) but that it preferred e.g. m3 over r2 keeps me wondering. Then at later points in the game it likes to peep at q7 at random times for no reason. It actually found that d15 is better than c15 which CS played in the actual game but instead of the deciding mistake b3 it suggests c9, which, while much better than the game since its not a total blunder, is clearly inferior to the Joseki move c7. Sure a strong player like Benjamin can distinguish between just bad and interesting suggestions and might learn from such analyses. But weaker players might end up confused and weaker than before. Note that I'm not singing in this strange chorus of disappointment over CS performance in the game against Haylee. I think it's way to early for todays computer programs (besides AlphaGo) to attempt even games against Pros. So not only the loss but also the way of loss was to be expected. I only want to put CS capabilities as a Go tutor in perspective. I suspect Aja is right and Remi should go the path of integrating the GPU even if it's just to get more "oomph" for CS. That he tried to learn GPU programming from scratch is a noble attempt but I guess it's just to ambitious to accomplish in a reasonable timeframe. Using one of the ready to use frameworks should make it feasible though. David O. ___ Computer-go mailing list Computer-go@computer-go.org http://computer-go.org/mailman/listinfo/computer-go
Re: [Computer-go] Commercial Go software and high-end users
Hi Petr, "Petr Baudis"> (I also think that it's algorithmically a lot more complicated to build > these analysis tools for Go, for example adding a good tsumego solver to > your program. It is not necessary to wait for a strong tsumego solver before spreading a nice analysis tool. Start with what you have and add new "modules" when they become available. (That is also the way, ChessBase did it.) > > > > ... And for that it would be very helpful to have a few popular top > > > > players > > > > using it. > > ... currently there is also no good analysis software in the Asian market. > > But you need to do marketing, write documentation, user interface, > recruit pro players... Right. And finding a strong pro as a PR locomotive should be one of the first steps. By the way: I started this thread not with the intention to force for instance Rémi into such a project, but I had in mind mainly suitable people from Japan or Korea. (I hope at leaast some of them are reading this.) > ... And most importantly, talk to the users, spread the word > and hear feedback. Right. That is exactly what ChessBase started to provide in the late 1980's for Chess. "We" need a company in particular dedicated to Go software, not one like Unbalance where computer Go is sort of a fifth wheel. > I don't think it pays off to target western market primarily in Go. Fully agreed. Make a nice Japanese or Korean Go analysis program available, and everything else will come by itself (including me learning Japanese or Korean language :-). > ... you must come from East Asia, or have a local company as a distributor. The success of ChessBase was that they were not existing already but were created only for the Chess software field. > (If I take a model example of CrazyStone as a program crossing the > barrier I mentioned, it uses a local producer to do the marketing and > distribution. with the problem: Unbalance is not specialized in computer Go. They even seem to have problems to understand what analysis in Go is. > ... This is *not meant as a criticism* of Remi, > ... For a Western programmer, trying to enter East > Asian markets as the "Matthias Wuellenweber" of Go, you need to find > your "Frederic Friedel" as a true partner fluent in that geo area, > which is challenging. Fully agreed. A Frederic Friedel for Go is needed - and he has to "activate" suitable top pro players. As a wrote in the German computer Go forum: on some days I regret that Go is not a Western game. Ingo. ___ Computer-go mailing list Computer-go@computer-go.org http://computer-go.org/mailman/listinfo/computer-go
Re: [Computer-go] Commercial Go software and high-end users
Hi Petri, "Petri Pitkanen"> ... I do doubt if strong go programs give too much for analysis. > Even if they are 1p and can show you a better move it is not worth > much for a human when there is no reasoning available how to zoom > into that move. that is just my point. The program needs some interface features to become really helpful as a tool for analysis. In chess, such features were introduced (in the early 1990's; mainly by ChessBase) and became common soon. > Even in chess no-one really gains form computer analysis. Very wrong. From the mid 1990's most strong correspondence chess players use computer help intensively; and a few years later the same started in opening preparation for over-the-table grandmasters. Example: In 2002 Tonu Oim (Estonia) got his second World Champion Title with the help of friends from Finland [sic!] and their chess programs. Ingo. ___ Computer-go mailing list Computer-go@computer-go.org http://computer-go.org/mailman/listinfo/computer-go
Re: [Computer-go] Commercial Go software and high-end users
Hi Petr, "Petr Baudis"> > ... It is enough that the [CHESS] program is tactically strong. > > But strong Go programs are traditionally strategically strong, but > tactically *weak*. "tactical" was meant for Chess. In Go, players may use "the other strengths" of go programs. For instance, in November Benjamin Teuber (6d, one of the top German players) was impresssed by CrazyStone's analysis of one of his games (against FJ Dickhut). Teuber: "Some of CS' moves were eye-openers for me. I had never thought about those interesting moves." > We still don't have a good publicly available tsumego > solver. I think this makes their capabilities a lot less useful for > game analysis. Agreed. Concerning tactics, time is not really ripe, yet. > > ... And for that it would be very helpful to have a few popular top players > > using it. > > So my main hypothesis is that the English-speaking market is very > small, and the East Asian language barrier(s) prevent a lot of network > effects to kick in; The analysis does not need to be English-based. For me, Japanese or Korean interface software would also be nice, but currently there is also no good analysis software in the Asian market. Ingo. ___ Computer-go mailing list Computer-go@computer-go.org http://computer-go.org/mailman/listinfo/computer-go