高性能计算学习笔记(一)

Linux基本编译运行操作

1.在Linux操作系统上进行编程

在Linux系统,我们使用bash对Linux输入shell操作指令,常用的操作指令有:

常用操作指令指令作用
mkdir 新建目录在当前目录下创建新目录
whoami查看谁在使用计算机
hostname查看登录的服务器名称
lscpu查看机器cpu信息
lspci查看机器硬件配置信息
pwd查看当前目录
touch 文件名创建空文件
rm [-rf] 文件名或目录名删除目录或文件
cd 目录目录切换
ls查看当前目录文件
ls -l查看当前目录文件以及文件权限(r代表读权限,w代表写权限,x代表执行权限)
ls -la查看当前目录文件以及隐藏项
find 目录名 -name[文件名]查找目录下的某一文件文件
grep 字符串 -r[目录]查看某个目录下的所有文件是否包含某个字符串
top查看任务和进程

2.在Linux操作系统下进行程序开发

程序开发一般包含明确任务需求或目标、算法设计、编码(编写源文件)、编译(由编译器完成)以及调试这五个步骤。
在Linux环境下,建议使用Linux生态的编辑器vim进行程序开发。
使用这个指令可以打开当前目录下的文件,如果该文件不存在,那么则会创建一个新的文件来打开。

vim filename

编程从“Hello World”开始!

#include <stdio.h>
int main(){
	printf("Hello World!\n");
	return 0;
}

使用gcc编译器对源代码进行编译

gcc -c main.c -o HelloWorld 

执行编译后的目标文件

./HelloWorld

输出

Hello World!

在Linux系统中,还可以使用gmake工具来帮助程序员完成编译工作
gmake工具基本编译流程

创建Makefile文件

#This is an makefile example#
BIN=HelloWorld
SRC=mian.c

ALL:$(SRC) Makefile
	gcc -c $(SRC) -o $(BIN)
.PHONY:clean
clean:
	rm -rf $(BIN)

执行Makefile文件

make [-f] makefile文件名 //make指令默认执行Makefile文件

3.在Linux环境动态分析程序性能

程序性能分析分为静态分析和动态分析两种情况,本文就动态分析进行简单介绍。

gprof工具分析程序性能

添加选项 -pg编译程序

gcc -pg main.c -o HelloWorld

编译完成后,执行程序。程序执行完成后,会在程序所在目录生成一个gmon.out文件,此时可以根据该文件生成一份测试报告

gprof HelloWorld gmon.out>output.txt

利用vim工具查看output.txt文本信息,获取程序运行详细信息
在这里插入图片描述
还可以利用gprof2dot工具生成程序调用关系图

gprof2dot.py output.txt | dot -Tpng -o output.png

在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值