簡體   English   中英

C 和數學中的並行計算

[英]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 DispatchOpenMP ,它們都是基於 C 的 API。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM