やねうら王 は 2019 年現在最も強い将棋 AI の一つです。AWS Lambda 上で実行できれば、API Gateway と連携したりして夢が広がります。
やねうら王 V4.88 を AWS Lambda 向けにビルドしてみよう。
実行環境
AWS Lambda の実行環境 OS は Amazon Linux 2 なので、Amazon Linux 2 上でビルドすれば十分です。
SIMD 拡張命令は 2017 年時点で SSE 4.2 が動くらしい。
ビルド
Amazon Linux の Docker イメージ を使うと楽です。
ビルドに必要なパッケージは下記の通り。
FROM amazonlinux:2.0.20191016.0
RUN yum install -y gcc gcc-c++ make build-essential git
Makefile で TARGET_CPU = SSE42
, COMPILER = g++
の 2 箇所を変更した後、
$ make normal
コマンドですんなりビルドが通ります。
Dockerfile
と Makefile
の全体像は下記の通り。
実行
評価関数とあわせて何らかの方法で Lambda にバイナリ配置して、お好きなように呼べば良いです。
Serverless Framework を利用して API Gateway から呼び出す場合のサンプルコードはこちら。
(おまけ) dolphin 1.0.1
めきっと氏 (https://twitter.com/_illqha) の dolphin1 もほとんど同じ流れで AWS Lambda 向けにビルドできます。