![]() |
Excel が拓く PC クラスタの新世界 〜 3 つの手法を連載でご紹介! 〜シミュレーションだけでなくデータ解析などの業務において Excel を活用されている方は多くいらっしゃると思います。Windows Compute Cluster Server 2003 (略称: CCS) の最大の利点である「セキュリティ」と「デスクトップ アプリの親和性」をもっとも活かせるソリューションが「Excel 数値計算の高速化」です! 主に 3 つの Excel-CCS 連携手法がございます。
これらの 3 つの手法を毎月ご紹介して参ります。 Excel インターフェース前提条件: 既にサーバー側で実行可能なプログラム (.EXE) が準備されている。 その実行可能なプログラムは CCS 付属のジョブスケジューラを通じてサブミット可能である。 インターフェースとなる Excel ファイルは CCS が参加しているドメインに参加している。 インターフェースとなる Excel ファイルは、VBA.NET に対応している (Excel 2003 以上)。 構築チュートリアル: ここでは「Linpack (英語) 1.サーバー側で実行するコマンドラインをインターフェースとして使用する Excel シート中に記述します。 サーバー上でのコマンド実行例:
Excel インターフェース上での記述例:
このサンプルでは、コマンドラインの各引数をセル参照にて連結させています。
[Excel Tips]: 各セルに行列の順番によるインデックス ("C3” など) だけでなく、独自の固有な名称を割当てることが可能です。 下記のように従来のコマンドラインでは指定が煩雑であったオプションなどを上記のように分り易く且つ使いやすくまとめることが出来ます。Linpack のようにパラメータを何度も変えながら結果を求めるような場合には特に適しています。
2.Compute Cluster Pack (CCP) API との連携 Excel Visual Basic Application (VBA) を用いて、HPC クラスタの管理ノード上の各種機能を呼び出す API を利用できます。 下記はサンプル中の VBA ソースコードからの抜粋です。 ジョブ実行のサブルーチンの流れとしては下記となります。 Linpack パラメータファイル (hpl.dat) を作成。 ジョブ実行時の設定やオプションを XML 形式 (job.xml) として保存。 CCS ヘッドノード上の .NET API (CCP API) を呼び出しジョブ投入します。 これらの処理は通常の VBA と同じ方法で開発することが可能です。CCP API の詳細についてはこちらをご参照ください。 関連情報 |