1. 04 Apr, 2019 1 commit
  2. 03 Apr, 2019 3 commits
  3. 02 Apr, 2019 36 commits
    • Gian-Carlo Pascutto's avatar
      Don't detect precision with Tensor Cores. · 62a32694
      Gian-Carlo Pascutto authored
      Don't autodetect or default to fp32 when all cards have
      Tensor Cores. We will assume fp16 is the fastest.
      
      This avoids problems in tune-only mode which does not
      detect the precision to use and would use fp32 on such cards.
      
      Pull request #2312.
      62a32694
    • Gian-Carlo Pascutto's avatar
      Update AUTHORS. · 085839f8
      Gian-Carlo Pascutto authored
      085839f8
    • ManKit Pong's avatar
      Mixed precision training support. · 1adcc30c
      ManKit Pong authored
      * Add mixed precision training support.
      * Do not use loss scale if training with fp32
      * Fix potential reg_term overflow of large networks.
      
      Pull request #2191.
      1adcc30c
    • Henrik Forstén's avatar
      Choose move based on normal distribution LCB. · fd23877d
      Henrik Forstén authored
      * Calculate node variance.
      * Use normal distribution LCB to choose the played move.
      * Cached student-t.
      * Sort lz-analyze output according to LCB.
      * Don't choose nodes with very few visits even if LCB is better.
      
      Guard against NN misevaluations when top move has lot of visits.
      Without this it's possible for move with few hundred visits to be picked
      over a move with over ten thousand visits.
      
      The problem is that the evaluation distribution isn't really normal
      distribution. Evaluations correlate and the distribution can change
      if deeper in the tree it finds a better alternative.
      
      Pull request #2290.
      fd23877d
    • Gian-Carlo Pascutto's avatar
      Report root visits in gomill-explain_last_move. · aabfecc7
      Gian-Carlo Pascutto authored
      See issue #2280.
      
      Pull request #2302.
      aabfecc7
    • Gian-Carlo Pascutto's avatar
      Always allow passing when low on moves. · 57b7f6be
      Gian-Carlo Pascutto authored
      As pointed out by @gjm11 in #2277, when there's few legal moves we might
      want to allow passing even if this loses on the board count. The
      alternative might be to self-destruct large groups and carry the game
      on endlessely even if the policy wouldn't want to.
      
      No difference in "dumbpass" mode.
      57b7f6be
    • Gian-Carlo Pascutto's avatar
      Ignore passing moves unless they make sense. · 1a4538a1
      Gian-Carlo Pascutto authored
      Only pass when winning or low on legal moves.
      Disabled in self-play.
      
      Fixes issue #2273.
      Based on pull request #2277.
      
      Pull request #2301.
      1a4538a1
    • Gian-Carlo Pascutto's avatar
      Error out if weights are for wrong board size. · f7bf8267
      Gian-Carlo Pascutto authored
      We currently will either crash or do strange things if we're
      fed a weights file that doesn't match the board size we're compiled
      for.
      
      See issue #2289.
      f7bf8267
    • Gian-Carlo Pascutto's avatar
      Fix inconsistent default timecontrol. · e89e1a7b
      Gian-Carlo Pascutto authored
      As noted in pull request #2172, the default
      constructor set byo yomi stones but no time or
      periods.
      e89e1a7b
    • Hersmunch's avatar
      Add support for time controls in loadsgf/printsgf. · 148f9797
      Hersmunch authored
      Added extra support for "TM" and "OT" and other sgf time control
      properties on printsgf and loadsgf GTP commands.
      
      * Added parsing and loading of "TM" and "OT" sgf properties on GTP command
        loadsgf. Only supports "OT" syntax matching output from a printsgf GTP
        command.
      * Change SGFTree to have a shared_ptr for a time control.
      * Added saving and loading of "BL", "WL", "OB" and "OW" sgf properties on
        GTP commands printsgf and loadsgf.
      * Change to make TimeControl::make_from_text_sgf() a time control factory
        and other minor tidying.
      
      Pull request #2172.
      148f9797
    • Gian-Carlo Pascutto's avatar
      Fix small style nits. · cc11c033
      Gian-Carlo Pascutto authored
      cc11c033
    • Zhenzhen Zhan's avatar
      Fix thread count error message. · a1c59180
      Zhenzhen Zhan authored
      Pull request #2287.
      a1c59180
    • Gian-Carlo Pascutto's avatar
      Make chunkparser more robust. · f5e6e9f1
      Gian-Carlo Pascutto authored
      Some clients are sending corrupted data, make the
      chunk parser resilient against it.
      f5e6e9f1
    • Adrian Petrescu's avatar
      Allow configuring default komi at compile-time. · f6c18ac0
      Adrian Petrescu authored
      Pull request #2257.
      f6c18ac0
    • Henrik Forstén's avatar
      Enable batching for self-play. · 9beb22e0
      Henrik Forstén authored
      Pull request #2253.
      9beb22e0
    • Seth Troisi's avatar
      Refactor tree_stats_helper to lambda. · b2fe01dd
      Seth Troisi authored
      Pull request #2244.
      b2fe01dd
    • Sebastian H's avatar
      Shuffle tuner parameters to find good parameters quicker. · b1907a42
      Sebastian H authored
      Parameters are searched in a linear fashion currently. By shuffling them,
      we will find a good instance more quickly.
      
      Also, shuffing could help reduce possible bias due to grouped, similar
      parameters that affect the environment (e.g. cache, branch predictor, ...),
      leading to more accurate/fair results.
      
      Additionally, this is a preparation for exiting the tuner during the search,
      which becomes a possible option.
      
      Pull request #2225.
      b1907a42
    • Junhee Yoo's avatar
      Set up default batch size and threads. · 31b795b8
      Junhee Yoo authored
      Fixes issue #2214.
      
      Pull request #2256.
      31b795b8
    • TFiFiE's avatar
      Minor cleanup involving Network::get_output. · d0aacb8d
      TFiFiE authored
      Pull request #2228.
      d0aacb8d
    • TFiFiE's avatar
      README.md: link to mentioned pull requests. · 358a0d2b
      TFiFiE authored
      Pull request #2229.
      358a0d2b
    • TFiFiE's avatar
      Remove unused lambda capture. · b648f140
      TFiFiE authored
      Pull request #2231.
      b648f140
    • Jonathan Roy's avatar
      Update README.md. · 03091be7
      Jonathan Roy authored
      Update links to leela-zero instead of gcp.
      Update badge and link to the new AppVeyor project
      under leela-zero instead of gcp ownership.
      03091be7
    • Henrik Forstén's avatar
      Autogtp: Tune for batchsize 1 · ac6c4ab6
      Henrik Forstén authored
      Self-play games specify `-t 1` for playing which implies batch size of 1, but tuning was done for default settings since number of threads was not specified.
      
      Pull request #2206
      ac6c4ab6
    • Junhee Yoo's avatar
      Batched neural net evaluations · efa3486a
      Junhee Yoo authored
      Group evaluations and run them in parallel. Roughly 50% speedup on my setup, but there are a couple of points that is debatable.
      
      - Thread / batch sizing heuristics : This PR changes how the default threads / default batch sizes are picked.  See Leela.cpp
      - Batch-forming heuristic : See OpenCLScheduler.cpp for the batch forming heuristic : the heuristic exists so that we can wait for the rest of the engine to create more NN evaluations so that we can run larger batches.  We can't wait indefinitely since there are cases we enter 'serial' paths.  Since heuristics are heuristics, these might need some tests on a larger variety of types of systems.
      
      Did make sure that winrate improves when running default vs. default command line `./leelaz -w (weight file)` on time parity.
      
      Pull request #2188.
      efa3486a
    • ncaq's avatar
      .gitignore: Add build. · aad47c17
      ncaq authored
      leela-zero's default build directory is `build`.
      
      It is very annoying when using leela as a git submodule that 
      the repository updates whenever it builds.
      
      Pull request #2199.
      aad47c17
    • Gian-Carlo Pascutto's avatar
      Rework test regex for MSVC limits. · 3b3fd081
      Gian-Carlo Pascutto authored
      Seems like the previous test regex is causing MSVC's regex engine to run
      out of stack space.
      3b3fd081
    • Gian-Carlo Pascutto's avatar
      Fix style, extra spaces in PV output. · 1792aa9b
      Gian-Carlo Pascutto authored
      Adding the minmoves tag exposes a small bug in the PV
      output formatting. Avoid extra blank spaces.
      
      Small style fixups.
      1792aa9b
    • Gian-Carlo Pascutto's avatar
      Add lz-analyze minmoves tag. · efdb1580
      Gian-Carlo Pascutto authored
      Add an lz-analyze tag to suggest the minimum amount of moves the
      engine should post info about (rather than only those it considers
      interesting, i.e. the ones with at least a visit).
      
      This allows some very flexible constructs:
      
      Getting a heatmap:
      
          lz-setoption name visits value 1
          lz-analyze interval 1 minmoves 361
      
      Forcing a move among the top policy moves only:
      
          lz-setoption name visits value 1
          lz-analyze interval 1 minmoves 2
          (store those moves, e.g. A1, B1)
          lz-setoption name visits value 0
          lz-genmove_analyze b interval 1 allow b A1 1 allow b B1 1
      efdb1580
    • Gian-Carlo Pascutto's avatar
      Remark about move assignment in style guideline. · e822aaf9
      Gian-Carlo Pascutto authored
      Emphasize use of emplace_back and move semantics.
      e822aaf9
    • Gian-Carlo Pascutto's avatar
      Minor style fixups. · d63bc873
      Gian-Carlo Pascutto authored
      Minor fixups for pull request #2170.
      d63bc873
    • Akita Noek's avatar
      Add several simple GTP commands. · 7e2298b4
      Akita Noek authored
      Added several simple GTP commands useful for building interfaces to LZ.
      
      Added the following GTP commands.
      
          last_move
          move_history
      
      The output of these commands is in line with that of the corresponding
      commands in GNU Go when such commands existed.
      
      Pull request #2170.
      7e2298b4
    • Gian-Carlo Pascutto's avatar
      Add contributor (and maintainer) guidelines. · 29db41d4
      Gian-Carlo Pascutto authored
      * Add contributor (and maintainer) guidelines.
      
      Spell out the existing code style, C++ usage, git workflow,
      commit message requirements, and give guidelines regarding reviewing,
      merging and adding configuration options and GTP extensions.
      
      Pull request #2186.
      29db41d4
    • Gian-Carlo Pascutto's avatar
      Remove an unnecessary std::move(). · 9aa93373
      Gian-Carlo Pascutto authored
      Which inhibits RVO. See e.g. https://stackoverflow.com/a/19272035
      9aa93373
    • Gian-Carlo Pascutto's avatar
      Update TODO list. · 722f2404
      Gian-Carlo Pascutto authored
      We support avoid tags now. Clarify batching work needs
      changes in the search.
      722f2404
    • Junhee Yoo's avatar
      Tensor Core support with PTX inline assembly. · b2dac9e5
      Junhee Yoo authored
      * Tensor core support for half precision
      * hgemm : Added m16n16k16/m32n8k16/m8n32k16 tuning
      
      Tuner will see which shaped multiplication is fastest.
      MDIMA represents the M dimension, NDIMB represents the N dimension.
      
      * tensorcore : Test m16n16k16 typs only for checking tensorcore availability
      
      It seems that there are cases where only m16n16k16 is supported.
      If other formats are not available they will be auto-disabled on tuning.
      
      Pull request #2049.
      b2dac9e5
    • Hersmunch's avatar
      Removed --cpu-only option from USE_CPU_ONLY build. · 294285a5
      Hersmunch authored
      Generalized output displayed in cases where potentially referring to a CPU 
      instead of or as well as a GPU.
      
      Pull request #2161.
      294285a5