Maple Professionel
Maple Académique
Maple Edition Étudiant
Maple Personal Edition
Maple Player
Maple Player for iPad
MapleSim Professionel
MapleSim Académique
Maple T.A. - Suite d'examens de classement
Maple T.A. MAA Placement Test Suite
Möbius - Didacticiels de mathématiques en ligne
Machine Design / Industrial Automation
Aéronautique
Ingénierie des véhicules
Robotics
Energie
System Simulation and Analysis
Model development for HIL
Modélisation du procédé pour la conception de systèmes de contrôle
Robotics/Motion Control/Mechatronics
Other Application Areas
Enseignement des mathématiques
Enseignement de l’ingénierie
Enseignement secondaire et supérieur (CPGE, BTS)
Tests et évaluations
Etudiants
Modélisation financière
Recherche opérationnelle
Calcul haute performance
Physique
Webinaires en direct
Webinaires enregistrés
Agenda des évènements
Forum MaplePrimes
Blog Maplesoft
Membres Maplesoft
Maple Ambassador Program
MapleCloud
Livres blancs techniques
Bulletin électronique
Livres Maple
Math Matters
Portail des applications
Galerie de modèles MapleSim
Cas d'Etudes Utilisateur
Exploring Engineering Fundamentals
Concepts d’enseignement avec Maple
Centre d’accueil utilisateur Maplesoft
Centre de ressources pour enseignants
Centre d’assistance aux étudiants
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