小编Gab*_*iel的帖子

GPU利用率解读

我使用 NVIDIA Profiler 测试了一个内核,它输出以下内容:

在此输入图像描述

我们启动了具有 256 个块和 256 个线程的内核。据我了解,该图显示了三个部分,一个用于 Warps ,一个用于寄存器,一个用于共享内存,每个部分都有一个计算出的“块限制”,其中寄存器部分中的部分是最小且最有限制的值。显然,内核是寄存器绑定的,我们只能在一个 SM 上同时启动 4 个块。这就是探查器所说的。我彻底问自己以下事情:

一块 GTX 780 Ti,一个 SM 中有 192 个核心,怎么可能同时启动 4 个块 * 256 个线程 = 1024 个线程?在 CUDA 术语中,“同时”是什么意思?这是否意味着可以在调度程序中同时调度 4 个块,并且 SM 同时从一个块的扭曲中以锁步方式执行指令。同时这个词有点混乱?

多谢

cuda nvidia

1
推荐指数
1
解决办法
1353
查看次数

在 SIGINT 上,Linux 上的退出代码为 130,Windows 上的退出代码为 2

为什么下面的空程序在 Linux 上以 130 退出CtrlC这是我怀疑的,因为我的 shellbash将 SIGINT 包装为 130 (128+2)。

在使用Git Bash ( )的 Windows 上git-bash.exe,我得到退出代码 2。

package main

func main() {
    for {

    }
}
Run Code Online (Sandbox Code Playgroud)

这是 Go 在 Windows 上的行为还是git-bash.exe?因为我2内部需要退出代码,所以我需要使用signal包来包装它吗?

exit-code go sigint

1
推荐指数
1
解决办法
5163
查看次数

带运算符">>"的typedef是什么意思?

C++中的这个陈述是什么意思.我通过阅读类型列表来看到.

我不明白运算符">"在类型列表中的含义是什么?到目前为止,我从未在C++模板中使用过这个东西?

template 
struct typelist
{
    typedef H head;
    typedef T tail;
};


typedef typelist > >
    floating_point_types;
Run Code Online (Sandbox Code Playgroud)

谢谢你的一些简短解释!¿这是可变参数模板吗?

c++ templates

0
推荐指数
1
解决办法
111
查看次数

全局变量没有增加(是gcc坚果吗?)

我有以下愚蠢的代码:IDEONE

有人可以解释,为什么删除std :: vector中的对象A时全局计数器不会增加?

#include <iostream>
#include <memory>
#include <vector>

int global;

class A {
public:
    A(int i): a(i) {}
    ~A() {
        std::cout << "delete A" << std::endl;
        ++global;
    };
    int foo() {
        return a;
    }
    int a;
};


int main() {


        int c = 0;
        int loops = 10;
        global = 0;

        // Make vector of pointers
        std::vector<std::shared_ptr<A> > vec;
        for(int i = 0; i< 10; i++) {
            vec.push_back( std::shared_ptr<A>(new A(i))    );
        }

        for(int i=0; i<loops; i++) { …
Run Code Online (Sandbox Code Playgroud)

c++ shared-ptr c++11

0
推荐指数
1
解决办法
54
查看次数

为什么在定义析构函数时隐式删除​​了移动构造函数

我想知道为什么委员会决定在定义析构函数时隐式删除​​移动构造函数.

#include <iostream>
#include <vector>
#include <memory>

struct A { 
  ~A(){}; 
  std::unique_ptr<int> a;
};


int main()
{
    A a;
    A b = std::move(a);
}
Run Code Online (Sandbox Code Playgroud)

http://coliru.stacked-crooked.com/a/c0c067fc51260794

有没有任何utopic用例,这个"非默认移动成员"的规则有意义吗?

c++ c++14 c++17

0
推荐指数
2
解决办法
330
查看次数

为什么不总是使用断言?

如果static_assert仅限于编译时评估,为什么不总是坚持,assert如果它可以处理编译时和运行时评估的表达式?

c++

-1
推荐指数
1
解决办法
83
查看次数

无法多次解压缩zip对象

为什么这不起作用?:

t = zip([3],[4],[3])
print("1:",*t)
print("2:",*t)
Run Code Online (Sandbox Code Playgroud)

我们不能在Python中第二次解压缩,为什么会这样?

python python-3.x

-2
推荐指数
1
解决办法
1941
查看次数

标签 统计

c++ ×4

c++11 ×1

c++14 ×1

c++17 ×1

cuda ×1

exit-code ×1

go ×1

nvidia ×1

python ×1

python-3.x ×1

shared-ptr ×1

sigint ×1

templates ×1