gcc_for_openeuler鲲鹏亲和优化案例.md
鲲鹏亲和优化## 使用数组加宽比较优化(array-widen-compare)步骤 1 准备用例 test.c#includestdint.h#includestdio.h#includesys/time.h#defineLEN1024000#definemy_min(x,y)((x)(y)?(x):(y))// 优化主体函数 (优化选项 -farray-widen-compare)uint32_tfunc(uint32_tlen0,uint32_tlen1,constuint32_tlen_limit,constuint8_t*constpb,constuint8_t*constcur){uint32_tlenmy_min(len0,len1);while(len!len_limit)if(pb[len]!cur[len])break;returnlen;}intmain(){uint8_tpb[LEN]{0};uint8_tcur[LEN]{0};// 前期数据准备for(inti0;iLEN-1;i){pb[i]i*23;}pb[LEN-1]5;for(inti0;iLEN-1;i){cur[i]i*23;}cur[LEN-1]6;uint32_tres0;structtimevalstart,end;longtime;gettimeofday(start,NULL);// 主要循环for(inti0;i2000;i){resfunc(0,0,LEN-1,pb,cur);}gettimeofday(end,NULL);// 计算循环执行时间time(end.tv_sec-start.tv_sec)*1000000(end.tv_usec-start.tv_usec);printf(\nRunning Time%ld us\n,time);printf(res%d\n,res);return0;}步骤 2 对test.c进行原生编译$ gcc-O3test.c-otest_before步骤 3 对test.c 进行添加选项编译$ gcc-O3-farray-widen-compare-otest_after步骤 4 执行test_before$ ./test_before Running Time:2744325usres1023999步骤 5 执行test_ after$ ./test_after Running Time:425955usres1023999步骤 6 查看优化效果从结果上看编译增加array-widen-compare选项之后运行时间缩减约80%同时最终结果保持一致表明该优化选项在此类场景下能够取得显著提升。## 使用ccmp指令流水优化步骤 1 准备用例test.cintfunc(inta,intb,intc){while(1){if(a--0||bc){return1;}}}步骤 2 对test.c原生编译为汇编代码$ gcc-O-Stest.c-obase.s步骤 3 查看汇编代码$vimbase.s核心函数部分为func: .LFB0: .cfi_startproc .L2: cmp w1, w2 cset w3, ge cmp w0, 0 cset w4, eq orr w3, w3, w4 sub w0, w0, #1 cbz w3, .L2 mov w0, 1 ret .cfi_endproc .LFE0:步骤 4 使用ccmp指令优化编译$ gcc-O-fccmp2-Stest.c-otest.s步骤 5 查看优化后的汇编代码$vimtest.s核心部分为func: .LFB0: .cfi_startproc b .L2 .L3: mov w0, w3 .L2: sub w3, w0, #1 cmp w0, 0 ccmp w1, w2, 0, ne blt .L3 mov w0, 1 ret .cfi_endproc .LFE0::经过优化之后在arm64平台上能够使能ccmp指令。SPECCPU2017子项557提升约1%。

相关新闻

第3章:数据类型、运算符与输入输出——订单字段怎么存?

第3章:数据类型、运算符与输入输出——订单字段怎么存?

1. 项目背景 业务场景 食光集市运营团队在月结对账时发现一个诡异的问题:系统显示的订单总额和第三方支付渠道(微信支付)的流水差了 3 分钱。起初以为是四舍五入策略不同,财务手动核对了 200 多笔订单后确认——问题出在食光集市…

2026/7/29 1:20:50 阅读更多 →
手机卖不动了,大疆口袋相机却卖爆了:2026年厂商为啥都盯上这个“小玩意儿“

手机卖不动了,大疆口袋相机却卖爆了:2026年厂商为啥都盯上这个“小玩意儿“

手机卖不动了,这是今年上半年整个行业最扎心的共识。IDC最新数据显示,2026年第二季度,全球智能手机出货量仅为2.775亿部,同比下滑6.7%,这已经是连续第二个季度出现下降。一季度的情况同样不容乐观——全球出货量同比下…

2026/7/29 1:20:50 阅读更多 →
活动策划PPT制作:三款主流模板平台功能对比

活动策划PPT制作:三款主流模板平台功能对比

做运营、行政、市场、新媒体的小伙伴,大概率都被活动策划PPT折磨过。每次对接品牌活动、线下沙龙、校园活动、企业团建、营销推广项目,都要从零搭框架、调版式、配配色,熬夜改稿不说,最后做出来的PPT还容易排版混乱、逻辑不清、不…

2026/7/29 1:20:50 阅读更多 →

最新新闻

从 RAG 到 Agent:我在 PaperPilot 中引入智能体的完整实践

从 RAG 到 Agent:我在 PaperPilot 中引入智能体的完整实践

一、为什么要从 RAG 升级到 Agent? PaperPilot 是一个基于 RAG(检索增强生成)架构的 AI 文献助手,核心功能是帮用户检索文献、管理引用、生成开题报告。在之前的版本中,我已经实现并优化了三种检索策略(向量…

2026/7/29 1:30:53 阅读更多 →
Unity Shader实现2D游戏天空日夜循环:从渐变到星辰的动态环境

Unity Shader实现2D游戏天空日夜循环:从渐变到星辰的动态环境

1. 项目概述:为什么要在2D游戏里做日夜循环?做2D游戏,尤其是像素风、手绘风或者横版卷轴游戏的时候,我们总想让世界“活”起来。静态的背景图看久了难免单调,而一个能随时间流逝、从晨曦微露到繁星满天的动态天空&…

2026/7/29 1:30:53 阅读更多 →
3D打印机喷头加热器故障诊断与更换实战指南

3D打印机喷头加热器故障诊断与更换实战指南

1. 项目缘起:当你的3D打印机“发烧”了最近工作室里那台老伙计——OverLord Pro 3D打印机,开始闹脾气了。打印到一半,喷头温度突然像过山车一样往下掉,从设定的210C瞬间跌到180C,紧接着挤出机就“咔咔”地空转&#xf…

2026/7/29 1:30:53 阅读更多 →
展厅讲解最怕冷场:我用魔珐星云把 Agent 做成能接待的可实时交互的“人”

展厅讲解最怕冷场:我用魔珐星云把 Agent 做成能接待的可实时交互的“人”

文章目录一、展厅里的 Agent,不能只会生成讲解稿1.1 参观者站在屏幕前,需要的是一场对话二、从能力拼接到体验断层:传统数字人方案的系统性瓶颈2.1 LLM、TTS 与渲染链路之间的协同断点2.2 从预制播报到实时交互的能力分界2.3 参数流与端侧技术…

2026/7/29 1:30:53 阅读更多 →
告别云游戏订阅费!用Sunshine搭建家庭专属游戏串流服务器

告别云游戏订阅费!用Sunshine搭建家庭专属游戏串流服务器

告别云游戏订阅费!用Sunshine搭建家庭专属游戏串流服务器 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine 你是否厌倦了每月支付高昂的云游戏订阅费,却还要忍…

2026/7/29 1:30:53 阅读更多 →
2026年Turnitin AI检测达标指南:Turnitin AI率超标4.8元完整处理方案

2026年Turnitin AI检测达标指南:Turnitin AI率超标4.8元完整处理方案

2026年Turnitin AI检测达标指南:Turnitin AI率超标4.8元完整处理方案 用嘎嘎降AI(www.aigcleaner.com)处理过Turnitin AI检测达标,4.8元,一次达标。完整方案和注意事项都在下面。 平台特点分析 不同AIGC检测平台&…

2026/7/29 1:29:53 阅读更多 →

日新闻

【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

一、本文介绍 🔥本文在RT-DETR多模态融合目标检测中引入RLAB残差线性注意力模块,可在不同模态特征交互阶段进行多次残差细化,使可见光、红外等特征在尺度、语义和空间位置上更好对齐;随后将细化特征与解码器输出拼接并生成Q、K、V,通过线性注意力自适应强化关键通道、目…

2026/7/29 0:00:23 阅读更多 →
AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础

AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础

AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础 在上一期「AI编程系列」中,我们学习了如何构建一个基础的 AI 问答系统,通过简单的输入输出让模型回应问题。但现实世界中的 AI 应用往往需要处理更复杂的场景:…

2026/7/29 0:00:23 阅读更多 →
AI智能体开发实战:从工具调用到企业级部署

AI智能体开发实战:从工具调用到企业级部署

1. 从被动问答到主动执行:AI Agent的范式转变过去两年,大语言模型最显著的应用形态是聊天机器人——用户提问,AI回答。但真正的生产力革命发生在2023年下半年:当AI学会主动调用工具完成任务时,生产力工具的历史被彻底改…

2026/7/29 0:00:23 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/28 12:04:22 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/28 8:29:16 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/28 5:03:42 阅读更多 →

月新闻