MPI进程导致pthreads按顺序执行

时间:2014-04-30 19:44:44

标签: pthreads mpi hybrid

我写下了一个MPI / pthread混合代码,我在集群上执行它。具体来说,我使用mpicc -lpthread编译它,并使用mpirun -np 2 -bynode在不同节点(总共6个节点,每个节点8个核心)上启动2个MPI进程,然后在每个节点上创建8个线程。但是,线程不是并行执行的,而是按顺序执行的?

我的部分代码:

        MPI_Init(&argc, &argv);
        MPI_Comm_size(MPI_COMM_WORLD, &numtasks);
        MPI_Comm_rank(MPI_COMM_WORLD, &taskid);
        MPI_Get_processor_name(hostname, &len);
        // more code between these..
        pthread_create(&thread_id, NULL, &sort, (void*) arrays[0]);
        pthread_create(&thread_id2, NULL, &sort, (void*) arrays[1]);

1 个答案:

答案 0 :(得分:0)

终于解决了问题,我刚刚使用了最新版本的mpicc,现在一切都好了