Zemax OpticStudio のマルチスレッド化した最適化


Zemax OpticStudio のマルチスレッド化した最適化

Author
Message
Zemax_Japan
Zemax_Japan
Forum Member
Forum Member (1K reputation)Forum Member (1K reputation)Forum Member (1K reputation)Forum Member (1K reputation)Forum Member (1K reputation)Forum Member (1K reputation)Forum Member (1K reputation)Forum Member (1K reputation)Forum Member (1K reputation)

Group: Administrators / Zemax Staff
Posts: 257, Visits: 2.4K
概要 : Zemax OpticStudio は、ユーザ側で特別な指定をしなくても、コンピュータに搭載されたすべての CPU を利用できるように設計されています。最適化などの所定のすべての計算で起動すべき最適なスレッド数が自動的に判断されます。Zemax の技術チームによく寄せられる質問に、最適化中の CPU 使用状況を確認すると、使用されているスレッドが 1 つのみのように見えるのはなぜかというものがあります。この記事は、その疑問に回答することを目的としています。

著者 : Sanjay Gangadhara および Alison Yates

公開日 : 2015 年 8 月 18 日

サンプル ファイル :

対象 : OpticStudio / 最適化 / よくある質問



Zemax OpticStudio は、光学系の設計と最適化を最大限の効率で進めることができるように、可能な限り多くのコアを使用するように設計されています。

OpticStudio は最適化のマルチスレッド処理にも対応していますが、最適化のすべての過程で常にコンピュータ上のすべてのコアを使用するわけではありません。減衰最小二乗法 (DLS 法) アルゴリズムによる最適化中は、光学系の各変数に可能な変化に対して光学系が示す応答を評価する際に、すべてのスレッドが使用されます。この応答関数を使用して、解空間における評価関数の変化率を評価し、その値に基づいて OpticStudio が最適化の「次の手順」を判断できるようにしています。しかし、「次の手順」を判断するうえで重要な過程では行列式の計算が関わりますが、この計算はマルチスレッド化できません。光学系の複雑さと定義された変数の数によっては、このシングルスレッドの計算に要する時間が無視できないほど長くなることがあります。

多くの場合、光学系の最適化に発生する重要な影響は、「次の手順」を判断した後で光学系を更新し、それを受けて評価関数を評価する必要がある点です。評価関数のどのオペランドの計算でも、複数の CPU を適宜使用できますが、現在のところ、評価関数の各オペランドの評価は逐次処理で実行されています。言い換えれば、評価関数は並列処理 (スレッド化処理) では評価できません。あるオペランドを 1 つの CPU で評価しているときに、別の CPU で同時に別のオペランドを評価することはできません。使用されているコアが間欠的にすべてのコアから 1 つのコアに減少するときは、多くの場合、これがその原因となっています。


GO


Similar Topics


Login
Existing Account
Email Address:


Password:


Select a Forum....



































Zemax Users Forum


Search