繁体   English   中英

在openmp中对数组进行排序-关键部分

Sorting an array in openmp - critical section

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

非常类似于该问题,在openmp中对数组进行排序,该数组具有数百个视图,但没有正确答案。 因此,我再次尝试在这里再次询问。 我知道这与加速或性能有关的开销和无用性。 这只是进入openMP的一个小例子。 这是insertSort的事实,这是我的课程教师给出的。

这是我的代码:

std::vector<int> insertionSort(std::vector<int> a) {
    int i, j, k;
    #pragma omp parallel for private(i,j,k)
    for(i = 0; i < a.size(); i++) {
    #pragma omp critical
        k = a[i];
        for (j = i; j > 0 && a[j-1] > k; j--)

        #pragma omp critical
        {
            a[j] = a[j-1];
            a[j] = k;
        }
    }
 return a;
 }

我知道关键的方面是线程访问(读取和写入)a元素之间的竞争条件,这就是为什么我将关键部分放在所有元素周围。 这似乎还不够。 我在这里想念什么。 没有编译指示,排序是正确的。

问题暂未有回复.您可以查看右边的相关问题.
2 在Ruby中对数组进行部分排序

我正在尝试按字母顺序对数组数组进行排序,以排除单词“ Other”,这是我想要的数组末尾的成员。 假设该数组如下所示: 简而言之, cities.sort只需执行以下操作: 我希望成员按字母顺序在最后加上["Other"] ,如下所示: 有人可以在这里指出正确的方向吗? ...

5 在Ruby中对数组数组进行排序

我有一个像这样的数组: 我想在第4个元素上对整个device_array进行排序。 我试过了 我也尝试过: 这两种方法都没有奏效。 我使用它作为参考: http : //ariejan.net/2007/01/28/ruby-sort-an-array-of- ...

8 为什么不对数组进行排序?

我试图将基于逻辑的代码与quicksort合并到我的主程序中(此处未显示)。 该程序基本上会生成2d数组值,然后继续将其打印在屏幕上。 由于存在X,Y,Z坐标,因此dim变量用作此代码(即3D)中的尺寸量。 我无法理解这是否是使用[dim]对数组进行排序的正确方法。 任何建设性/有益的投 ...

9 对数组进行排序

我有以下数据: 我需要基于最后一个数组元素的y属性值对每个数组(父数组内)的(x)元素进行排序。 结果将是: 有什么简单的方法吗? 这是数据的全局结构: 我有3个数组的数组,每个数组包含N个哈希表。 我需要根据最后一个元素(data [2])中“ y”键的值对所有 ...

10 对数组进行排序

我想知道哪个元素数组排序更好。 当我完成填充时,最好是在最后对阵列进行排序时获得良好的性能吗? 或者每次添加元素时最好对其进行排序? ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM