openmp

    0熱度

    1回答

    我對OpenMP相當陌生,並且我嘗試了一些Monte Carlo代碼並行化。 我有一個for循環必須連續運行它調用new_value()功能: for(int i = 0; i < MAX_VAL; i++) new_value(); 該功能打開每次調用並行區域: void new_value() { #pragma omp parallel default(shared) {

    0熱度

    1回答

    這是迄今爲止我所知道的常規合併排序完美工作,但我不確定我爲openMP並行合併排序所做的操作是否正確。目標是通過將openMP併入並使用從一類應用程序中獲取的數據來優化合並排序。對於我所認爲的數據,我認爲它是線程,因爲使用多線程應該優化它。有關我應該在哪裏實施線索或提示的任何建議? void mergeSort(int arr[], int start, int end) { if(s

    0熱度

    1回答

    我開始使用C++中的openMP,並且遇到了並行for循環與減少。當我運行下面的函數時,出現錯誤:「* ./main.out'中的錯誤:雙重空閒或損壞(fasttop):0x00007fe2a00008c0 *」。 ***更新:謝謝大家的幫助!我根據您的建議編輯了該功能(請參閱下文),並且它可以正常運行。但是我仍然沒有看到任何加速,並且當我運行頂部時,%CPU字段永遠不會超過100%。有什麼想法嗎

    0熱度

    1回答

    之間的行動所以,我大致有這樣的代碼: for (int i = 0; i != 10000; ++i) { doAction(i); for (int j = 0; j != 10000; ++j) { ... } } 而且我想使用OpenMP來parallellize它。據我所知,在這種情況下,一個簡單的collapse不會做;我嘗試使用單獨的#p

    1熱度

    2回答

    我有兩組線程,一組由n個線程執行,另一組由m個線程執行。我想在同一時間啓動它們,但我得到的是,該組第1分開始,然後組2 //group 1 #pragma omp parallel num_threads(n) { #pragma omp for for (int i = 0; i < n; i++) { function1(i); } } //g

    0熱度

    1回答

    我想編譯包含OpenMP的Fortran代碼。我正在複製使用來自其他代碼的OpenMP。它內置一次成功昨日再下一次,我建立了它,我得到以下錯誤: ../MAXBRG3D.f90:3:4: USE OMP_LIB ! USED WITH OMP FUNCTIONS 1 Fatal Error: Can't open module file 'omp_lib.mod' for rea

    0熱度

    1回答

    首先,請記住,我不是OpenMP的非常頻繁的用戶......好嗎? 現在我們已經過去了,是否有條件的critical? 我在這條線並行for循環內特別感興趣: (...) #pragma omp critical myMapOfVectors[i].push_back(someNumber); (...) 我想有它critical當且僅當運行這個特定的行具有相同的i(

    0熱度

    1回答

    我正在使用C++編寫Producer-consumer problem以及在使用OpenMP時如何實現顯示器? 我無法找到像OpenMP中conditional_variable任何東西,我不能執行等待/通知上像維基百科例如某些條件。

    1熱度

    1回答

    我想並行化一個編碼函數,我嘗試在for處添加一個簡單的pragma,但結果是錯誤的。我認爲迭代是依賴的(通過code變量),因此它們不能直接並行化。 int encodePrimeFactorization(int number){ int code = 0; for (int i=PF_NUMBER-1; i>=0 ; i--){ code = code * 2;

    0熱度

    1回答

    我編程上的騎士登陸,其具有68芯和4個超線程/核心節點。我正在研究混合MPI/OpenMP應用程序。 我的問題是,如果4個超線程意味着用作OpenMP的 線程或者我如何使用他們?當我運行使用 以下方案我的程序: export OMP_NUM_THREADS=1 mpirun -np 68 ./app 它的運行速度比當我使用的方案更快: export OMP_NUM_THREADS=4 mp