[英]parallel computing in C and mathematica
我有一個核心 i7 筆記本電腦,它有 8 個處理器。
我想用同一段代碼同時運行所有這 8 個處理器(類似於 GPU 編程中的內核),例如:-
// GPU programming code (kernel)
__kernel void set(__global int* list)
int i = get_global_id();
list[i] = i;
}
我想在數學中做這樣的事情,但是使用C代碼而不是OpenCL ,或者使用純 C 代碼來做。
顯然,我想使用mathematica 或C 在所有內核中運行一段特定的代碼。
抱歉沒有那么清楚.. :)
您可能想閱讀有關OpenMP的信息。
如果您正在尋找利用 Mathematica 中所有內核的方法,則無需涉及 C。 Mathematica 具有相當好的並行化功能,例如使用Parallelize
:
In[1] := Parallelize[Select[Range[9000, 10000], PrimeQ[2^# - 1] &],
Method -> "FinestGrained"]
Out[1] = {9689, 9941}
看看Grand Central Dispatch或OpenMP ,它們都是基於 C 的 API。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.