cilk-plus

    0熱度

    1回答

    [修正] - 在評論 給出解釋[更新,錯誤畫面] 使用gcc/5.4.0編譯時,我得到一個編譯錯誤。以下是報告的錯誤: internal compiler error: in lower_stmt, at gimple-low.c:397 cilk_spawn m_sparsify_graph_helper__(mdl, n_pa, n_ch, score2beat); 以下是導致代碼片段錯誤:

    0熱度

    1回答

    我需要使用Cilk的加註釋在我的C++程序,是這樣的: #inlcude <cilk/cilk.h> cilk_spawn myFunction(); cilk_sync; 我使用JetBrains的克利翁IDE和我得到的錯誤宏替換後出錯:無法解析類型'_Cilk_spawn'。我想知道是否有任何解決方案。 當然,從我的終端直接使用g ++,我只需添加選項-fcilkplus,但在這種情

    0熱度

    1回答

    對不起,如果這太長,但我覺得這個問題需要澄清: 我正在爲Excel的xll庫,即包含函數,它可以註冊,並直接調用形式細胞。理想情況下,這些函數也應該從VBA, 中調用(或調整爲調用),以便爲更復雜的計算(根查找,優化,優化)提供解釋環境,這些計算不適合在Excel工作表中。要清楚:有一種方法可以從vba(函數Application.Run)調用sheet函數,但是它支付所有參數和返回值的變換類型轉

    2熱度

    2回答

    我有一小段代碼,我想高級並行化。我一直在使用Cilk Plus的cilk_for來運行多線程。麻煩的是,根據工人的數量,我得到了不同的結果。 我讀過,這可能是由於競爭條件,但我不確定代碼的具體內容導致或如何改善它。另外,我意識到long和__float128對於這個問題是矯枉過正的,但在升級中可能是必需的。 代碼: #include <assert.h> #include "cilk/cilk.

    2熱度

    2回答

    我試圖實現一個2D模板算法,操縱矩陣。對於矩陣中的每個字段,其上下左右的字段將被添加併除以4以計算新值。對於給定的矩陣,這個過程可能會迭代多次。 該程序是用C編寫的,並用cilkplus gcc二進制編譯。 **編輯:我想你可能會感興趣的編譯器標誌: ~/cilkplus/bin/gcc -fcilkplus -lcilkrts -pedantic-errors -g -Wall -std=gnu

    0熱度

    1回答

    我所遇到的問題,同時安裝在我的Mac OS X.Following的installation page的CilkPlus,我在下面的順序執行以下命令: $mkdir Cilk $cd Cilk $git clone -b cilkplus https://github.com/cilkplus/llvm llvm $git clone -b cilkplus https://github.c

    1熱度

    1回答

    以下(還原的)代碼非常糟糕由串聯GCC的 #include <vector> #include <cilk/cilk.h> void walk(std::vector<int> v, int bnd, unsigned size) { if (v.size() < size) for (int i=0; i<bnd; i++) { std::vector<in

    0熱度

    1回答

    我想弄清楚爲什麼gcc 4.9.0不會矢量化一個簡單的數組添加使用gcc 4.9.0時,使用-O -ftree-vectorize: int a[256], b[256], c[256]; foo() { int i; a[:] = b[:] + c[:]; } 通過觀察產生這種循環彙編尚未矢量,並與-fopt-INFO-VEC-all標誌我得到告訴我大量輸出的矢量爲什

    0熱度

    1回答

    我試圖使用cilkscreen來檢測代碼中的某些競爭條件。 我編譯使用 g++-5 -g foo.cpp -fcilkplus -std=c++14 -lcilkrts -ldl -O2 但是我的代碼,當我啓動cilkscreen我收到以下錯誤信息: cilkview ./a.out Cilkview: Generating scalability data Cilkview Scala

    0熱度

    1回答

    #include <iostream> #include <cilk/cilk.h> int fib(int n) { if (n < 2) return n; int x = cilk_spawn fib(n-1); int y = fib(n-2); cilk_sync; return x + y; } int main(int argc, char ** argv)