Tkpvm version 1.2 | |
references since Mar 8 1996 |
このファイルの最新版は、
http://www.cogsci.kun.nl/tkpvm/welcome.html
にあります。
(オリジナルは英文)
tkpvmとは
tkpvmはある縁組の結果です。婿は pvm3.3.x (好ましいのは3.3.11) 嫁は
Tcl7.5/Tk4.1, Tcl7.6/Tk4.2 あるいは Tcl8.0a2/Tk8.0a2 です。おそらく
pvm3.4.0 でも変更無しで動くでしょうが、それは未だリリースされていなかっ
たので試すことができませんでした。多分に洩れず結婚で、配遇から双方に利
益をもたらします:
- PVMユーザ
- Tcl言語は逐次翻訳型(インタープリタ)記述言語です。Tkpvmでpvm処
理をCやFortranに対抗してTcl言語で書くことができます。一度pvmsh
やpvmwishを創るともうコンパイルの必要はありません。シェルプロ
グラムのpvmshはpvmコンソールの拡張版のように見受けられます。
Tkpvmはpvmコンソールと同じような方法で仮想計算機を制御できます
が、それは履歴置換('!!')や変数を持つ完全なシェルです。
pvmwishインタープリタはpvmshと同じファンクションを持ちますが、
それに加えて自前のグラフィカル・ユーザインターフェースを構築す
る沢山のコマンドを持ちます。ボタン、エントリウィジェット、メニュー
などがあります。今や、それぞれのプロセスがそれ自身のX11-ウィン
ドウを通して入力と出力ができます。
- Tcl/Tkユーザ
- PVMは任意の数のホストからなる仮想並列計算機を制御するライブラ
リです。プロセスを発生させたり(spawn)殺したり(kill)でき、お互
いにpvm-チャンネルを通して通信できます。それは、ソケットでのみ
動くTkの 'send' コマンドと比較されることができます。Tk(X11)無
しで走り、それゆえ、プロセスは異なるディスプレイを使い異なるホ
ストで走ることができます。それに加えて、pmvshはTclによるイベン
トループの制御を取り、pvmwishもTkと同様に行ないます。
そのライブラリはtclやtkに動的にロードされることもでき、準備す
ることは自前のイベントループだけで、あとは(小さなパッチを
Tcl/Tkに当てるとだけでもうこれは必要なくなるのがTkpvm配布の
patchサブディレクトリの下に準備されてます。
- 今Tclで使えるpvmに関係するコマンドは:
-
- send, recv
- 他のプロセスへあるいはから送信と受信ができます。
- spawn, kill
- 他のプロセスを生成したり殺したりします。
- tasks
- 走っているタスクの情報を要求します。
- bind
- pvmに関するイベントをTcl/Tkのイベントループに結わえます。これは
イベント駆動のアプリケーションをプログラムするのをもっと簡単にするとても
強力なコマンドです。同様な事をCあるいはFortranでやろうとするともっとかなり
難しいことです。PVMはこれと同等な関数は持ちません。Tkはありますが、元の
機能はXのイベントに対してのみ使われます。今ではPVMのイベントでも同様に
行なう事ができます。
それからもっと沢山.....
tkpvmのインストールの仕方
Tkpvm (version 1.2) は以下のサイトよりダウンロードできます:
コンフィグとコンパイルをする前に、tkpvm1.2,
まずTcl(Tcl7.6p2が好ましい)とpvm3.3.x (3.3.11以降が好ましい)をインストールします。もし、図化処理機能が欲しければTk(バージョン4.2p2が好ましい)も必要です。
二者択一ですが、Tkpvm 1.2はTcl8.0/Tk8.0でも良く(かつもっと速く)動きます。
可能であれば、バージョン8.0a2以上を使いましょう。Tcl8.0a2のために必要な
パッチは配布に含まれています。
もし、単独のアプリケーションをつくる事ができるようにしたければ(Tcl/Tkの
インストレーションの必要はありません)、TclとTkに"plus"パッチを適用する
必要があります。:
パッチファイルをTclあるいはTkのメインディレクトリにコピーし、GNU 'patch' ユーティリティを走らせます。
Gunzip(.gzファイルの圧縮を解き)とパッチは以下の場所からダウンロードできます:
しかし、もしそれができなければ、これらが適用されたTcl7.6/Tk4.2の全配布版も
あります。すべての適応によりできたものはSunの公式配布と完全に上方互換です:
pvm3.3.xのために、PVM_ROOTとPVM_ARCH環境変数がいつでもセットされている
必要があることを忘れないで下さい。最も良いのは、'.cshrc' でも定義して
おくことです。また、pvmのために使われる幾つかのパスを(実行モジュールの
ための) 'path' 変数と 'LD_LIBRARY_PATH' 環境変数(HP_UXではLPATH あるい
は SHLIB_PATH)に加えると便利です。一例として "cshrc.stub" ファイルが
用意されています。このファイルを.cshrc ファイルに追加することもできます。
pvmsh と pvmwish のためのデフォルトのホストファイルである".Pvm_hosts"
ファイルをつくります。もし、このファイルをつくらなければ、現行の計算機
のみが最初のネットワークに提供されます。"addhost" コマンドで、いつでも
新しい計算機を仮想計算機として加えることができます。
"configure" を走らせて "make" します。"--enable-shared" オプションで
Tcl, Tk および Tkpvm をコンフィグする事をお勧めします。この結果として
共有ライブラリがつくられ、より少ないメモリを費やさない結果としてより小
さい実行形式となります:
- --enable-shared
- 共有ライブラリをつくることを可能にします
それに加えて、makeには以下のがあります:
- static
- 静的な実行形式をつくります
- standalone
- 単独の実行形式をつくります
- pvmsh
- pvmshをつくります
- pvmwish
- pvmwishをつくります
- test
- Makeしてテストを実行します
- hello.c
- tclスクリプトのCコード例をつくります
- hello
- tclスクリプトの単独の実行形式の例をつくります
Tcl/Tk と PVMについてのさらなる情報
ウェブ上に、Tcl/Tkホームページ
があり、また、PVMホームペー
ジがあります。
そして、もっと助けが欲しければ、ニュースグループcomp.lang.tclとcomp.parallel.pvmがあります。
tkpvm索引にも、さらに情報があります。
written by
J.Nijtmans for the project
translated by J. Kuwamura for Japanese