Re: [Computer-go] Commercial Go software and high-end users

2016-05-31 Thread David Ongaro

> On 31 May 2016, at 13:11, Gian-Carlo Pascutto  wrote:
> 
> 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

2016-05-31 Thread Gian-Carlo Pascutto
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

2016-05-31 Thread David Ongaro
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

2016-05-31 Thread Ingo Althöfer
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

2016-05-31 Thread Ingo Althöfer
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

2016-05-31 Thread Ingo Althöfer
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