openmp

    6热度

    3回答

    目前,我上了XCode 3.2.2在Snow Leopard上尝试的OpenMP: #include <omp.h> #include <iostream> #include <stdio.h> int main (int argc, char * const argv[]) { #pragma omp parallel printf("Hello from thre

    0热度

    3回答

    我有这样一个程序块: for (iIndex1=0; iIndex1 < iSize; iIndex1++) { for (iIndex2=iIndex1+1; iIndex2 < iSize; iIndex2++) { iCount++; fDist =(*this)[iIndex1].distance((*this)[iIndex2

    1热度

    1回答

    我有一个情况,如: #pragma omp parallel for private(i, j, k, val, p, l) for (i = 0; i < num1; i++) { for (j = 0; j < num2; j++) { for (k = 0; k < num3; k++) { val = m[i +

    1热度

    2回答

    我正在使用粗粒度和细粒度多线程的应用程序。也就是说,我们手动管理线程池上的大型工作单元的调度,然后在这些工作单元中,某些功能利用OpenMP进行更细粒度的多线程。 我们已经通过在我们最昂贵的循环中有选择地使用OpenMP来实现收益,但是担心会在OpenMP块添加到更便宜的循环中时为OpenMP工作池创建争用。有没有一种方法可以向OpenMP发出信号:如果代码块可用,那么应该使用该代码块;如果没有,

    0热度

    3回答

    我有大量的整数集合,我将它们放入指针向量中。我需要能够并行更新这些集合,而不会导致竞争条件。进一步来说。我正在使用OpenMP的“并行”构造。 为了处理共享资源,OpenMP提供了一个方便的“原子指令”,它允许在不使用锁的情况下避免特定存储器上的竞争条件。 如果我可以使用“原子指令”来防止同时更新我的​​整数集,那将会很方便,但是,我不确定这是否可行。 基本上,我想知道,下面的代码是否会导致竞争条

    3热度

    4回答

    我刚写了我的第一个OpenMP程序,它并行化了一个简单的for循环。我在双核心机器上运行代码,从1个线程转换到2个线程时看到了一些加速。但是,我在学校的linux服务器上运行了相同的代码,并没有看到加速。在尝试了不同的东西之后,我终于意识到删除一些无用的printf语句会导致代码显着加速。下面是我并行代码的主要部分: #pragma omp parallel for private(i) for

    0热度

    1回答

    根据实现的不同,OMP对并行相当任意的代码段非常有用 - 例如调用两个独立方法的方法中的并行段 - 或者它可能很糟糕。这取决于如何创建/缓存线程,我认为。 VC++ 2008实现如何工作?而且2010年的实施在功能和性能/灵活性方面明显不同?

    0热度

    2回答

    我已经得到了让我的堆栈溢出错误 #pragma omp parallel shared(Mo1, Mo2, sum_normalized_p_gn, Data, Mean_Out,Covar_Out,Prior_Out, det) private(i) num_threads(number_threads) { //every thread has a new copy

    18热度

    2回答

    我有一个循环,我的C++/OpenMP的代码看起来像这样: #pragma omp parallel for for(unsigned int i=0; i<count; i++) { // do stuff } 当我编译它(与Visual Studio 2005),我收到以下错误: error C3016: 'i' : index variable in OpenMP 'fo

    4热度

    2回答

    我很少使用Fortran,但是我一直负责将遗留代码重写为并行运行。我正在使用gfortran编译器选择。我在https://computing.llnl.gov/tutorials/openMP/以及其他一些地方发现了一些优秀的资源。 我的问题是这样的,以前我添加任何OpenMP指令,如果我只是编译遗留程序: gfortran Example1.F90 -o例1 一切正常,但即使打开OpenMP的