Getting started with LAM
转自: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相关推荐
- 【安全】通过LAM(ldap-account-manager)来管理OpenLDAP
文章目录 1.安装 ldap-account-manager 1.1 启动Apache的www服务 1.2 访问 1.3 配置ldap-account-manager登录密码 1.4 添加要连接的主机 ...
- Linus批评英特尔的LAM代码,拒绝将其合并到内核
英特尔希望将其 LAM(Linear Address Masking :线性地址掩码) 功能合并到 Linux 6.2,但该功能被 Linus 批评了一番,并拒绝了该合并. 英特尔线性地址掩码 (LA ...
- Linus 批评英特尔的 LAM 代码,拒绝将其合并到内核
来源:OSC开源社区(ID:oschina2013) 英特尔希望将其 LAM(Linear Address Masking :线性地址掩码) 功能合并到 Linux 6.2,但该功能被 Linus 批 ...
- Lam Research和VELO3D达成战略协议,使用金属增材制造应用生产半导体资本设备
该合作协议包括专有工艺开发和对VELO3D的投资 加州坎贝尔--(美国商业资讯)--数字制造创新者VELO3D和Lam Research Corporation (Nasdaq: LRCX)今天宣布了 ...
- java lam表达式_详细分析Java Lambda表达式
在了解Lambda表达式之前我们先来区分一下面向对象的思想和函数式编程思想的区别 面向对象的思想: 做一件事情,找一个能解决这个事情的对象,调用他的方法来解决 函数时编程思想: 只要能获取到结果,谁去 ...
- LDAP+LAM搭建
1.安装软件包 yum -y install openldap openldap-clients openldap-servers openldap-devel 如果你是64位系统.为了让php编译l ...
- 目前掌握的来自Gabriel Lamé的一些知识
加布里埃尔·拉梅(Gabriel Lamé,1795年7月22日-1870年5月1日),法国数学家. 1. Lamé公式 1883年Lamé首次对厚壁圆筒进行应力分析,提出的应力计算公式叫做Lamé公 ...
- Linux搭建LDAP Account Manager(LAM)
搭建 ldap account manager LAM一直更新的很快,所以有很多版本供选择 因为这边的网络环境不是特别的好,进LAM的官网去下载最新的比较慢,所以没有配置最新的版本 这是我自己找的一个 ...
- LAM 的安装和配置
简介 LAM (LDAP Account Manager)是一款基于Web的LDAP帐号管理的工具,采用PHP编写.(LAM Pro 是企业级扩展版本,功能更强大,但不是免费版)关于LAM的更多信息, ...
- 程序媛人生——专访“龙书”《编译原理》联合作者 Monica S. Lam
本文首发于 2015 年 9 月 24 日,同时刊登<程序员>2015.10.A 作者 | 唐小引 感谢和蔼可亲的 Monica 教授. Monica S. Lam 是首位在斯坦福计算机系 ...
最新文章
- 机器学习-Sklearn
- 68页PPT教你撰写一篇优秀的机器学习研究论文!
- HDU 6709“Fishing Master”(贪心+优先级队列)
- Oracle中的wmsys.wm_concat
- 神奇又好玩的谢尔宾斯基雪花!
- 服务器上文件夹没有共享,服务器没有共享文件夹
- python爬虫之BeautifulSoup4基础教程
- mysql index 信息_MySQL 索引
- 《软件质量保证与测试》学习笔记【第一章 软件测试基本概念】
- 度分秒换算题及答案C语言,度分秒的换算题(度分秒计算100题及答案)
- ASP.NET Web程序设计 第九章 初识 Web Pages
- 四川麻将java_四川麻将纯AI算法------最优拆牌
- 你和语言模型,谁的填空能力更强?
- ftl模板文件编辑器
- Unity Json 编写及读取
- 计算机自带的科学计算器代码,[置顶] 科学计算器(简化版:基于MFC对话框)
- tableau过期解决办法
- 使用Firefox+Tor+FoxyProxy+Noscript+IETab进行安全自由的网上冲浪
- 【内附独家PPT】CynosDB for MySQL 计算存储分离架构的实现和优化
- C++ Essential Training C ++基础培训 Lynda课程中文字幕