openmp

    0熱度

    1回答

    我有以下一段代碼,我想在openmp中編寫代碼。 我的代碼抽象如下所示 我將N=100重複同樣之中p=10片第一次開始,我爲每一個作品的分配迭代存儲在矢量 Nvec[1]={0,1,..,9} Nvec[2]={10,11,..,19} Nvec[p]={N-9,..,N} 然後我環路上迭代 for(k=0;k<p;k++){\\loop on each piece of Nvec

    1熱度

    1回答

    我試圖利用我的Nvidia Geforce GT 740M進行並行編程,使用OpenMP和鏗鏘3.8編譯器。 當在CPU上並行處理時,我設法得到想要的結果。但是,在GPU上處理時,我的結果幾乎是隨機數。 因此,我認爲我沒有正確地分配我的線程團隊,並且可能會有一些數據競賽。我想我必須以不同方式執行我的for循環,但我不知道錯誤可能在哪裏。 #include <stdio.h> #include <

    1熱度

    1回答

    我正在使用OpenMP執行耗時的操作。我無法在執行操作的同時在耗時循環內從GTK +更新ProgressBar。我已經升級了ProgressBar的代碼,但是它在完成所有事情後都這樣做了。不像代碼的進展。 這是我的僞代碼,直到一切都做不更新進度: void largeTimeConsumingFunction (GtkProgressBar** progressBar) { int e

    1熱度

    3回答

    我正在嘗試開發一種管道,其中首先讀取和處理數據,操作一次,以不同方式操作並顯示數據。我有一個設計,其中數據IO饋送到第一個操縱器讀取的緩衝區中。隨後,第一個操縱器寫入另一個緩衝區,該緩衝區在第二個操縱器可能的情況下被讀取。最後,將第二個操縱器的輸出寫入顯示緩衝區,然後由可視化工具讀取並使用OpenGL進行顯示。 在我看來,這是一個相當直接的並行問題,其中每個任務都有自己的線程並通過數據緩衝區進行通

    0熱度

    3回答

    我想用OpenMP來達到這個效果:修正線程數量,如果有空閒線程,調度任務到其中,否則等待空閒線程。以下是我的測試代碼: #include <omp.h> #include <stdio.h> #include <unistd.h> void func(void) { #pragma omp parallel for for (int i = 0; i < 3; i++)

    0熱度

    1回答

    我想知道是否有人知道更多關於大型嵌套循環崩潰原因的出價嗎? 含義我想比較雜注 omp parallel for private(i,j,k) collapse(3) schedule(static) 和 omp parallel for private(i,j,k) schedule(static) 嵌套的循環結構類似 for(int i=0; i<i_max; i++){ for(in

    2熱度

    2回答

    我想要得到矢量化報告regrading自動矢量化和openmp SIMD。

    1熱度

    3回答

    我是MPI編程新手。我必須測試3個代碼,例如順序,OpenMP和MPI代碼。這些3碼(不是真正的代碼,只是舉例)分別給定爲遵循 順序碼 program no_parallel implicit none integer, parameter :: dp = selected_real_kind(15,307) integer :: i, j real(kind

    0熱度

    2回答

    我想並行化一個簡單的mandelbrot c程序,但我得到這個錯誤,不包括acc例程信息。另外,我不確定是否應該將數據複製到並行部分。 PS我對並行編程相對來說比較新,所以任何有關學習它的建議都會很感激。 (警告編譯時) PGC-S-0155-Procedures called in a compute region must have acc routine information: fwrit

    0熱度

    1回答

    我想並行化一個名爲streamcluster的程序。更具體地說,名爲pgain的函數根據我使用的Scalasca工具花費程序的大部分時間,所以這是我應該並行化的函數。在這裏你可以看到這個功能和我的並行化工作。問題在於,我所取得的唯一成果是程序員花更多時間來執行。 原來pgain功能streamcluster: double pgain (long x, Points *points, double