openmp

    2熱度

    1回答

    運行我在C想我的第一個OpenMP程序++,我的代碼是: #pragma omp parallel for num_threads(2) for (int i=0;i<16;++i) { printf("Thread %d works with idx %d\n", omp_get_thread_num(), i); } 我使用g ++ -O3 -fopenmp -std =編

    1熱度

    1回答

    我想通過使用OpenMP來並行化一個for循環,這個和在Armadillo矩陣上求和。我有以下代碼: #include <armadillo> #include <omp.h> int main() { arma::mat A = arma::randu<arma::mat>(1000,700); arma::mat X = arma::zeros(700,700

    0熱度

    1回答

    我在使用OpenMP減少(總和)數組(double **)時遇到問題。該代碼是: #include <stdlib.h> #include <iostream> #include <omp.h> using namespace std ; double my_function(const double * x) { return 1 ; } int main() { c

    1熱度

    1回答

    我想利用OpenMP來使我的任務並行。 我需要將相同的數量減去一個數組的所有元素並將結果寫入另一個向量。這兩個數組都動態分配爲malloc,第一個數組由文件中的值填充。每個元素的類型爲uint64_t。 #pragma omp parallel for for (uint64_t i = 0; i < size; ++i) { new_vec[i] = vec[i] - shift;

    1熱度

    2回答

    我想問OpenACC或OpenMP是否支持ARM Mali GPU。我使用支持GPU並行化的OpenMP 4.0,但我不確定它是否在GPU上運行。你有什麼想法,我該如何測試它? 預先感謝您。

    0熱度

    1回答

    我是OpenMP的新手。我想使用並行do循環來解決一系列參數值的僵硬ODE系統。我在下面給出的Fortran中使用以下代碼。但是,我不知道是否允許在並行循環內部調用僵硬的求解器(作爲子例程)?另外,我想在返回主程序之前將時間序列數據寫入子程序中帶有諸如「r_value_s__value.txt」等文件名的文件中。任何人都可以幫忙以下是代碼和錯誤。我用gfortran與標誌-fopenmp進行編譯。

    0熱度

    1回答

    我想使用openmp工作共享結構。共享的代碼是我更大的openmp代碼出現問題的更簡單的例子。我將值賦給一個整數矩陣,打印矩陣元素值,將它們初始化爲0,並在't'循環中重複它。我計算了賦值(通過並行執行)失敗的次數,通過整數'p'。如果代碼是正確的,p應該是0,但是它爲不同的運行提供了不同的答案,所以工作構造失敗了。我必須運行它大約12次,然後纔得到第一個錯誤的p值作爲輸出(1,2,3等)。 代碼

    0熱度

    1回答

    我有我正努力並行執行代碼。 #include<iostream> #include<omp.h> #include<math.h> #include<cstdlib> #include<iterator> #include<string.h> #include<vector> #include<map> #include<time.h> #include<gsl/gsl_rng.

    1熱度

    1回答

    我想用不同的設置在不同的std::threads中運行Fortran90函數,該函數使用許多模塊來存儲設置和一些常規數據。我看到的問題是,Fortran模塊就像單身對象。當我用兩個線程調用函數時,它們在同一個模塊上工作。有沒有辦法讓模塊threadprivate像openmp一樣? 例如使用OpenMP與線程專用數據的模塊如下: MODULE EXAMPLE USE OMP_LIB

    1熱度

    1回答

    在下面的代碼中,OpenMP運行時將重新創建線程,還是重新使用先前創建的線程 - 即使用線程池? 有些同事認爲它會重新創建線程,因爲「#parallel」子句嵌套在for中;我懷疑這一點,並對GDB進行了一些測試,結果表明這不是事實。線程實際上被重用。 #include <cstdio> #include <omp.h> #include <unistd.h> void fun1() {