小编en *_*asa的帖子

CUDA:总共有多少并发线程?

我有一个GeForce GTX 580,我想说明可以(理想情况下)实际并行运行的线程总数,以便与2或4个多核CPU进行比较.

deviceQuery为我提供了以下可能的相关信息:

CUDA Capability Major/Minor version number:    2.0
(16) Multiprocessors x (32) CUDA Cores/MP:     512 CUDA 
Maximum number of threads per block:           1024
Run Code Online (Sandbox Code Playgroud)

我想我听说每个CUDA核心都可以并行运行warp,并且warp是32个线程.说卡可以并行运行512*32 = 16384个线程,或者我离开了,CUDA内核是不是真的并行运行?

cuda gpgpu

44
推荐指数
2
解决办法
4万
查看次数

在openmp中并行循环

我正在尝试并行化一个非常简单的for循环,但这是我在很长一段时间内第一次尝试使用openMP.我对运行时间感到困惑.这是我的代码:

#include <vector>
#include <algorithm>

using namespace std;

int main () 
{
    int n=400000,  m=1000;  
    double x=0,y=0;
    double s=0;
    vector< double > shifts(n,0);


    #pragma omp parallel for 
    for (int j=0; j<n; j++) {

        double r=0.0;
        for (int i=0; i < m; i++){

            double rand_g1 = cos(i/double(m));
            double rand_g2 = sin(i/double(m));     

            x += rand_g1;
            y += rand_g2;
            r += sqrt(rand_g1*rand_g1 + rand_g2*rand_g2);
        }
        shifts[j] = r / m;
    }

    cout << *std::max_element( shifts.begin(), shifts.end() ) << endl;
}
Run Code Online (Sandbox Code Playgroud)

我用它编译它

g++ -O3 …
Run Code Online (Sandbox Code Playgroud)

c++ parallel-processing openmp

22
推荐指数
3
解决办法
5万
查看次数

关于评论代码的"硬规则"是什么?

我已经看到了其他问题,但我仍然不满意这个主题的涵盖方式.

我想在代码检查中提取一个废弃的列表来检查注释.

我相信人们会说会相互抵消的事情.但是,嘿,也许我们可以为每个阵营建立一个清单.对于那些没有评论的人来说,这个名单会很短:)

comments coding-style code-comments

8
推荐指数
6
解决办法
2593
查看次数