小编jdi*_*218的帖子

MPI接收/收集动态矢量长度

我有一个存储结构矢量的应用程序.这些结构包含有关内存和giga-flop/s等系统上每个GPU的信息.每个系统上有不同数量的GPU.

我有一个程序可以同时在多台机器上运行,我需要收集这些数据.我对MPI很新,但我能够MPI_Gather()在大多数情况下使用,但是我想知道如何收集/接收这些动态大小的向量.

class MachineData
{
    unsigned long hostMemory;
    long cpuCores;
    int cudaDevices;
    public:
    std::vector<NviInfo> nviVec; 
    std::vector<AmdInfo> amdVec;
    ...
};

struct AmdInfo
{
    int platformID;
    int deviceID;
    cl_device_id device;
    long gpuMem;
    float sgflops;
    double dgflops;
};
Run Code Online (Sandbox Code Playgroud)

群集中的每台计算机都会填充其实例MachineData.我想收集这些实例中的每一个,但我不确定如何进行收集nviVec,amdVec因为它们的长度因机器而异.

gpgpu mpi multi-gpu

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

标签 统计

gpgpu ×1

mpi ×1

multi-gpu ×1