转自:http://www.lam-mpi.org/tutorials/one-step/lam.php

LAM is a simple yet powerful environment for running and monitoring MPI applications on clusters. The few essential steps in LAM operations are covered below.

Booting LAM

The user creates a file listing the participating machines in the cluster.

shell$ cat lamhosts
# a 2-node LAM
node1.cluster.example.com
node2.cluster.example.com

Each machine will be given a node identifier (nodeid) starting with 0 for the first listed machine, 1 for the second, etc.

The recon tool verifies that the cluster is bootable:

shell$ recon -v lamhosts
recon: -- testing n0 (node1.cluster.example.com)
recon: -- testing n1 (node2.cluster.example.com)

The lamboot tool actually starts LAM on the specified cluster.

% lamboot -v lamhosts
LAM 7.1.4 - Indiana University
Executing hboot on n0 (node1.cluster.example.com - 1 CPU)...
Executing hboot on n1 (node2.cluster.example.com - 1 CPU)...

lamboot returns to the UNIX shell prompt. LAM does not force a canned environment or a "LAM shell". The tping command builds user confidence that the cluster and LAM are running.

shell$ tping -c1 N
1 byte from 1 remote node and 1 local node: 0.008 secs
1 message, 1 byte (0.001K), 0.008 secs (0.246K/sec)
roundtrip min/avg/max: 0.008/0.008/0.008

Compiling MPI Programs

Refer to MPI: It's Easy to Get Started to see a simple MPI program. mpicc (and mpiCC and mpif77) is a wrapper for the C (C++, and F77) compiler that includes all the necessary command line switches to the underlying compiler to find the LAM include files, the relevant LAM libraries, etc.

shell$ mpicc -o foo foo.c
shell$ mpif77 -o foo foo.f

Executing MPI Programs

A MPI application is started by one invocation of the mpirun command. A SPMD application can be started on the mpirun command line.

shell$ mpirun -v -np 2 foo
2445 foo running on n0 (o)
361 foo running on n1

An application with multiple programs must be described in an application schema, a file that lists each program and its target node(s).

shell$ cat appfile
# 1 master, 2 slaves
n0 master
n0-1 slave
shell$ mpirun -v appfile
3292 master running on n0 (o)
3296 slave running on n0 (o)
412 slave running on n1

Monitoring MPI Applications

The full MPI synchronization status of all processes and messages can be displayed at any time. This includes the source and destination ranks, the message tag, count and datatype, the communicator, and the function invoked.

shell$ mpitask
TASK (G/L)    FUNCTION      PEER|ROOT  TAG    COMM   COUNT   DATATYPE
0/0 master    Recv          ANY        ANY    WORLD  1       INT
1 slave       <running>
2 slave       <running>

Process rank 0 is blocked receiving a message consisting of a single integer from any source rank and any message tag, using the MPI_COMM_WORLD communicator. The other processes are running.

shell$ mpimsg
SRC (G/L)   DEST (G/L)   TAG   COMM    COUNT   DATATYPE    MSG
0/0         1/1          7     WORLD   4       INT         n0,#0

Later, we see that a message sent by process rank 0 to process rank 1 is buffered and waiting to be received. It was sent with tag 7 using the MPI_COMM_WORLD communicator and contains 4 integers.

Cleaning LAM

All user processes and messages can be removed, without rebooting.

shell$ lamclean -v
killing processes, done
sweeping messages, done
closing files, done
sweeping traces, done

It is typical for users to mpirun a program, lamclean when it finishes, and then mpirun another program. It is not necessary to lamboot to run each user MPI program.

Terminating LAM

The lamhalt tool removes all traces of the LAM session on the network. This is only performed when LAM/MPI is no longer needed (i.e., no more mpirun/lamclean commands will be issued).

shell$ lamhalt

In the case of a catastrophic failure (e.g., one or more LAM nodes crash), the lamhalt utility will hang. In this case, the wipe tool is necessary. The same boot schema that was used with lamboot is necessary to list each node where the LAM run-time environment is running:

shell$ wipe -v lamhosts
Executing tkill on n0 (node1.cluster.example.com)...
Executing tkill on n1 (node2.cluster.example.com)...

Getting started with LAM相关推荐

  1. 【安全】通过LAM(ldap-account-manager)来管理OpenLDAP

    文章目录 1.安装 ldap-account-manager 1.1 启动Apache的www服务 1.2 访问 1.3 配置ldap-account-manager登录密码 1.4 添加要连接的主机 ...

  2. Linus批评英特尔的LAM代码,拒绝将其合并到内核

    英特尔希望将其 LAM(Linear Address Masking :线性地址掩码) 功能合并到 Linux 6.2,但该功能被 Linus 批评了一番,并拒绝了该合并. 英特尔线性地址掩码 (LA ...

  3. Linus 批评英特尔的 LAM 代码,拒绝将其合并到内核

    来源:OSC开源社区(ID:oschina2013) 英特尔希望将其 LAM(Linear Address Masking :线性地址掩码) 功能合并到 Linux 6.2,但该功能被 Linus 批 ...

  4. Lam Research和VELO3D达成战略协议,使用金属增材制造应用生产半导体资本设备

    该合作协议包括专有工艺开发和对VELO3D的投资 加州坎贝尔--(美国商业资讯)--数字制造创新者VELO3D和Lam Research Corporation (Nasdaq: LRCX)今天宣布了 ...

  5. java lam表达式_详细分析Java Lambda表达式

    在了解Lambda表达式之前我们先来区分一下面向对象的思想和函数式编程思想的区别 面向对象的思想: 做一件事情,找一个能解决这个事情的对象,调用他的方法来解决 函数时编程思想: 只要能获取到结果,谁去 ...

  6. LDAP+LAM搭建

    1.安装软件包 yum -y install openldap openldap-clients openldap-servers openldap-devel 如果你是64位系统.为了让php编译l ...

  7. 目前掌握的来自Gabriel Lamé的一些知识

    加布里埃尔·拉梅(Gabriel Lamé,1795年7月22日-1870年5月1日),法国数学家. 1. Lamé公式 1883年Lamé首次对厚壁圆筒进行应力分析,提出的应力计算公式叫做Lamé公 ...

  8. Linux搭建LDAP Account Manager(LAM)

    搭建 ldap account manager LAM一直更新的很快,所以有很多版本供选择 因为这边的网络环境不是特别的好,进LAM的官网去下载最新的比较慢,所以没有配置最新的版本 这是我自己找的一个 ...

  9. LAM 的安装和配置

    简介 LAM (LDAP Account Manager)是一款基于Web的LDAP帐号管理的工具,采用PHP编写.(LAM Pro 是企业级扩展版本,功能更强大,但不是免费版)关于LAM的更多信息, ...

  10. 程序媛人生——专访“龙书”《编译原理》联合作者 Monica S. Lam

    本文首发于 2015 年 9 月 24 日,同时刊登<程序员>2015.10.A 作者 | 唐小引 感谢和蔼可亲的 Monica 教授. Monica S. Lam 是首位在斯坦福计算机系 ...

最新文章

  1. 机器学习-Sklearn
  2. 68页PPT教你撰写一篇优秀的机器学习研究论文!
  3. HDU 6709“Fishing Master”(贪心+优先级队列)
  4. Oracle中的wmsys.wm_concat
  5. 神奇又好玩的谢尔宾斯基雪花!
  6. 服务器上文件夹没有共享,服务器没有共享文件夹
  7. python爬虫之BeautifulSoup4基础教程
  8. mysql index 信息_MySQL 索引
  9. 《软件质量保证与测试》学习笔记【第一章 软件测试基本概念】
  10. 度分秒换算题及答案C语言,度分秒的换算题(度分秒计算100题及答案)
  11. ASP.NET Web程序设计 第九章 初识 Web Pages
  12. 四川麻将java_四川麻将纯AI算法------最优拆牌
  13. 你和语言模型,谁的填空能力更强?
  14. ftl模板文件编辑器
  15. Unity Json 编写及读取
  16. 计算机自带的科学计算器代码,[置顶] 科学计算器(简化版:基于MFC对话框)
  17. tableau过期解决办法
  18. 使用Firefox+Tor+FoxyProxy+Noscript+IETab进行安全自由的网上冲浪
  19. 【内附独家PPT】CynosDB for MySQL 计算存储分离架构的实现和优化
  20. C++ Essential Training C ++基础培训 Lynda课程中文字幕

热门文章

  1. Accept-Encoding之gzip压缩
  2. 【小程序】初识小程序
  3. 地图投影系列介绍(一)_ 地球空间模型
  4. 什么是专利权?专利有多少种类?
  5. [windows]-windows安装Mac OSX
  6. unity-材质球受击变色管理
  7. 福布斯2007中国富豪榜出炉 杨惠妍26岁成首富
  8. 主流浏览器内核有哪几种?
  9. 如何看待千锋教育在全网开源自己的全学科教学视频?
  10. 2017年7月7日内蒙乌兰布统之旅