Symbolic Systems シンボリックシステムズ

SupercomputingEngin for Mathematica(SEM) 概要

Mathematicaで並列計算を行うには2つの方法が用意されています.一つはMathematica組み込み関数を使用する方法です.

もう一つはMPI(Message Passing Interface)をベースとしたメッセージ交換による並列計算です(下図右参照).SEM(Supercomputing Engine for Mathematica)はMathematicaにおいて唯一メッセージ通信を実現したソフトウェアです.

両者を比較すれば容易にわかるように,Mathematicaが提供する組み込み並列計算の構造はマスター/スレーブ形式に限定され,プログラムの記述は非常に簡単になる一方,マスターに対する計算負荷がカーネル数が増大するについて増すことが容易にみてとれます.

一方,SEMが提供する並列計算構造は,任意のコミュニケーショントポロージを構成することができ,特に,カーネル間での通信頻度が増す場合,Mathematicaの組み込み並列構造と比較して,パフォーマンスにおいて非常に有利であることが示されます([ SEM技術資料 ]内 SEM/Mathematica通信性能比較 参照)

一般的な並列計算のサンプルを見ると,Mathematicaが提供する組み込み並列関数群で十分のようにみえ,また,実際にプログラミングする際も,Parallel関数群だけを使う方が簡単です.しかし,現実の問題において並列アルゴリズムを考える場合,様々な計算構造(コミュニケーショントポロジー)を容易に実現できるかが,重要なポイントとなってきます.その意味で言うと,Mathematicaの組み込み関数が提供する並列計算構造は不十分であり,SEMは下記の図に示すように多彩な並列計算構造を実現できます.

SEM実行イメージ

SEMがMathematicaに組み込まれた状態での実行イメージは次のようなものです.何も難しいことはなく,通常のMathematicaの関数を実行するようにSEMの関数(多くはmpiで始まる関数)を同様に使うだけです.この例では,Sin[x]をx=1から4まで積分していますが,使用しているSEMの関数はmpiRecv, mpiSendのみです.またSEM専用の変数として$NProc, $IdProcが使われています.
 

SEM 関数群

SEMが提供するMPI関数並びにParallel関数(SEMのMPI関数によって実現)の主なものは次の通りです.詳細はリファレンスマニュアルを参照してください.

mpi関数群

mpiSend, mpiRecv, mpiSendRecv, mpiISend, mpiIRecv, mpiTest, mpiWait, mpiWaitall, mpiWaitany,
mpiBcast, mpiGather, mpiAllgather, mpiScatter, mpiAlltoall, mpiReduce, mpiAllreduce, mpiReduceScatter,
mpiCommSize, mpiCommRank, mpiCommDup, mpiCommSplit, mpiCommMap, mpiCommFree,
mpiWtime, mpiWtick,
MaxByElement, MinByElement,
SetMonitor, GetMonitor

Parallel関数群

ParallelDo, ParallelFunctionToList, ParallelTable, ParallelFunction, ParallelNIntegrate,
EddgeCell,
ParallelTranspose, ParallelProduct, ParallelDimensions, ParallelTr, ParallelIdentity, ParallelOuter, ParallelInverse,
ElementManage,
ParallelFourier,
ParallelPut, ParallelGet, ParallelBinaryPut, ParallelBinaryGet, ParallelPutPerProcessor, ParallleGetPerProcessor

ライセンス情報

SEMはAdvanced Cluster SystemsならびにDauger Researchの登録商品です.

SEMの使用条件はNetwork Mathematica(Networkライセンス)ver.6およびver.7です.  

SEMのライセンス販売単位は16コア単位となっています.

Mathematica6.0以降をベースに,対象OSはMac OS 10.4.11以降,およびLinux64-bit(具体的なプラットフォームについてはご確認ください)となります.

販売代理店/サポート

日本を含むアジア地区全部においてシンボリック・システムズ社が一切の販売,サポートを行っております.

contact@symbolics.jp



[ IMS2010 ]"Yet Another Parallel Compuations with Mathematica"
[ SEM技術資料 ]
[ SEMによるMPI入門 ] (pdf, nb)
[ SEMユーザガイド ] (pdf, in English)
[ SEMリファンレスマニュアル ] (HTML, nb)
[ SEMプログラミング例 ]
  • 並列積分 (nb) (pdf)
  • 並列内積 (nb) (pdf)
  • リング通信 (nb) (pdf)
  • ピンポンデータ交換 (nb) (pdf)
  • スワップデータ交換 (nb) (pdf)
  • 迷路問題 (nb) (pdf)
  • ライフゲーム (nb) (pdf)
  • プラズマシミュレーション (nb) (pdf)
  • [ 使用ガイド ]
    [ Q&A ]
    [ 問い合わせ ]
    [ 購入 ]
    SET(Supercomputing Engine Technology)
    [ パートナー募集 ]



    (c)2010.5 Symbolic Systems, Inc.