小编spi*_*way的帖子

使用CUDA的Lambda表达式

如果我使用thrust::transformthrust::host,拉姆达用法是罚款

thrust::transform(thrust::host, a, a+arraySize,b,d,[](int a, int b)->int
{
    return a + b;
});
Run Code Online (Sandbox Code Playgroud)

但是,如果我thrust::host改为thrust::device,代码将不会通过编译器.这是VS2013上的错误:

lambda的闭包类型("lambda [](int,int) - > int")不能在__global__函数模板实例化的模板参数类型中使用,除非lambda是在一个__device____global__函数内定义的

所以,问题是如何使用__device____global__连接到设备lambdas.

c++ lambda cuda c++11

13
推荐指数
2
解决办法
4822
查看次数

如果在同一个类中定义的这两个函数如何在没有前向声明的情况下相互调用?

我正在学习用boost/asio编写代码.许多代码示例都使用了async_accept和bind的组合.在服务器代码中,我遇到了这样的事情:

class Tcp_server
{
public:
    Tcp_server()
    {

    }
    void start_accept(int a)
    {
        if(a>0)
        {
            cout<<a<<endl;
            handle_accept(a-1);
        }

    }

    void handle_accept(int a)
    {
        if(a>0)
        {
            cout<<a<<endl;
            start_accept(a-1);
        }

    }
};
Run Code Online (Sandbox Code Playgroud)

如果我创建一个Tcp_server的实例并调用handle_accept或start accept,它就可以工作.但是,如果我删除Tcp_server类封装,编译器会抱怨"未声明handle_accept".我只是想知道编译器是否自动转发声明在同一个类中定义的所有函数.有谁能解释为什么?

c++ function forward-declaration

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

如何在cuda中复制不同gpus之间的内存

目前我正在使用两个gtx 650.我的程序类似于简单的客户端/服务器结构.我在两个gpus上分配工作线程.Server线程需要从客户端线程收集结果向量,所以我需要在两个gpu之间复制内存.不幸的是,cuda样本中的简单P2P程序不起作用,因为我的卡没有TCC驱动程序.花两小时内谷歌搜索,等等,我找不到answer.Some源说,我应该使用cudaMemcpyPeer,以及一些其他的消息来源说,我应该使用cudaMemcpycudaMemcpyDefault.就是有一些简单的办法让我的工作做得比拷贝到主机的话,其他复制到设备.我知道它必须在某处记录,但我找不到它.谢谢你的帮助.

cuda multi-gpu

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

MPICH 示例 cpi 在多个全新安装的 vps 上运行时生成错误

我刚开始学习mpi,所以我买了3个vps来创建一个实验环境。我成功安装并配置了 ssh 和 mpich。这三个节点可以在没有密码的情况下互相 ssh(但不是它自己)。并且 cpi 示例在本地机器上没有任何问题就通过了。当我尝试在所有 3 个节点上运行它时,cpi 程序总是存在错误 Fatal error in PMPI_Reduce: Unknown error class, error stack:。这是我所做的以及错误所说的完整描述。

[root@fire examples]# mpiexec -f ~/mpi/machinefile  -n 6 ./cpi
Process 3 of 6 is on mpi0
Process 0 of 6 is on mpi0
Process 1 of 6 is on mpi1
Process 2 of 6 is on mpi2
Process 4 of 6 is on mpi1
Process 5 of 6 is on mpi2
Fatal error in PMPI_Reduce: Unknown error class, error stack:
PMPI_Reduce(1263)...............: …
Run Code Online (Sandbox Code Playgroud)

mpi

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

标签 统计

c++ ×2

cuda ×2

c++11 ×1

forward-declaration ×1

function ×1

lambda ×1

mpi ×1

multi-gpu ×1