高性能计算学习笔记-优化(2)

news/2024/10/13 17:59:20

一、Loop循环优化有以下几种

  1. 循环合并:两个循环合并到一个循环中
  2. 循环展开:循环内的并行技术
  3. 循环交换:改变多维数组的空间访问顺序,改善空间局部性,提高cache命中率
  4. 循环分布:将一个循环拆分为多个循环,使编译器可以进行向量化优化
  5. 循环不变:循环中不发生变化的量提到循环外面,避免重复计算
  6. 循环分块:对一个数据对象控制分块,只加载一次数据到cache中,使用完毕不再加载。常用到gemm 稠密矩阵乘法
  7. 循环分裂:将一个循环分段循环,拆分出可以向量化优化的循环。

关于loop优化测试时钟周期对比的测试用例见:
https://github.com/libo-0379/Loop-opt
测试结果:

二:向量化优化
是一种将标量计算转换为向量计算的优化方法,芯片指令集需要支持SIMD(单指令多数据)技术,计算单元具有向量计算功能,实现一次计算多个标量数据。Intel的 MMX、SSE、AVX指令集,ARM的NEON 指令支持向量化计算。

三:SLP向量化优化:将循环内同一迭代内的多个计算操作合并为一个向量计算。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/71142.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

2024-2025 20241308《计算机基础与程序设计》第三周学习总结

这个作业属于哪个课程 2024-2025-1-计算机基础与程序设计) 这个作业要求在哪里 https://www.cnblogs.com/rocedu/p/9577842.html#WEEK03(https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP/homework/13276)) 这个作业的目标 1、数字分类与计数法位置计数法,2、…

高级程序语言设计第三次个人作业

班级网址:https://edu.cnblogs.com/campus/fzu/2024C 作业网址:https://edu.cnblogs.com/campus/fzu/2024C/homework/13284 姓名:范自亮 学号:102400213 4.8编程练习 2. 问题:不知道如何设置比姓名宽度宽3的字段解决方案:询问同学3. 问题:忘记保留小数位数和分行使得输出…

qq9分析

确保手机和电脑连接到同一个网络下 通过编辑->分组搜索->分组字节流->字符串->qq号,得到qq的流量包(因为qq不会加密账号) 可以看到使用transmission control protocol(tcp协议)发的图片(得用箭头指的按钮发,不然一会ffd8是搜不到的,虽然页面展示的第一张图…

[ZJCTF 2019]NiZhuanSiWei

启动靶机,查看源代码查询file_get_contents()函数 这里传入的text必须是个文件且文件内容为welcome to the zjctf这里我们使用data伪协议将内容写入 ?text=data://text/plain,welcome to the zjctf 往下看有个正则表达式过滤flag,继续往下很明显是php的反序列化利用,却没有…

2024 年 04 月编程语言排行榜,PHP 排名创新低?

​编程语言的流行度总是变化莫测,每个月的排行榜都揭示着新的趋势。2024年4月的编程语言排行榜揭示了一个引人关注的现象:PHP的排名再次下滑,创下了历史新低。这种变化对于PHP开发者和整个技术社区来说,意味着什么呢? PHP一度是Web开发的王者,但如今为何地位岌岌可危?其…

RMI分布式通信及其应用

分布式系统实验一 RMI分布式通信及其应用 实验名称:RMI分布式通信及其应用 实验要求:利用RMI通讯机制,完成一个分布式通讯应用。 实验学时:2学时。 实验内容: 设计一个基于Java RMI通讯机制的在线拍卖系统。系统客户端(买家)通过服务器(拍卖中心)出价竞拍商品,实现客…

windows下安装部署 hadoop

一、安装下载 1.首先在hadoop官网下载一个稳定版本,选择binary包 官网地址:https://hadoop.apache.org/releases.html 下载下来是tar.gz文件,用winrar解压即可。 2.因为这个压缩包是for linux系统的,win下还需要安装几个dll winutils, 下载地址:https://www.jianguoyun.c…

软件工程实验:结对编程与Git实战

Lab 1实验报告 实验要求 1 .读入文本并生成有向图: 将文本数据转换为有向图结构,各单词作为节点,有向边表示单词在文本中的相邻关系及其出现次数。 2. 展示有向图: 图形化展示生成的有向图,并可保存为图形文件。 3. 查询桥接词: 查询两个单词之间的桥接词,即图中存在两条…