これはYaneuraOuをRaspberryPi3 ModelB上のRaspbianで動作させた時のメモです。
YaneuraOuのバイナリを作成してShogiGUIのエンジンとして登録するとこまで。
#Raspbianにsshで入ることができて、そこでgitやmake,clang等が使える環境であること。
YaneuraOu の取得と patch を ddc0b34 に適用
$ cd ~/ && mkdir work && cd work| cmake_minimum_required(VERSION 2.8) | |
| add_definitions("-DYANEURAOU_2017_EARLY_ENGINE") | |
| # add_definitions("-DHELP_MATE_ENGINE") | |
| # add_definitions("-DMATE_ENGINE") | |
| set(CMAKE_CXX_COMPILER "clang++") | |
| add_definitions("-std=c++14 -fno-exceptions -fno-rtti -Wextra -Ofast -MMD -MP -fpermissive") | |
| add_definitions("-stdlib=libstdc++ -Wno-unused-parameter") | |
| add_definitions("-D_LINUX -DUNICODE -DNO_EXCEPTIONS") |
| cmake_minimum_required(VERSION 2.8) | |
| set(CMAKE_CXX_COMPILER "clang++") | |
| add_definitions("-std=c++14 -fno-exceptions -fno-rtti -Wextra -Ofast -MMD -MP") | |
| add_definitions("-Wno-unused-parameter") | |
| set(CMAKE_EXE_LINKER_FLAGS "-Wl,-s -v") | |
| if(NOT DEFINED target) | |
| set(target "avx2") | |
| endif() | |
| if(target STREQUAL avx2) |
| // 捨てコード。 | |
| // 某手書きタブレットが吐く筆跡のベクター情報の入った json ファイルを svg にして、筆跡を辿って細々と連番画像ファイル化 | |
| // 吐かれた画像を ffmpeg コマンドで乱暴に動画化する | |
| #include <stdbool.h> | |
| #include <unistd.h> | |
| #include <getopt.h> | |
| #include <string.h> | |
| #include <limits.h> | |
| #include <dirent.h> | |
| #include <sys/stat.h> |
| // ** きたないコード ** | |
| // video(0) とか IPカメラとか mjpeg とか、opencv のvideo入力ソースから読んで、fb にマンガカメラ風の映像を垂れ流すやつ。 | |
| // ついでなので、日時とか biff とかを書いていた。 | |
| // Cortex-A8 800MHzに LCD-8000U を繋いで動作。 | |
| // g++ gomi.cc -o cam `pkg-config --cflags opencv` `pkg-config --libs opencv` | |
| #include <stdio.h> | |
| #include <stdlib.h> | |
| #include <stdio.h> | |
| #include <sys/mman.h> | |
| #include <linux/fb.h> |
| diff --git a/hls/ngx_rtmp_hls_module.c b/hls/ngx_rtmp_hls_module.c | |
| index d41daaa..8c1a834 100644 | |
| --- a/hls/ngx_rtmp_hls_module.c | |
| +++ b/hls/ngx_rtmp_hls_module.c | |
| @@ -2322,7 +2322,7 @@ ngx_rtmp_hls_cleanup_dir(ngx_str_t *ppath, ngx_msec_t playlen) | |
| name.data[name.len - 2] == 't' && | |
| name.data[name.len - 1] == 's') | |
| { | |
| - max_age = playlen / 500; | |
| + max_age = playlen / 100; |
| package main | |
| import ( | |
| "bufio" | |
| "encoding/json" | |
| "fmt" | |
| "io" | |
| "io/ioutil" | |
| "log" | |
| "os" |
| diff --git a/autoload/twitvim.vim b/autoload/twitvim.vim | |
| index 90b4a85..096d0eb 100644 | |
| --- a/autoload/twitvim.vim | |
| +++ b/autoload/twitvim.vim | |
| @@ -2479,7 +2479,7 @@ function! s:launch_browser(url) | |
| " an existing browser window. | |
| " Firefox appears to output to stderr as well, so the '2&>1' redirect is | |
| " needed. | |
| - let endcmd = has('unix') ? '> /dev/null 2&>1 &' : '' | |
| + let endcmd = '' |
| diff --git a/source/Makefile b/source/Makefile | |
| index 222d35e..692a469 100644 | |
| --- a/source/Makefile | |
| +++ b/source/Makefile | |
| @@ -155,6 +155,10 @@ tournament: | |
| $(MAKE) CFLAGS='$(CFLAGS) -DNDEBUG -DUSE_MAKEFILE -D$(YANEURAOU_EDITION) -DUSE_AVX2 -mbmi2 -mavx2 -DFOR_TOURNAMENT -march=corei7-avx' LDFLAGS='$(LDFLAGS) $(LTOFLAGS)' $(TARGET) | |
| tournament-sse42: | |
| $(MAKE) CFLAGS='$(CFLAGS) -DNDEBUG -DUSE_MAKEFILE -D$(YANEURAOU_EDITION) -DUSE_SSE42 -msse4.2 -DFOR_TOURNAMENT -march=corei7' LDFLAGS='$(LDFLAGS) $(LTOFLAGS)' $(TARGET) | |
| +tournament-simple-neon: | |
| + $(MAKE) CFLAGS='$(CFLAGS) -DNDEBUG -DUSE_MAKEFILE -D$(YANEURAOU_EDITION) -DNO_SSE -mfloat-abi=hard -mfpu=neon -DFOR_TOURNAMENT -march=armv7-a -mtune=cortex-a8 -ffast-math -mabi=aapcs-linux -fforce-addr -fomit-frame-pointer' LDFLAGS='$(LDFLAGS) $(LTOFLAGS)' $(TARGET) |
| diff --git a/source/extra/test_cmd.cpp b/source/extra/test_cmd.cpp | |
| index 452493c..d3991aa 100644 | |
| --- a/source/extra/test_cmd.cpp | |
| +++ b/source/extra/test_cmd.cpp | |
| @@ -1572,6 +1572,159 @@ void eval_merge(istringstream& is) | |
| cout << "..done" << endl; | |
| } | |
| +void eval_merge2(istringstream& is) | |
| +{ |