表題の通りWindows Subsystem for Linux上にSADをホストするケースの検証を行いました
一部制約がある点以外、ベアメタルのUbuntu Linuxと同程度にSADが動作することを確認できました
拡張機能のダイナミックロードなど、cygwinよりも良好な結果が得られています
検証時に見つかった問題の修正を反映した MAIN trunk V1.0.10.5.14a4以降であれば、
ある程度動くと期待できます(それ自体は未検証)
環境構築メモを置いたURLは、禁則により投稿不能のようです
MAIN trunk V1.0.10.5.14a4にて、64bit WSL環境でのコンパイルと基本動作の確認を実施
* 動作が確認できたもの
** script/bench2.sad
** script/amida.sad
** devel/FFICall拡張モジュール
** devel/FFTW拡張モジュール
** devel/LAPACK拡張モジュール + liblapack-dev package
* コンパイル段階で問題が発生するもの
** devel/LAPACK拡張モジュール + libopenblas-dev package (OpenBLASと正しくリンクできない)
>:~/oldsad/script$ ~/oldsad/bin/gs bench2.sad
*** Welcome to SAD Ver.1.0.10.5.14a4 built at 2017-03-21 12:43:23 +0900 ***
*** Today: 12:45:53 Tuesday 03/21/2017 ***
cpu time= 1.5625E-02(sec) dt= 15.625(msec) free area:: 1793
OFF LOG ECHO;READ 77 ; 23
cpu time= 1.5625E-02(sec) dt= 15.625(msec) free area:: 1793
cpu time= 1.5625E-02(sec) dt= 15.625(msec) free area:: 1792
lmalloc4: allocated chunk offset is out of range
base=0x117dd0 heap=0x7f50c1940010 offset=0xfea18305048
lmalloc4: allocated chunk offset is out of range
base=0x117dd0 heap=0x7f50c1940010 offset=0xfea18305048
lmalloc4: allocated chunk offset is out of range
base=0x117dd0 heap=0x7f50c1940010 offset=0xfea18305048
lmalloc4: allocated chunk offset is out of range
base=0x117dd0 heap=0x7f50c1940010 offset=0xfea18305048
lmalloc4: allocated chunk offset is out of range
base=0x117dd0 heap=0x7f50c1940010 offset=0xfea18305048
lmalloc4: allocated chunk offset is out of range
base=0x117dd0 heap=0x7f50c1940010 offset=0xfea18305048
lmalloc4: allocated chunk offset is out of range
base=0x117dd0 heap=0x7f50c1940010 offset=0xfea18305048
lmalloc4: allocated chunk offset is out of range
base=0x117dd0 heap=0x7f50c1940010 offset=0xfea18305048
lmalloc4: allocated chunk offset is out of range
base=0x117dd0 heap=0x7f50c1940010 offset=0xfea18305048
lmalloc4: allocated chunk offset is out of range
base=0x117dd0 heap=0x7f50c1940010 offset=0xfea18305048
lmalloc4: allocated chunk offset is out of range
base=0x117dd0 heap=0x7f50c1940010 offset=0xfea18305048
lmalloc4: allocated chunk offset is out of range
base=0x117dd0 heap=0x7f50c3740010 offset=0xfea186c5048
Memory Full, request: 4000001 1 2044367
STOP talocp@italoc.f
というエラーで止まってしまいます。解決法がありますでしょうか?
なお、デフォルトから追加で
sudo apt-get install make
sudo apt-get install cc
sudo apt-get install fcc
sudo apt-get install bison
をインストールしてコンパイルを完結させました。
> >:~/oldsad/script$ ~/oldsad/bin/gs bench2.sad
> *** Welcome to SAD Ver.1.0.10.5.14a4 built at 2017-03-21 12:43:23 +0900 ***
> *** Today: 12:45:53 Tuesday 03/21/2017 ***
> cpu time= 1.5625E-02(sec) dt= 15.625(msec) free area:: 1793
> OFF LOG ECHO;READ 77 ; 23
> cpu time= 1.5625E-02(sec) dt= 15.625(msec) free area:: 1793
> cpu time= 1.5625E-02(sec) dt= 15.625(msec) free area:: 1792
> lmalloc4: allocated chunk offset is out of range
> base=0x117dd0 heap=0x7f50c1940010 offset=0xfea18305048
> lmalloc4: allocated chunk offset is out of range
> base=0x117dd0 heap=0x7f50c1940010 offset=0xfea18305048
> lmalloc4: allocated chunk offset is out of range
> base=0x117dd0 heap=0x7f50c1940010 offset=0xfea18305048
> lmalloc4: allocated chunk offset is out of range
> base=0x117dd0 heap=0x7f50c1940010 offset=0xfea18305048
> lmalloc4: allocated chunk offset is out of range
> base=0x117dd0 heap=0x7f50c1940010 offset=0xfea18305048
> lmalloc4: allocated chunk offset is out of range
> base=0x117dd0 heap=0x7f50c1940010 offset=0xfea18305048
> lmalloc4: allocated chunk offset is out of range
> base=0x117dd0 heap=0x7f50c1940010 offset=0xfea18305048
> lmalloc4: allocated chunk offset is out of range
> base=0x117dd0 heap=0x7f50c1940010 offset=0xfea18305048
> lmalloc4: allocated chunk offset is out of range
> base=0x117dd0 heap=0x7f50c1940010 offset=0xfea18305048
> lmalloc4: allocated chunk offset is out of range
> base=0x117dd0 heap=0x7f50c1940010 offset=0xfea18305048
> lmalloc4: allocated chunk offset is out of range
> base=0x117dd0 heap=0x7f50c1940010 offset=0xfea18305048
> lmalloc4: allocated chunk offset is out of range
> base=0x117dd0 heap=0x7f50c3740010 offset=0xfea186c5048
> Memory Full, request: 4000001 1 2044367
> STOP talocp@italoc.f
>
> というエラーで止まってしまいます。解決法がありますでしょうか?
sad.confをまともに設定してください
Web上にまとめを書いたど、URLを記述すると投稿できないので、これ以上なにもする気が起きません
http://afsad1.kek.jp/redmine/projects/oldsad-trunk/wiki/SAD_on_Win10
書いてみました!
原田の知っている範囲では、漢字で「しょない」はNGワードです。
しょないネットとか、しょないの人は見られるとか、しょないという
単語を使いたい場合は、ひらがなにしましょう。
どうしてこれがNGワードなのか、全く理解できません。
所外の方向け:sad.confサンプル
SAD_ROOT=$(HOME)/SAD
# Enable 2GB limit workaround for mmap(2) on Linux/x86_64
ifeq ($(CPU_ARCH),AMD64)
COPT+=-DUSE_MMAP_FOR_MALLOC -DTRY_SAD_MAP_ADDR32
endif
# Refer libffi-dev package
LIBFFI_INCDIR_AMD64=/usr/include/x86_64-linux-gnu
LIBFFI_INCDIR_i386=/usr/include/i386-linux-gnu
LIBFFI_INCDIR=$(LIBFFI_INCDIR_$(CPU_ARCH))
# Refer libopenblas-dev package(Does not work with Ubuntu 14.04.05LTS)
#USE_BLAS=OpenBLAS
追加する必要があるパッケージ
sudo apg-get install gcc
sudo apg-get install gfc
sudo apg-get install make
sudo apg-get install bison