Help us understand the problem. What is going on with this article?

やねうら王を AWS Lambda で動かす

やねうら王 は 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

MakefileTARGET_CPU = SSE42, COMPILER = g++ の 2 箇所を変更した後、

$ make normal

コマンドですんなりビルドが通ります。
DockerfileMakefile の全体像は下記の通り。

https://github.com/na-o-ys/shogi-api/tree/549418f0e8f3ee1dd686bf537dda9198b51cba3a/builder/YO488

実行

評価関数とあわせて何らかの方法で Lambda にバイナリ配置して、お好きなように呼べば良いです。
Serverless Framework を利用して API Gateway から呼び出す場合のサンプルコードはこちら。

https://github.com/na-o-ys/shogi-api/blob/549418f0e8f3ee1dd686bf537dda9198b51cba3a/serverless/src/handler.ts

(おまけ) dolphin 1.0.1

めきっと氏 (https://twitter.com/_illqha) の dolphin1 もほとんど同じ流れで AWS Lambda 向けにビルドできます。

https://github.com/na-o-ys/shogi-api/tree/549418f0e8f3ee1dd686bf537dda9198b51cba3a/builder/dolphin101

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away