Maple Professional
Maple Academic
Maple Student Edition
Maple Personal Edition
Maple Player
Maple Player for iPad
MapleSim Professional
MapleSim Academic
Maple T.A. - Testing & Assessment
Maple T.A. MAA Placement Test Suite
Möbius - Online Courseware
Machine Design / Industrial Automation
Aerospace
Vehicle Engineering
Robotics
Power Industries
System Simulation and Analysis
Model development for HIL
Plant Modeling for Control Design
Robotics/Motion Control/Mechatronics
Other Application Areas
Mathematics Education
Engineering Education
High Schools & Two-Year Colleges
Testing & Assessment
Students
Financial Modeling
Operations Research
High Performance Computing
Physics
Live Webinars
Recorded Webinars
Upcoming Events
MaplePrimes
Maplesoft Blog
Maplesoft Membership
Maple Ambassador Program
MapleCloud
Technical Whitepapers
E-Mail Newsletters
Maple Books
Math Matters
Application Center
MapleSim Model Gallery
User Case Studies
Exploring Engineering Fundamentals
Teaching Concepts with Maple
Maplesoft Welcome Center
Teacher Resource Center
Student Help Center
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