Skip to Main Content
Mathematica 錦囊妙計
book

Mathematica 錦囊妙計

by Sal Mangano
April 2014
Beginner to intermediate content levelBeginner to intermediate
830 pages
15h 21m
Chinese
GoTop Information, Inc.
Content preview from Mathematica 錦囊妙計
664
|
第十六章
首先,注意
MapIndexed
指令用來作為工作起點,此指令相當適合做此用途,其所產生的
索引值可作為工作識別值。
slaveHandler
函數內的變數
jobId
除了回傳給主要核心外沒
有特別作用,此變數告訴主要核心所完成的工作為何。相同地,你也許會想既然只要執
行第一個工作項目,為什麼還需傳遞整個待辦清單至次要核心,其實目的很簡單,這使
pipelineProcessor
函數不必特別管理執行狀態;當函數從次要核心接收回應時,馬
上可以知道剩餘的工作,這也稱為
狀態無關方式
stateless
),因為主要核心與次要核
心都不需維護目前執行狀態,而只需直接處理目前的待辦清單即可。
第二點,請注
With
指令的作 用是將
ParallelSubmit
引數內的 表示式進行運 算,
一步 很重要, 因為
ParallelSubmit
指令 會將表 示式以 暫緩 執行的 格式 傳遞至 次要
心,在次要核心進行運算;而這很可能會失敗,因為所包含的符號(如本例的
todo
result
)並不存在於次要核心上。[Page-668]
而你或許會問一個問題,究竟為什麼要使用管線方式執行平行運算?以前例來說,既
然知道要 對影像進 一連串的 操作,為何不 次將所有 操作包裝為 一個函數,並
ParallelMap
指令將圖形分散至不同核心進行處理呢?在某些情況下,管線方式確實是
比較好用的,以下有幾個原因:
中間計算結果
Intermediate results
對某些問題而言,你想保存每個步驟
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Ubuntu for Non-Geeks, 4th Edition

Ubuntu for Non-Geeks, 4th Edition

Rickford Grant, Phil Bull

Publisher Resources

ISBN: 9789863470106