Maple für Professional
Maple für Akademiker
Maple für Studenten
Maple Personal Edition
Maple Player
Maple Player für iPad
MapleSim für Professional
MapleSim für Akademiker
Maple T.A. - Testen & beurteilen
Maple T.A. MAA Placement Test Suite
Möbius - Online-Courseware
Machine Design / Industrial Automation
Luft- und Raumfahrt
Fahrzeugtechnik
Robotics
Energiebranche
System Simulation and Analysis
Model development for HIL
Anlagenmodelle für den Regelungsentwurf
Robotics/Motion Control/Mechatronics
Other Application Areas
Mathematikausbildung
Technik
Allgemein- und berufsbildende Schulen
Testen und beurteilen
Studierende
Finanzmodelle
Betriebsforschung
Hochleistungsrechnen
Physik
Live-Webinare
Aufgezeichnete Webinare
Geplante Veranstaltungen
MaplePrimes
Maplesoft-Blog
Maplesoft-Mitgliedschaft
Maple Ambassador Program
MapleCloud
Technische Whitepapers
E-Mail Newsletters
Maple-Bücher
Math Matters
Anwendungs-Center
MapleSim Modell-Galerie
Anwenderberichte
Exploring Engineering Fundamentals
Lehrkonzepte mit Maple
Maplesoft Welcome-Center
Resource-Center für Lehrer
Help-Center für Studierende
Maple 15 における並列処理機能
はじめに
Maple 15 では、マルチコアから大規模な計算クラスタまで幅広い並列計算機能を利用するための多数のオプションを提供しています。
多項式の演算
プログラムの改善により、高次かつ密な多項式の乗算、除算、累乗で処理速度が 4 倍以上になっています。メモリ使用は Maple 14 よりも 3/4 以上少なくなっています。
以下、効率のよい乗算、累乗、除算、法演算の例を示します。
f,g := seq(randpoly(x,degree=10^4,dense),i=1..2):
p := CodeTools[Usage](expand(f*g)):
memory used=1.70MiB, alloc change=1.87MiB, cpu time=69.00ms, real time=71.00ms
p := CodeTools[Usage](expand((5*x-3*y)^10000)):
memory used=34.72MiB, alloc change=34.62MiB, cpu time=251.00ms, real time=251.00ms
n := prevprime(2^512):
f := Expand((1+x+y+z+t)^30) mod n:
CodeTools[Usage](Divide(f,1+x+y+z+t,'q') mod n);
memory used=4.79MiB, alloc change=4.75MiB, cpu time=169.00ms, real time=168.00ms
divide は、二番目のコールで見られるように、多項式が割り切れない場合すぐに判定します。
f,g := seq(randpoly([x,y,z],degree=30,terms=3000),i=1..2):
p := expand(f*g):
CodeTools[Usage](divide(p,f,'q')); # computes quotient
memory used=227.52KiB, alloc change=0 bytes, cpu time=898.00ms, real time=899.00ms
CodeTools[Usage](divide(p+1,f,'q')); # fails instantly
memory used=0.61MiB, alloc change=0 bytes, cpu time=83.00ms, real time=83.00ms
並列計算用グリッドパッケージ
Grid パッケージは、Maple でマルチプロセスによる並列処理機能を提供します。同一プロセス内の並行なスレッドにより並列処理を行う Threads パッケージとは異なり、Grid パッケージでは別々のカーネル上に計算を展開することができます。
Grid パッケージは Maple グリッド計算ツールボックスで提供される機能の一部で、ローカルコンピュータ上でマルチプロセスによる並列処理を可能にします。グリッド計算ツールボックスは、クラスタまたはネットワーク上の複数のコンピュータにわたり計算を実行したいときに使えます。どちらの場合も同じ API なので変更は不要です。
詳細は Grid をご覧ください。
スレッド
Threads パッケージに新しい関数 Sleep が加わりました。Sleep は、呼び出し元のスレッドが指定した時間だけ実行を一時停止します。停止中、スレッドは CPU 時間をほとんど使いません。
Threads[Task]
Threads[Task][Start] 関数に小さな追加があります。Threads[Task][Continue] のように、引数で子タスクを指定することができるようになりました。この引数シーケンスを使うと、継続タスクと子タスクが生成され、継続タスクが戻るのを待ちます。この構文は、ルートタスクが Continue へのコールのみの場合の代わりとなります。
Macintosh でのCUDA による高速のサポート
Maple は、CUDA 対応グラフィックスカードを活用し、要所となる計算を加速することができます。
Maple では、Windows と Linux に加え、Macintosh OS X 10.6 でも CUDA による加速への対応を追加しました。詳細は CUDA/対応ハードウェア をご覧ください。
参照
Maple 15 の新機能の一覧
Download Help Document