POVRay SMPOV - eiichiromomma/CVMLAB GitHub Wiki

(POVRay) SMPOV

全くのPOV-Ray素人がSMPOVによる並列演算を試みた時のメモ

SMPOVの仕組

SMPOV-MainはDrag&Dropされた.povファイルを希望した分割数、サイズの画像を生成できるよう、COMフォルダのJOBフォルダに分割領域ごとのバッチファイルを作成する。

RenderAgentは指定されたCOMフォルダのJOBフォルダ内を監視し、順次レンダリングを行なう。レンダラの起動はCPU数(HTも?)以内でRenderAgentで指定可能。

全てのJOBが完了すると、SMPOV-Mainが分割された画像を再構成して完了する。

povengine.exeを直打ちしているので64bitにた非対応?

準備(サーバ側)

POV-Rayのインストール

c:\POV-Ray3.6へインストール。

SMPOVのインストール

恐らく変な問題が発生しているのだと思うが、生成されるバッチファイルがbin\povengine.exeを使うようになっていたのでc:\POV-Ray3.6に入れる。SMPOVフォルダも作らせない。

COMフォルダの共有

サーバ(というかJOB生成)側のCOMフォルダを共有にする。当然他から覗けるようアクセス権を設定しておく。 フォルダオプションの表示タブで簡易共有の使用のチェックを外す必要があるかも。

※ここではc:\POV-Ray3.6をまるごと共有している。

POV-Rayの設定

Optionsで"Keep single instance"のチェックを外す。

Options-Script I/O restrictionsで"No Restrictions"とする。

POV-Rayのダイヤログ

上記のKeep single..の他、色々と表示されるので、次は表示しないようチェックを入れる。(各ダイヤログについて一回やれば大丈夫)

RenderAgentとSMPOV-Mainの起動

設定ファイルが生成されるので一度は起動しておく。 COMフォルダの場所についてはc:\POV-Ray3.6\COMが自動的に選ばれるのでそのままOK。

準備(クライアント側)

構成

サーバ側と同じ構成でインストールをする。COMフォルダは共有しなくて良いが、POV-Rayの設定、RenderAgent, SMPOV-Mainの起動は行なう。COMの指定もOKを押しておけば良い。

共有フォルダの確認

サーバ側の共有フォルダへ読み書きが可能かを確認しておく。

設定ファイル

適当に弄っていたら動いたので過不足あり。 SMPOV-Main, RenderAgentは終了させておく。

private.ini

\\サーバ名\POV-Ray3.6\COM
C:\POV-Ray3.6\Common.ini
4096

サーバ名はWindowsでのマシン名を指す。

R-private.ini

[static]
Name=※マシン固有の名前+数値
Shared_Folder=\\サーバ名\POV-Ray3.6\COM
POV-Path=C:\POV-Ray3.6

確認

RenderAgentを起動してDisplayタブに

======================================
My Name is:
======================================
shared COM-Folder: \\サーバ名\POV-Ray3.6\COM\
======================================
The POVRAY Exe-File is: C:\POV-Ray3.6\bin\pvengine.exe
======================================
The POV-Ray Folder: C:\POV-Ray3.6\
======================================

みたいな感じで表示されれば成功。

計算の設定

SMP Options

分割数の指定。User definedにして8x8としている。 軽い計算の場合は分割し過ぎると却って起動終了のプロセス分遅くなる。

Render-Resolution

作成する画像のサイズ。大きい程計算量が増える。

Adv. Options

Display ONとしておくと分割して計算されている過程が分かる。