单链表的定义单链表的定义1.单链表的定义1234typedef struct LNode{ //定义单链表结点类型 ElemType data; //每个结点存放一个数据元素 struct LNode *next; //指针指向下一个节点}LNode,*LinkList; 123456typedef struct LNode{ 2022-03-28 Algorithm Data Structure
优先队列优先队列定义:定义:priority_queue<Type, Container, Functional> Type 就是数据类型,Container 就是容器类型(Container必须是用数组实现的容器,比如vector,deque等等,但不能用 list。STL里面默认用的是vector),Functional 就是比较的方式。 当需要用自定义的数据类型时才需要传入这三个参数,使 2022-03-11 Algorithm Data Structure
perf-系统级性能分析工具系统级性能优化通常包括两个阶段:性能剖析(performance profiling)和代码优化。 性能剖析的目标是寻找性能瓶颈,查找引发性能问题的原因及热点代码。 代码优化的目标是针对具体性能问题而优化代码或编译选项,以改善软件性能。 在性能剖析阶段,需要借助于现有的profiling工具,如perf等。在代码优化阶段往往需要借助开发者的经验,编写简洁高效的代码,甚至在汇编级别合理使用各种指令, 2022-01-19 HPC 性能分析工具
gcov代码覆盖率测试gcov代码覆盖率测试gcov的简单介绍1.gcov是一个测试代码覆盖率的工具。与GCC一起使用来分析程序,以帮助创建更高效、更快的运行代码,并发现程序的未测试部分2.是一个命令行方式的控制台程序。需要结合lcov,gcovr等前端图形工具才能实现统计数据图形化3.伴随GCC发布,不需要单独下载gcov工具。配合GCC共同实现对c/c++文件的语句覆盖和分支覆盖测试4.与程序概要分析工具 2022-01-18 HPC 性能分析工具
AVX向量化学习(五)-INT型数组相加操作AVX向量化学习(五)-INT型数组相加操作使用AVX指令集进行2个INT型的数组相加操作 使用到的AVX函数介绍1.1__m256i _mm256_loadu_si256 (__m256i const * mem_addr) Synopsis m256i _mm256_loadu_si256 (m256i const * mem_addr)#include <immintrin.h> 2022-01-17 HPC AVX
AVX向量化学习(四)-INT类型转化成DOUBLE类型AVX向量化学习(四)-INT类型转化成DOUBLE类型使用AVX指令集把INT类型转化为DOUBLE类型 使用到的AVX函数介绍1.1__m128i _mm_setr_epi32 (int e3, int e2, int e1, int e0) Synopsis __m128i _mm_setr_epi32 (int e3, int e2, int e1, int e0)#include &l 2022-01-17 HPC AVX
gprof、gprof2dot.py、dot使用方法简介gprof、gprof2dot.py、dot使用方法简介(1):gprof使用步骤如下,以SLIC为例:1 在编译过程中添加-pg选项,命令如下:1gcc -pg SLIC.cpp -o SLIC 2 运行程序,运行结束之后会形成文件gmon.out,命令如下:1./SLIC 3 使用gprof再次执行程序,并将结果重定位到prof.log中,命令如下:1gprof ./SLIC > p 2022-01-09 HPC 性能分析工具
并查集并查集并查集(Disjoint Set)是一种非常精巧而实用的数据结构。用于处理不相交集合的合并问题。 并查集用来管理元素分组情况。并查集可以高效地进行如下操作。 1.查询元素 a和元素 b是否属于同一组。2.合并元素 a和元素 b所在的组。 1.初始化我们准备 n个节点来表示 n个元素。最开始时没有边。 2.查询为了查询两个节点是否属于同一组,我们需要沿着树向上走,来查询包含这个元素的树的根 2022-01-04 Algorithm Data Structure
最短路径-Floyed和Dijkstra最短路径-Floyed和DijkstraFloyed样题一:P1364 医院设置题目描述:设有一棵二叉树,如图: 其中,圈中的数字表示结点中居民的人口。圈边上数字表示结点编号,现在要求在某个结点上建立一个医院,使所有居民所走的路程之和为最小,同时约定,相邻接点之间的距离为 11。如上图中,若医院建在1 处,则距离和 =4+12+2\times20+2\times40=136& 2022-01-03 Algorithm Data Structure
MPI学习(五)-环形拓扑上利用MPI进行通信MPI学习(五)-环形拓扑上利用MPI进行通信这里,我们演示了一个简单的MPI程序,它使用阻塞通信原语send和receive来进行广播操作: 程序运行平台北京超级云计算中心A3分区 环境变量mpi/intel/2017.5 编译指令mpic++ mpi005.cpp -o mpi005 运行指令srun -p amd_256 -N 1 -n 4 ./mpi00 2022-01-01 HPC MPI