ここは個人的な備忘録です。テキトーかつ適当が目標。

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
アホアホなはまり方をした。




\labelと\eqrefを使って数式番号を出していたが、特定の\eqrefだけ番号が出なくて悩んだ。

最初はタグのつづり間違いか何かかと思ったが、調べてみるとつづりの対応関係には問題はなかった。

他の\eqrefと比べてもとくに使い方に違いが見つからない。




で、よくよく見てみると\labelの二重定義だったo...rz

悩んでた箇所のだいぶ後ろの方で数式番号を出そうとして\eqrefを書いたつもりが\labelになっていた。そこを\eqrefに直したらちゃんと数式番号が出るようになった。


誤:\eqref{eq:fuga}の番号が出ず、コンパイルすると( )となってしまう。

次が成り立つ:
\begin{align}
 hoge &= h \times o \times g \times e, \label{eq:hoge} \\
 fuga &= f \times u \times g \times a, \label{eq:fuga} \\
 mage &= m \times a \times g \times e. \label{eq:mage}
\end{align}
\eqref{eq:hoge}, \eqref{eq:fuga}, \eqref{eq:mage}が成り立つのは自明である.



(数ページ後)


ところで\label{eq:ref}は…



正:二つ目の\labelを修正すると\eqref{eq:fuga}の番号が出るようになった。

次が成り立つ:
\begin{align}
 hoge &= h \times o \times g \times e, \label{eq:hoge} \\
 fuga &= f \times u \times g \times a, \label{eq:fuga} \\
 mage &= m \times a \times g \times e. \label{eq:mage}
\end{align}
\eqref{eq:hoge}, \eqref{eq:fuga}, \eqref{eq:mage}が成り立つのは自明である.



(数ページ後)


ところで\eqref{eq:fuga}は…



スポンサーサイト
GMPなどの旧バージョンも含めたダウンロード先をまとめておく。
「"index of" 名前」でググれば、FTPサイトが大体見つかる。

概要:
BUFFALO WLA-G54のファームウェアを入れ替えた。
WLA-G54はこんな格好をした無線AP + HUBなやつ。
BUFFALO WLA-G54 AirStation 2.4GHz・54Mbps スイッチングHUB搭載


これはずいぶん前に買ったが、無線がつながりにくかったので現状では有線部分しか使っていない。
もうだいぶ頑張ってもらったし、そろそろ遊んでみようと思ったのがきっかけ。

無線LAN AP/ルータ用のファームウェアDD-WRTというよさげなものがある。これはオープンソースで開発されている。また非常に高機能であるとのこと。VLANも切れるのか。これはたのしみ。

注:作業ミスをするとWLA-G54がお釈迦になる可能性があり、またファームウェアの入れ替えによってメーカーの保証が利かなくなります。作業は自己責任で。




必要なもの:
ソフト面
●ファームウェア本体:dd-wrt.v23_generic.bin(注:dd-wrt.v24_mini_generic.binでの体験談を後で見つけました)
●ddadder.exe(もしくは適当なバイナリエディタ)
ハード面
●WLA-G54本体
●適当なPC
●適当なLANケーブル




ファームへのパッチ当ての必要性:
dd-wrt.v23_generic.bin をそのままWLA-G54に載せようとしてもはじかれるとのこと。ファームウェアを適切に書き換えると載るようになる。書き換え方もググれば出る。方針は2通り見つかった:
1.ひとつはバイナリエディタで手書き。
2.二つ目はお手軽ツールddadderを使う。
あとここによるとv24のファームはダメらしいのでv23を探すのが吉…なのか。後で調べたらv24での体験談も見つかった。
ファームウェアのアップデートにはFirefoxは不可という記述も見つかった。IEでやることにする。感謝。




ファームウェアのダウンロード:
http://www.dd-wrt.com/site/support/other-downloads
ここをてきとーに調べると、v23のファームウェアが見つかる。

蛇足ながら
http://www.dd-wrt.com/site/support/router-database
ここの検索窓で「wla-g54」を引くとv24のファームウェアしか出てこない。

ddadderもググると見つかる。



作業開始(ファームにパッチを当てる):
(1)ddadderでファームウェアにパッチを当てる。
(2)WLA-G54の管理画面からファームウェアのアップデートを実行する。(Firefox不可)

で、DLしたファイルをてきとうな場所に解凍して

>ddadder.exe dd-wrt.v23_generic.bin wla-g54

とやってみるとWLA-G54用のファームウェアが生成される。DIRしてみると

2010/02/21 21:41

.
2010/02/21 21:41 ..
2006/09/13 16:59 50,443 changelog.txt
2010/02/21 21:41 3,502,114 dd-buffalo-wla-g54.bin
2006/09/15 20:11 3,502,080 dd-wrt.v23_asus.trx
2006/09/15 20:11 3,502,080 dd-wrt.v23_generic.bin
2010/02/21 21:35 21,016,507 dd-wrt.v23_sp2_standard.zip
2006/09/15 20:11 3,503,104 dd-wrt.v23_wrt54g.bin
2006/09/15 20:11 3,503,104 dd-wrt.v23_wrt54gs.bin
2006/09/15 20:11 3,503,104 dd-wrt.v23_wrt54gsv4.bin
2006/09/15 20:11 3,503,104 dd-wrt.v23_wrtsl54gs.bin
2007/03/18 06:50 3,142 ddadder.c
2007/03/18 07:01 55,393 ddadder.exe
2010/02/21 19:16 24,244 ddadder02.zip
2006/08/02 04:24 3,108 hwsupport.txt
2006/09/13 17:02 592 notes.txt
14 個のファイル 45,672,119 バイト
2 個のディレクトリ ***,***,***,*** バイトの空き領域

となって、無事生成完了。


作業開始(ファーム書き換え実行):
さて、WLA-G54にログインしてファームウェアの書き換えを実行してみると、無事書き換え完了。するとWLA-G54のIPアドレスは192.168.1.1/24になるので、PCも同一ネットワーク内に配置し、LANケーブルで接続。これで無事にdd-wrtの管理画面に入れた。

無線LANがWPA2でつながるところまで確認。




参考URL:


dd-wrt.com Flash Your Buffalo WBR-G54, WLA-G54 ... 本家
What is DD-WRT? 本家。dd-wrtにはVPN板など、複数の種類がある。その説明。

bogus weblog [ tool ] DD-WRT 写真入り。バイナリ編集の画面あり。Telnet開通の報告。

つぼみ亭 BUFFALO WLA-G54CのファームウェアをDD-WRTに入れ替え(準備) WLA-G54Cの話。本体の分解方法へのリンクあり。

かねごんのブログ WLA-G54CのDD-WRT化 WLA-G54Cの二つのハードウェアバージョンの違いを写真入り記述。WLA-G54Cとv24 SP1は動作不可。WLA-G54Cとv23 SP2 finalなら動作可とのこと。

日々の記録 WLA-G54をイーサネットコンバータみたいに使う コンパクト。WDS設定へのリンクあり。

かろうじてアカデミック(Advanced W-ZERO3[es]、ファースト・インプレッション、専用電源端子汎用化、WLA-G54、DD-WRT) PDAと無線LAN APとの相性問題解消というモチベーションでのdd-wrt導入記事。

Koike's Weblog Buffalo 無線LANアクセスポイント WLA-G54へのDD-WRT導入 手順詳細。dd-wrt.v23_generic.bin導入記事。

Hiroaki's blog WLA-G54にDD-WRTを入れてみる dd-wrt.v24_mini_generic.bin導入記事。 v24もいけるのか。うーん。

なんだかなぁII [DD-WRT] Buffalo WBR-G54 dd-wrt.v23_vpn_generic.bin導入記事。ddadderの話題も。

牛庵ブログ WLA-G54 dd-wrtから純正ファームウェアに戻す手順も掲載。


代替無線ファームウェアDD-WRT

【無線LAN】DD-WRT【強化ファーム】

【無線LAN】DD-WRT【強化ファーム】2

【無線LAN】DD-WRT【強化ファーム】3


【無線LAN】DD-WRT【強化ファーム】4

先駆者に感謝。




WLA-G54とdd-wrt.v24*.binの関係が気になったのでググってみた。
http://www.google.co.jp/search?hl=ja&safe=off&q=wla-g54+dd-wrt.v24*+&btnG=%E6%A4%9C%E7%B4%A2&lr=&aq=f&oq=
[WLA-G54のdd-wrt v23 化 (無線でWPA2接続まで確認)]の続きを読む
今度はYaTeXを入れてみる。

環境は、
NEC Express5800 110Ge(CPU Core2Quad Q9550、Memory:8GB)上で、
VMware Player 3 仮想マシンのMemory:4GB
ホストOS:WIndows Xp Professional x64
ゲストOS:CentOS 5.4(64bit)


公式サイト(ここからDownloadできる)
http://www.yatex.org/

野鳥わぁるど(丁寧な解説)
http://www.nk.rim.or.jp/~naru/yatex/

現在は 2009/9/28 版が最新らしい
http://www.yatex.org/yatex1.74.tar.gz

まずDL。普通にやったらなぜか途中で止まった。何らかの帯域制限かも知れないと思ってみて、次のようにやったらうまくいった。

# wget --limit-rate=10k http://www.yatex.org/yatex1.74.tar.gz

100k/secだとなんか途中でとまってしまう…

さて、DLしたファイルを解凍してmakeしてみる:

# tar xvf yatex1.74.tar.gz
# cd yatex1.74
# make
Edit this makefile first.
Type "make install" to install YaTeX.
Type "make install-yahtml" to install yahtml.
If you cling to elc files. type "make elc" before make install

makefileを適切に書き換える必要があるが、

-r--r--r-- 1 root root 6028 2月 17 22:20 makefile

となっており書き込めない。よってchmodしてから編集。

# chmod a+w makefile
# ls -l makefile
-rw-rw-rw- 1 2020 wheel 6028 2月 17 22:25 makefile
# vi makefile

PREFIX = /usr
## mule2
#EMACS = mule
#EMACSDIR= ${PREFIX}/lib/${EMACS}
## emacs20
EMACS = emacs
EMACSDIR= ${PREFIX}/share/${EMACS}


# make elc
# make install
# make install-yahtml

ついでにRPM化もしてみる。

# checkinstall --exclude=/selinux
# rpm -ivh --nomd5 /usr/src/redhat/RPMS/x86_64/yatex1.74-20100217-1.x86_64.rpm

あとは.emacsの編集。これはhttp://www.nk.rim.or.jp/~naru/yatex/startup.html#settingsが参考になりました。

これで使い慣れたTeX環境が手に入った。


checkinstallについては前の記事「VMwarePlayer3を入れてみた (CentOS5.4 RPMの作成に挑戦)」を利用した。
ゲストOSでhttpdを起動したものの、ホストOSからそのWebページへアクセスできなかった。

環境は、
NEC Express5800 110Ge(CPU Core2Quad Q9550、Memory:8GB)上で、
VMware Player 3 仮想マシンのMemory:4GB
ホストOS:WIndows Xp Professional x64
ゲストOS:CentOS 5.4(64bit)
な感じ。


ファイアーウォールがらみかと思ってiptablesを確認してみた。

iptalbes -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
RH-Firewall-1-INPUT all -- anywhere anywhere

Chain FORWARD (policy ACCEPT)
target prot opt source destination
RH-Firewall-1-INPUT all -- anywhere anywhere

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Chain RH-Firewall-1-INPUT (2 references)

とか出てきたので、ぐぐるさんに聞いてみた
するとほどなく「ゲストOS(CentOS5.2)のApacheにホストOSからアクセスできない時の対処方法」の記事が見付かった。感謝。

記事にならって
●前提条件の確認
ホストOSからゲストOSへのPING到達確認およびApacheがインストールされていることの確認を済ませる。

$ /usr/sbin/httpd -v
Server version: Apache/2.2.3
Server built: Nov 12 2009 18:43:41



●対応
/etc/sysconfig/iptablesに下記の設定を追記。(最後尾だとうまくいかなかったので上の方にいれた)

$ sudo vi /etc/sysconfig/iptables
-A INPUT -p tcp --dport 80 -j ACCEPT

サービスの更新

$sudo /etc/init.d/iptables restart





pari/gpでコマンドの実行時間を表示したいときの設定は/etc/gprcに

\\ Set timer on
timer = 1

という記述をすればOK。
これをやっておけば

(22:18) gp > primepi(10^10)
*** primepi: not enough precomputed primes, need primelimit ~ 10000000000.
(22:18) gp > default(primelimit,10000000000)
time = 19,634 ms.
%9 = 10000000000
(22:19) gp > primepi(10^10)
time = 678 ms.
%10 = 455052511

のようになる。


[pari/gp のカスタマイズ(時間表示)]の続きを読む
Pari/gpの起動オプションについて簡単なまとめ

環境は
NEC Express5800 110Ge(CPU Core2Quad Q9550、Memory:8GB)上で、
VMware Player 3 仮想マシンのMemory:4GB
ホストOS:WIndows Xp Professional x64
ゲストOS:CentOS 5.4(64bit)
な環境。pari/gp 2.3.5使用。

オプション一覧は次のようにして確認。

$ gp --help
### Usage: gp [options] [GP files]
Options are:
[-f,--fast] Faststart: do not read .gprc
[-q,--quiet] Quiet mode: do not print banner and history numbers
[-p,--primelimit primelimit]
Precalculate primes up to the limit

[-s,--stacksize stacksize]
Start with the PARI stack of given size (in bytes)

[--emacs] Run as if in Emacs shell
[--help] Print this message
[--test] Test mode. No history, wrap long lines (bench only)
[--texmacs] Run as if using TeXmacs frontend
[--version] Output version info and exit
[--version-short] Output version number and exit

今回は -p と -s についてみてみた。

[-p,--primelimit primelimit]
Precalculate primes up to the limit
について

gpは起動時に素数を計算する。(gp2.3.5(64bit)はデフォルトで50万以下の素数)起動時に素数の個数を変更するには-pオプションを利用。
(起動後に変更するにはdefault(primelimit,****)を利用。詳細は橋本先生のページを参照)

書式(primelimitを10000000に設定して起動する例)

$ gp -p 10000000
あるいは
$ gp --primelimit 10000000



以下は実行例。


デフォルト起動:

$ gp --version-short
2.3.5
$ gp
(中略)
parisize = 100000000, primelimit = 500000
? prime(41581)
%1 = 500509
? prime(41582)
*** prime: not enough precomputed primes

とある。すなわち500000程度以下の素数のリストを、gp起動時にあらかじめ計算しているということ。



primelimitに1000万を設定:

$ gp -p 10000000
(中略)
parisize = 8000000, primelimit = 10000000
? prime(664605)
%1 = 10000511
? prime(664606)
*** prime: not enough precomputed primes

これなら10000000程度以下の素数を扱える。





primelimitに100億を設定メモリを500MB程度消費。実行注意):

$ gp -p 10000000000
(中略)
? prime(455052530)
%1 = 10000000501
? prime(455052531)
*** prime: not enough precomputed primes

32bitを越えて100億まで設定できてしまった。primelimitの設定可能な最大値は、64bit版だと事実上無制限なのか?
(32bit版のpari/gp 2.3.4ではprimelimit=4294965249=2^32-2^11+1まで。prime(203280156) = 4294965757が限界)

このときメモリは4~500MB 食っている

$ ps aux|grep gp
**** 13958 44.3 11.0 530480 447652 pts/1 S+ 14:54 0:48 gp -p 10000000000





primelimitに1000億を設定メモリを4GB程度消費。実行注意!!!):

$ gp -p 100000000000
(中略)
parisize = 8000000, primelimit = 100000000000
?

この環境でprime(4000000000)を実行してみたが、スワップばかりで返答が帰ってこないので実行中止。

$ ps aux|grep gp
**** 14705 40.0 81.3 4107656 3291916 pts/1 S+ 15:14 7:56 gp -p 100000000000

起動に8分近く掛かっている上、メモリも4GB近く食い潰している。起動で精一杯、精魂つき果てすぎ。ちーん。






[-s,--stacksize stacksize]
Start with the PARI stack of given size (in bytes)
について

これはスタックサイズの設定オプション。大きな配列を確保するときなどはこれを変更。
起動後に変更するには allocatemem() で。

$ gp
(中略)
parisize = 8000000, primelimit = 500000

デフォルトのスタックサイズは8000000だとのこと。
とりあえずいま不便は感じないので、これについてはまたいつか。
[pari/gp の起動オプション]の続きを読む
FOXCはフィックスターズ社が開発しているOPenCLコンパイラ。FOXCによってコンパイルされたプログラムは、ホストと同じx86プロセッサ上で動作し、別途アクセラレータは不要(Posixスレッドに対応)とのこと。

こちらの環境は
NEC Express5800 110Ge(CPU Core2Quad Q9550、Memory:8GB)上で、
VMware Player 3 仮想マシンのMemory:4GB
ホストOS:WIndows Xp Professional x64
ゲストOS:CentOS 5.4(64bit)


http://www.fixstars.com/foxc/によると、FOXCの動作確認OSはCentOS 5.3 (64bit) らしいが、CentOS 5.4(64bit)で挑戦してみる。結論的には、CentOS 5.4でもHelloWorldまで動作確認できた。(他はまだ試してない)

OpenCL入門 - マルチコアCPU・GPUのための並列プログラミング -OpenCL入門 - マルチコアCPU・GPUのための並列プログラミング -
(2010/01/22)
株式会社フィックスターズ土山 了士

詳細
を参考にやってみました。

ダウンロード
http://www.fixstars.com/foxc/download.html
から。


インストール
以下、/usr/localにインストールする場合の話。

必要ファイルを展開

# tar -zxf foxc_beta_linux64.tar.gz -C /usr/local/



.bashrcに環境変数設定を追記。

export PATH=/usr/local/foxc/bin:${PATH}
export LD_LIBRARY_PATH=/usr/local/foxc/lib:${LD_LIBRARY_PATH}


インストールは以上。


動作確認。
まず

/usr/local/foxc/share/foxc/sample/hello/hello.cl
/usr/local/foxc/share/foxc/sample/hello/hello.cpp

を適当なディレクトリにコピー。たとえば

$ cp /usr/local/foxc/share/foxc/sample/hello/hello.cl /home/hoge
$ cp /usr/local/foxc/share/foxc/sample/hello/hello.cpp /home/hoge



コンパイル。

$ cd /home/hoge
$ gcc -o hello -I/usr/local/foxc/include -L/usr/local/foxc/lib -lOpenCL hello.cpp



実行。

$ ./hello
Hello, World!

 



ちなみに LD_LIBRARY_PATH の設定をせずに ./hello を実行すると

$ ./hello
./hello: error while loading shared libraries: libOpenCL.so: cannot open shared object file: No such file or directory

となる。(それはそうだ)


gmp 4.2.2 を intel compiler 10 で再コンパイルの記事を参考にやってみた。(この時は一般ユーザでやった関係で、prefixなどの設定をしていたが、今回は不要。)

環境は
NEC Express5800 110Ge(CPU Core2Quad Q9550、Memory:8GB)上で、
VMware Player 3 仮想マシンのMemory:4GB
ホストOS:WIndows Xp Professional x64
ゲストOS:CentOS 5.4(64bit)

# uname -a
Linux localhost.localdomain 2.6.18-164.11.1.el5.centos.plus #1 SMP Wed Jan 20 18:49:35 EST 2010 x86_64 x86_64 x86_64 GNU/Linux
# cat /proc/cpuinfo|grep name
model name : Intel(R) Core(TM)2 Quad CPU Q9550 @ 2.83GHz
model name : Intel(R) Core(TM)2 Quad CPU Q9550 @ 2.83GHz
model name : Intel(R) Core(TM)2 Quad CPU Q9550 @ 2.83GHz
model name : Intel(R) Core(TM)2 Quad CPU Q9550 @ 2.83GHz



やった手順は次のとおり。

# ./configure CC="icc -no-gcc" CFLAGS="-O3"
# make
# make check
# checkinstall

これで /usr/src/redhat/RPMS/x86_64/gmp-5.0.1-1.x86_64.rpm が出力された。
NEC Express5800 110Ge(CPU Core2Quad Q9550、Memory:8GB)上で、
VMware Player 3 仮想マシンのMemory:4GB
ホストOS:WIndows Xp Professional x64
ゲストOS:CentOS 5.4(64bit)
な環境の話の続き。

今度はIntelCompiler11.1をいれてみた。

しばらく前にダウンロードした「l_cproc_p_11.1.056.tgz」を用いた。
SELinuxが Enforcing だとインストーラに怒られるので、一旦切る。

# getenforce
Enforcing
# setenforce 0
# getenforce
Permissive



手順:

# tar xvf l_cproc_p_11.1.056.tgz
# cd l_cproc_p_11.1.056
# ./install.sh

ここから先はインストーラの質問に答えていけばOK。途中でライセンスコードを聞かれるので手元に準備しておくと吉。intelフォートラン コンパイラ のインストールはIntel fortran Compiler9のインストールだが参考になりました。感謝。

さて、インストーラから抜けたあと、環境変数の設定が必要。

$ source /opt/intel/Compiler/11.1/056/bin/iccvars.sh ia32
$ source /opt/intel/Compiler/11.1/056/bin/iccvars.sh ia64
$ source /opt/intel/Compiler/11.1/056/bin/iccvars.sh intel64

のうち好きなものを選べばok。(cshなら/opt/intel/Compiler/11.1/056/bin/iccvars.cshを使えばよい)

自分は ~/.bashrc に source /opt/intel/Compiler/11.1/056/bin/iccvars.sh intel64 の記述をいれた。




上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。