zoukankan      html  css  js  c++  java
  • 并行计算

    一、命令

    (1)环境:改.bashrc:

    指定intel 编译器的环境变量:
    source /data/software/intel/compilers_and_libraries/linux/bin/compilervars.sh intel64
    指定intel mpi 的环境变量:
    source /data/software/intel/impi/5.1.3.210/bin64/mpivars.sh
    指定intel mkl 库的环境变量:
    source /data/software/intel/mkl/bin/mklvars.sh intel64

    (2)编译:

    mpiicc –o helloworld helloworld.c (先目标再源

    (3)常用:

    执行:qsub *.qsub

    查看状态:qstat

    取消:canceljob

    (4)vim

    在查找模式中加入c表示大小写不敏感查找,C表示大小写敏感查找。例如:

    /fooc ;n向后找,N向前
    

    二、编程

    (1)进程同步:信号量

    #include <stdio.h>
    #include <stdlib.h>
    #include <mpi.h>
    #include <fcntl.h>
    #include <sys/stat.h>
    #include <semaphore.h>

    int main(int argc, char ** argv) {
    FILE* fp;
    long i, seqno = 1;
    fp = fopen("seqno", "r+");
    sem_t *sem = sem_open("/semlock", O_CREAT, 0644, 1); //打开信号量
    for (i = 0; i < 20; i++) {
    sem_wait(sem);//进入临界区
    rewind(fp); /*rewind before read*/
    fscanf(fp, "%ld
    ", &seqno);
    printf("pid = %d, seq# = %ld
    ", getpid(), seqno);
    seqno++;
    rewind(fp); /*rewind before write*/
    fprintf(fp, "%ld
    ", seqno);
    sem_post(sem);//出临界区
    }
    fclose(fp);
    }

    打开:有名信号量、内存信号量https://blog.csdn.net/maopig/article/details/52227768

    详细教程:http://www.360doc.com/content/12/0419/10/54470_204839982.shtml

    sem_open

      文档http://man7.org/linux/man-pages/man3/sem_open.3.html#top_of_page

      教程 https://blog.csdn.net/tennysonsky/article/details/46500417

        由特定进程创建信号量,其他进程等待后打开

    程序如果在还没有完成锁操作时退出,需要先重新初始化锁!(open的有名锁是跟内核走的)

     

    (2)广播 已保证收到

    (3)输出

      多进程控制台输出有问题,需要上锁或指定进程号才有意义,否则控制台是乱的(各进程的单项输出也不连续,无可解释性) 

      printf("%d",float)会出现迷之现象,位数解释不正确,并不能保留整数

  • 相关阅读:
    vue--三种组件中之间的传值
    数学log的基本知识
    通俗易懂理解——dijkstra算法求最短路径
    数据结构--Dijkstra算法最清楚的讲解
    explorer.exe
    经典树与图论(最小生成树、哈夫曼树、最短路径问题---Dijkstra算法)
    WPF路由事件二:路由事件的三种策略
    luogu P1979 华容道
    4.Linux查看文件大小的几种方法
    Pairing heap
  • 原文地址:https://www.cnblogs.com/iwanna/p/10826654.html
Copyright © 2011-2022 走看看