小编fre*_*ter的帖子

通过MPI命令行传递参数

我正在使用MPI调用使用c ++在多个进程上运行一个过程.我的Main函数中的前几行看起来像:

int main(int argc, char *argv[]){
int comm_sz;
int my_rank;

MPI_Init(&argc, &argv);
MPI_Comm_size(MPI_COMM_WORLD, &comm_sz);
MPI_Comm_rank(MPI_COMM_WORLD, &my_rank);

x = atoi(argv[4]);
y = atoi(argv[5]);
Run Code Online (Sandbox Code Playgroud)

现在当我执行并运行我的程序时

mpiexec -n 1 program 10 10
Run Code Online (Sandbox Code Playgroud)

我希望x和y被赋值为10和10,因为它们是传递的第4和第5个参数.但这不会发生,它会相应地将这些变量分配给0和0.并且我的程序没有按预期运行.

当我更改这些数字时,我的串行代码正在运行.它只是我是MPI的新手.

你能说明我哪里出错吗?

c++ mpi

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

精确到drand48

如何在C++中为drand48()添加精度?我在一个函数中使用它:

double x = drand48()%1000+1;
Run Code Online (Sandbox Code Playgroud)

生成1000以下的数字.但后来我得到这个错误:

error: invalid operands of types ‘double’ and ‘int’ to binary ‘operator%’
Run Code Online (Sandbox Code Playgroud)

当我使用时,这不会发生:

double x = rand()%1000+1;
Run Code Online (Sandbox Code Playgroud)

为什么rand()和drand48()有什么区别?

c++

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

求解Ω和Θ(O,Omega和Theta符号)

我已经解决了一个递归关系,其运行时间为Θ(2 ^ n),指数时间.如何找到相同的递归关系的Ω和O.

我猜如果它是Θ(2 ^ n),它也应该是O(2 ^ n),我是对的吗?我如何找到Ω,下限?

我尝试解决递归关系:

T(n)= 2T(n-1)+ C.

algorithm big-o big-theta

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

双向量结构

我试图在C++中创建双向量的结构.

struct distance{
    vector<double> x(10000);
    vector<double> y(10000);
    vector<double> z(10000);
};

distance distance_old, distance_new;
Run Code Online (Sandbox Code Playgroud)

在定义中它抛出一个错误说:

error: expected identifier before numeric constant
error: expected ‘,’ or ‘...’ before numeric constant 
Run Code Online (Sandbox Code Playgroud)

我哪里错了?

我看到这个帖子结构的向量C++, 但它似乎并不适合我.

c++

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

标签 统计

c++ ×3

algorithm ×1

big-o ×1

big-theta ×1

mpi ×1