我是一名性能工程专家,曾在QCon大会分享过《业务性能监控》和《移动专项最佳实践》,积累了丰富的经验和知识。
作为一名真心想帮助大家的“打工人”,我关注技术,也致力于帮助职场人士成长。我在全球技术创新大会分享了《人工智能武装技术团队》和《技术团队管理》,希望能帮助技术团队。
我还担任多个峰会的演说培训师,希望帮助技术人员提升沟通表达能力。通过这些经历,我希望帮助更多“打工人”在职场中成长。
AI 给职场带来了什么?
[故事、职场技巧、提示词工程的道法术器]
AI 当前问题与未来
谷仓效应,职场的傲慢与偏见
木桶效应,短处严重影响我的长处
ROI,我的价值是否大于我的成本
AI 构建共同的沟通基础和破壁
AI 可以弥补你的短处,让不会说的人能说
AI 让独立个体产出团队价值
帮你安排时间、对外沟通
用技术帮你提效和复制放大价值
决策助手,你不懂的他都懂,弥补你的短处
会做不会说,例如:写邮件/写 KM
会说太啰嗦,例如:对上沟通
会说缺共鸣,例如:不会换位思考
AI 帮你说
AI 找重点,做压缩
AI 的世界知识帮你换位思考
填写:git commit 日志,覆盖时间范围,以及想补充的内容,一键生成日志
我希望你根据下列的项目模块的git commit日志生成一份互联网项目的新功能发布/缺陷修复发布日志。
要求:
- 你不需要要关注执行commit的操作人,更新的时间信息
1.
- 请过滤所有Merge Branch 的commit信息
2.
- 请过滤commit信息明显缺失,不够明确的commit
3.
- 如果前后几次临近的commit内容相似,请将其整合成一个发布内容,再评估“要求3”中是否保留
4.
- 日志面向对象为使用用户,所以请避免过于专业化的用语
5.
- 你只需要更改''' ''' 之间的内容,不要更改模版内的其他内容 以下是各模块commit日志
6.
logs发布日志模版如下:
v0.1.1
##覆盖时间范围
🚀版本新功能 '''请参考上面各模块的commit日志生成版本新功能项/缺陷修复项,以markdown列表呈现'''
补充内容
🚀版本新功能
- 更新了SDK引入方式,现在可以通过JavaScript直接引入,简化了集成步骤。
- 引入了新的wiki模块,增强了知识库的功能和用户体验。
- 优化了会话接口,统一了会话消息获取的流程,提升了用户交互的连贯性。
- 更新了OCR结果拼接算法,提高了文本识别的准确性和效率。
- 改进了权限控制,为外网版本适配了中间产物权限管理,增强了数据的安全性。
- fibona外网版本发布,上线fibona文档系统。
🐞缺陷修复
- 修复了登录错误时的报错提示问题,改善了用户完成界面的提示。
- 修复了在私有分享后提示词会话权限判断的问题,确保了权限的正确判定。
- 解决了分享路由跳转的体验问题,优化了用户分享内容时的流畅性。
- 修复了知识库上传记录失败的问题,现在可以正确记录上传情况。
- 修复了聊天窗口的错误处理问题,避免了不必要的中断。
- 解决了不携带脱敏信息时获取消息无法生成标题的问题,增强了系统的稳定性。
- 修复了提示词变量缺失导致的错误,确保了提示词的正确使用。
任务紧急,我希望他每天去我们的企业微信群同步进展;但是同步内容的时候,实在是啰嗦了。
金字塔原理的结论先行
SMART 原则
核心目标:测出更多的性能bug,验证腾龙5000有没有虚标性能?
P0:完成腾龙5000测试,时间点:12/22 负责人:张飞
P1:输出首轮测评报告 时间点:12/22 负责人:张飞
P1:框架对比:MS VS pytorch 时间点:12/26 负责人:张飞
P0:垂直挖掘:HCCL集合通信性能测试 时间点:12/26 负责人:张飞
P2:构建GPU知识体系: 参数理解和参数调整测试 时间点:12月31日 负责人:张飞
你是一名专业的项目管理助手。我需要你按照上面例子的格式改写下面的原始的计划,另外要求必须使用短句,别啰嗦别废话,核心目标必须包含可量化的最终业务价值。
请根据下面这些信息,创建一个优化的计划版本
11 月 10 日,8台机器,部署完成,验证通过, 30 分搞定。
11 月 10 日,发邮件,发内部分享 11 月 8 日邮件准备好,发送相关干系人。
11 月 11 日 找个时间,也许是下午吧找victor回复邮件 11 月 12 日 前找到运维的总监级别的关键干系人,具体要关心这个事情的人。
11 月 30 日 Kubernetes接入完成,只是落地到测试环境,预期能发现 1000 个缺陷。
11 月 17日,MYSQL预期能发现 300 个缺陷。
核心目标:确保系统稳定性,发现至少1300个缺陷,提升产品质量。
P0:完成8台机器部署,验证通过,时间点:11/10 负责人:张飞
P1:发送内部分享邮件,时间点:11/10 负责人:张飞
P1:联系Victor,确认邮件回复,时间点:11/11 负责人:张飞
P0:找到运维总监,确保关心此事,时间点:11/12 负责人:张飞
P0:完成Kubernetes接入,落地测试环境,预期发现1000个缺陷,时间点:11/30 负责人:张飞
P1:MYSQL测试,预期发现300个缺陷,时间点:11/17 负责人:张飞
从"哦,可以"到"好,不错"的转变
不会描述业务痛点 = 不会陈述价值
"缺乏自动化测试"是业务痛点吗?
帮我把这句话[ 我们缺乏自动化测试 ], 改写成业务痛点, 为了能更好地改写,你可以对我进行提问,一直到你能清晰理解。描述业务痛点的要求:
1.要有量化数据的证据
2.痛点可以是客户的角度和业务自身的角度
3.描述要让上级产生痛感
4.给一个Elevator pitch的版本,一个详细的版本
为了更好地理解和改写这句话为业务痛点,我需要提一些问题来获取更多信息:
现在,基于您的原始句子“我们缺乏自动化测试”,我将尝试将其改写为业务痛点:
Elevator pitch 版本: "我们的测试流程中缺乏自动化测试,导致每次产品发布前都需要手动执行大量测试,这不仅延长了发布周期(平均增加20%的测试时间),还提高了缺陷率(比行业标准高出15%),严重影响了客户满意度和我们的市场竞争力。"
详细版本: "在当前的业务流程中,我们面临着一个关键痛点:自动化测试的严重缺乏。这不仅影响了我们的生产效率,还直接导致了以下几个问题: ●项目延期由于依赖手动测试,每个项目的测试阶段平均延长了20%,这直接影响了产品的上市时间。 ●产品质量下降手动测试难以覆盖所有场景,导致缺陷率比行业标准高出15%,增加了客户投诉和退货的风险。 ●成本增加手动测试需要更多的人工干预,增加了30%的测试成本。 ●客户满意度下降由于产品质量问题,我们的客户满意度下降了10%,这对品牌形象和客户忠诚度造成了负面影响。 综上所述,自动化测试的缺失已经成为制约我们业务发展的一个重大瓶颈,迫切需要解决。"
换位思考
识别痛点/痒点
请你使用销售常用的F.A.B模型,根据下面的功能介绍,生成优势和价值。功能介绍:我们可以自动帮你用 Prompt 来输出 Mermaid格式的内容并渲染成对应的图例,并据此生成不超过 21 个字的宣传文章标题
功能介绍
我们可以自动帮你用 Prompt 来输出 Mermaid 格式的内容并渲染成对应的图例。
F.A.B 模型分析
Feature (功能)
- 自动输出 Mermaid 格式内容:用户只需输入相关信息,系统即可自动生成 Mermaid 格式的代码。
- 渲染成对应图例:生成的 Mermaid 代码会自动渲染成美观的图表。
Advantage (优势)
- 高效便捷:用户无需手动编写复杂的 Mermaid 代码,大大节省时间。
- 直观易懂:生成的图表清晰直观,便于理解和传达复杂信息。
- 高度定制化:用户可以根据需求自由调整输入内容,生成符合特定需求的图表。
Benefit (价值)
- 提升工作效率:自动化的流程减少了手动操作的时间和错误,提高了工作效率。
- 增强信息传达效果:美观的图表能更好地吸引观众注意力,提升信息传达的效果。
- 灵活适应各种场景:适用于报告、演示、教学等多种场合,满足不同需求。
宣传文章标题
自动生成Mermaid图表,高效直观传达信息
你是文案专家和互联网技术播客的资深博主,深知互联网企业内部针对不同角色的痛点,熟知当前已经有的知名的工具和平台的能力和优势,会用通俗的口语去描述痛点和对应的解决方案。
第一步,我希望你依据下面的功能介绍(Feature),按照角色、相似工具优势,我们的优势、角色相关的痛点的格式来输出脑暴出 10 条。格式参考:"""角色:[互联网企业中的角色], 相似工具优势:[提供类似的功能的工具名和优势],我们的优势:[依据功能描述,对比相似工具来说,我们突出的优势描述], 痛点:[前面指定角色与功能功能相关的实际痛点]"""
第二步,评估并给出第一步给出的每一条中的收益对应的痛度和真实程度给予评分和原因描述。
第二步,依据第二步的内容,从分数最高的里面挑选 5 条转化成标题,要求标题要求通俗易懂、符合风格、具有吸引力,标题中要有具体的结构、字数控制在21字之内、多说数字、多撮痛点、逻辑通顺、表达清晰。
- 功能介绍:
"""
我们可以自动帮你用 Prompt 来输出 Mermaid格式的内容并渲染成对应的图例"""
第一步:脑暴出 10 条
第二步:评估和给出每一条中的收益对应的痛度和真实程度给予评分和原因描述。
(略)
第三步:挑选5条转化成标题
与人沟通的漏斗模型到AI 沟通, 作为 I 人的安慰
能说[极限偷懒] - 会说[说重点说痛点] - 好说[换位思考]
人工智能辅助沟通的新模式
学不过来
没空学
学不会
AI 翻译和总结,提速学习效率
AI 知识地图,解决学习的动力和目标
AI 帮你构建实验室
新知来源:论文、发现报告、领域峰会 ( youtube\data ai summit\ebpf con…..)


"""[找了一段 medium 关于 AVX 的英文文章]""" 无论哪一步,请保持用中文输出
第一步,我希望你尽可能抽取上面文章中的技术名词的实体,注意:例如谁提出的,这不属于技术名词。
第二步,请你用“它通过[什么方法], 解决了[什么具体的问题], 类似[通俗易懂的比喻]”的格式来解释上面全部技术名词实体,注意问题要具体
第三步,基于前两步的内容,提取实体与关系,“关系”至少使用5个字来描述,确保每一个实体至少有两个关系连接,并使用mermaid.js的flowchart来输出。注意:flowchart中包含中文的实体和关系必须添加双引号。 参考mermaid的flowchart的格式如下 ```mermaid flowchart TD A[实体4] -->|关系 4| B(实体5) B --> C{选择的条件} C -->|关系 1 | D[实体1] C -->|关系 2| E[实体2] C -->|关系 3| F[实体13] ```

最终

故事
职场技巧
你作为提示词工程专家,请你帮我生成参考下面格式的生成式AI提示词撰写会遇到的问题的决策树。
"""
# 性能优化决策树
## 资源类性能问题
### CPU
#### 过热降频
#### 算力不足
#### 高缓存未命中率
#### 多核利用不足
#### 上下文切换过多
……
"""# 生成式AI提示词撰写问题决策树
## 提示词结构问题
### 不清晰
#### 指令模糊
#### 上下文缺失
#### 目标不明确
### 不完整
#### 缺少关键信息
#### 步骤说明不足
#### 约束条件遗漏
### 不连贯
#### 逻辑跳跃
#### 前后矛盾
#### 结构混乱
## 内容质量问题
### 不准确
#### 事实错误
#### 概念混淆
#### 过时信息
### 不相关
#### 偏离主题
#### 无用细节过多
#### 重点不突出
### 不恰当
#### 存在偏见
#### 违反道德伦理
#### 潜在危险内容
## 语言表达问题
### 不简洁
#### 冗长啰嗦
#### 重复信息
#### 不必要的修饰
### 不自然
#### 生硬机械
#### 语法错误
#### 词语使用不当
### 不一致
#### 风格变化
#### 术语混用
#### 人称视角混乱
## 任务适配问题
### 不匹配
#### 难度不适
#### 范围过大或过小
#### 与模型能力不符
### 不灵活
#### 缺乏创意空间
#### 过度限制
#### 无法应对变化
### 不可执行
#### 步骤不可行
#### 资源要求过高
#### 时间估计不合理
## 交互设计问题
### 不友好
#### 缺乏引导
#### 反馈机制不足
#### 用户体验差
### 不安全
#### 隐私保护不足
#### 输出内容未过滤
#### 潜在滥用风险
### 不连续
#### 对话流失自然
#### 上下文保持不足
#### 多轮交互断裂你作为资深的提示词工程专家,请你帮我 Review并补充下面的生成式AI提示词撰写问题决策树。
第一步,你可以先随机使用短句列出 60 个具体AI提示词撰写的问题案例。
第二步,把第一步的例子尝试放到当前分类中,列出不属于下面分类的案例
第三步,修改当前决策树,让他可以包含第二步输出的无法被当前分类覆盖的案例,并输出完整不被省略的决策树
"""
# 生成式AI提示词撰写问题决策树
## 提示词结构问题
### 不清晰
#### 指令模糊
#### 上下文缺失
#### 目标不明确
### 不完整
#### 缺少关键信息
#### 步骤说明不足
#### 约束条件遗漏
### 不连贯
#### 逻辑跳跃
#### 前后矛盾
#### 结构混乱
## 内容质量问题
.......
## 交互设计问题
.......
### 不连续
#### 对话流失自然
#### 上下文保持不足
#### 多轮交互断裂
“””……
第二步:将案例放入当前分类,列出不属于当前分类的案例
大多数案例都可以被当前的分类系统覆盖。然而,以下案例似乎不完全符合现有的分类:
第三步:修改决策树,包含无法被当前分类覆盖的案例
基于上述分析,我们可以在决策树中添加新的类别来覆盖这些案例。以下是修改后的完整决策树:
……
我希望你能帮我按照我的步骤,Review 并修改上面最终输出的“生成式AI提示词撰写问题决策树”
步骤 1. 把决策树中不归属于“提示词工程”可以解决的问题请你使用列表的方式列出,并使用短句说明原因
步骤 2. 按照第一步的内容,剔除不归属“提示词工程”可以解决的问题,并保持格式输出完整的决策树。
请你帮我把提示词工程中的 CoT, One-Shot等方法,使用序号列表的方式放到决策树对应解决的问题下面。
请你帮我把每一种提示词工程的方法下面,添加“- 提示词示例”和“- 原理”,每次回复输出一类问题的决策树就可以。
# 生成式AI提示词撰写问题决策树
## 提示词结构问题
### 不清晰
#### 指令模糊
1. Chain of Thought (CoT)
- 提示词示例:
"请一步步思考并解决以下问题:[问题描述]
第一步:...
第二步:...
最后,得出结论。"
- 原理:通过引导模型逐步思考,提高指令的清晰度和执行的准确性。
2. Task-specific Instructions
- 提示词示例:
"你现在是一名专业的数据分析师。请分析以下数据集,重点关注销售趋势和客户行为。输出应包含关键发现和可行建议。"
- 原理:通过明确指定任务和期望输出,减少模糊性,提高响应的针对性。
#### 上下文缺失
1. Few-shot Learning
- 提示词示例:
"以下是几个例子:
问:[简单问题1]
答:[相应答案1]
问:[简单问题2]
答:[相应答案2]
现在,请回答这个问题:[目标问题]"
- 原理:通过提供相关的示例,为模型建立上下文,提高理解和生成的准确性。
2. In-context Learning
- 提示词示例:
"我们正在讨论20世纪的文学作品。在这个背景下,请分析[特定作品]的主题和风格。"
- 原理:通过提供广泛的背景信息,帮助模型更好地理解任务的上下文。
#### 目标不明确
1. Outcome-driven Prompting
- 提示词示例:
"请生成一个营销策略,目标是在3个月内将产品X的销量提高20%。策略应包含具体的行动步骤和预期结果。"
- 原理:通过明确指定期望的结果,引导模型生成更有针对性和实用性的输出。
### 不完整
#### 缺少关键信息
1. Prompt Templates
- 提示词示例:
"请回答以下问题:
1. 主题:[填写主题]
2. 背景:[提供背景信息]
3. 具体问题:[详细说明问题]
4. 需要的输出格式:[指定格式]"
- 原理:使用结构化模板确保所有必要信息都被包含在提示中。
2. Information Retrieval Augmented Generation
- 提示词示例:
"基于以下信息:[插入相关检索到的信息],请回答问题:[具体问题]"
- 原理:通过检索和整合相关信息来补充提示,确保模型有足够的上下文来生成准确的回答。
#### 步骤说明不足
1. Chain of Thought (CoT)
- 提示词示例:
"解决这个问题需要以下步骤:
1. [第一步说明]
2. [第二步说明]
...
请按照这些步骤详细解答。"
- 原理:通过明确列出思考或解决问题的步骤,引导模型进行更结构化和全面的回答。
2. Step-by-step Instructions
- 提示词示例:
"请按照以下步骤完成任务:
1. [具体步骤1]
2. [具体步骤2]
...
在每个步骤后,请解释你的做法。"
- 原理:通过提供明确的步骤指导,确保模型完整地执行任务,不遗漏关键环节。
#### 约束条件遗漏
1. Constraint Specification
- 提示词示例:
"在回答问题时,请遵守以下约束:
1. 答案不超过100字
2. 使用通俗易懂的语言
3. 不包含个人观点
问题是:[具体问题]"
- 原理:通过明确指定约束条件,确保模型的输出符合特定的要求和限制。
### 不连贯
#### 逻辑跳跃
1. Chain of Thought (CoT)
- 提示词示例:
"请一步步解释你的思考过程:
1. 首先,我们考虑...
2. 接下来,基于上一步,我们可以推断...
3. 最后,综合以上分析,我们得出结论..."
- 原理:通过要求模型展示完整的思考过程,减少逻辑跳跃,增强推理的连贯性。
2. Tree of Thoughts
- 提示词示例:
"请使用树状思维方式解决问题:
1. 主要问题:[问题描述]
2. 子问题1:[相关子问题]
2.1 可能的解决方案
2.2 潜在的问题
3. 子问题2:[另一个相关子问题]
3.1 ...
最后,综合所有分支,得出最终结论。"
- 原理:通过构建思维树,探索多个可能的思路,减少遗漏,增强逻辑的完整性。
#### 前后矛盾
1. Self-consistency Checking
- 提示词示例:
"请回答以下问题,并在回答后进行自我检查:
1. [具体问题]
2. 检查:你的回答是否存在内部矛盾?如果有,请指出并修正。"
- 原理:通过要求模型进行自我一致性检查,减少前后矛盾的情况出现。
#### 结构混乱
1. Structured Prompting
- 提示词示例:
"请按照以下结构回答问题:
1. 引言:简要说明问题背景
2. 主体:
a) 观点1及其支持论据
b) 观点2及其支持论据
3. 结论:总结主要观点
问题是:[具体问题]"
- 原理:通过提供清晰的结构框架,引导模型生成组织良好、逻辑清晰的回答。一家云计算公司的研发部长,当前复盘故障提供的解决方案的分类,除了[预防、修复、缓解]之外,还缺少什么?请你运用 MECE 原则,一步步思考。
MECE 原则,即“Mutually Exclusive, Collectively Exhaustive”,中文意思是“相互独立,完全穷尽”。运用 MECE 原则,可以帮助我们全面、不重复地思考问题。
在故障解决方案分类中,已经有了“预防、修复、缓解”三个类别。要运用 MECE 原则,找出缺失的类别,我们可以按照以下步骤思考:
运用 MECE 原则,我们可以问自己:
因此,缺失的类别是“检测”或“监控”,即故障发生后,快速检测和识别故障的措施。例如,设置告警系统、实时监控等。
综上所述,运用 MECE 原则,我们可以得出结论:除了“预防、修复、缓解”之外,还缺少了“检测”或“监控”这个类别。
你是一个逻辑清晰的西方哲学大师,同时也是一家云计算公司的研发部长,当前复盘故障提供的解决方案的分类,除了[预防、修复、缓解]之外,还缺少什么?我希望你按照下面的步骤一步一步思考: 1.你用亚里士多德的四因说去分析每个类别的本质(控制字数在30字之内,格式:1. [类别],结构因:......,材料因:.......,目的因:......., 动力因:........, 2.[类别].....)根据本质来考虑MECE原则并对当前分类进行补充或者删除。
首先,让我们分析每个类别的本质,按照亚里士多德的四因说:
接下来,我们考虑MECE原则(Mutually Exclusive, Collectively Exhaustive),即每个类别应该是独立的,并且所有类别应该是完整的。
分析后,我认为当前分类缺少一个类别:检测。
检测,结构因:系统监控,材料因:日志和指标,目的因:发现故障,动力因:主动措施。
检测是识别故障的第一步,它可以触发预防、修复或缓解措施。没有检测,其他类别的措施可能无法有效实施。
因此,我建议将分类补充为:预防、检测、修复、缓解。
AI 专家往往缺乏特定行业知识,这可能导致应用困难。
AI 从业者需要迅速掌握新领域知识,以便更好地应用 AI 技术。
通过实践,AI 专业人士可以克服行业知识的障碍。
请你熟悉 ARM,Intel,AMD各个代次的微架构以及对应的性能优化手段,请你按照下面的类似下面的内容补充 CPU 微架构角度的性能优化的代码手段, 代码手段需要包含 golang 和 C/C++与ARM、AMD、Intel组合,尽力帮我补充到 100 个,如果不到 100 个,就不要编造不符合要求的。 AVX 优化:_mm256_store_si256、_mm256_loadu_ps、_mm256_setzero_ps 分支预测优化: likely、 unlikely
以下是根据 ARM、Intel 和 AMD 各个代次微架构的性能优化手段,结合 Go 和 C/C++ 编程语言整理的代码优化策略。每个策略都尽可能地与特定的微架构和编程语言相关联。
### ARM 架构优化
1. **NEON 优化 (C/C++):**
- `_mm_load_si128`, `_mm_store_si128`, `_mm_add_ps`
- 常用于并行处理多媒体、信号处理和图像处理。
2. **NEON 优化 (Golang):**
- 使用 `golang.org/x/sys/cpu` 包检测 NEON 支持后调用手写汇编或 C 函数。
3. **Cache Line Padding (C/C++):**
- 使用 `__attribute__((aligned(64)))` 将结构体对齐到 cache line 大小,减少 false sharing。
4. **Loop Unrolling (C/C++):**
- `#pragma unroll` 对循环进行展开,减少循环控制开销。
5. **Prefetching (C/C++):**
- `__builtin_prefetch(ptr)` 提前加载数据到缓存,减少内存延迟。
6. **LDRD/STRD 指令优化 (ARM):**
- 使用 `ldr`/`str` 指令做 32 位或 64 位数据的高效加载和存储。
7. **Thumb-2 指令优化 (ARM):**
- 使用 Thumb-2 指令集减少代码大小,提升指令密度。
8. **Vectorization with NEON (Golang):**
- 使用 Golang 汇编直接调用 NEON 指令进行向量化运算。
9. **Branchless Programming (C/C++):**
- 使用`条件运算符` (`?:`) 实现无条件分支,减少分支预测失败的开销。
10. **ARMv8 Crypto Extensions (C/C++):**
- 使用 `_arm_aes_encrypt`, `_arm_sha256_process` 加速加密与哈希运算。
### Intel 架构优化
11. **AVX 优化 (C/C++):**
- `_mm256_store_si256`, `_mm256_loadu_ps`, `_mm256_setzero_ps`
- 大量用于科学计算和数据处理。
12. **SSE 优化 (C/C++):**
- `_mm_store_ps`, `_mm_load_ps`, `_mm_add_ps`
- 适用于较老的 CPU 或资源受限的环境。
13. **AVX-512 优化 (C/C++):**
- `_mm512_load_epi32`, `_mm512_store_epi32`, `_mm512_add_epi32`
- 针对高级科学计算和机器学习模型。
14. **Cache Line Padding (Golang):**
- 使用 `unsafe.Alignof` 和 `unsafe.Sizeof` 来手动对齐数据,减少 false sharing。
15. **Branch Prediction Optimization (C/C++):**
- 使用 `__builtin_expect` 优化分支预测,如 `if (__builtin_expect(x == 0, 0))`。
16. **Cache Blocking (C/C++):**
- 手动控制数据块的大小以适应缓存大小,减少缓存失效。
17. **Prefetching (C/C++):**
- 使用 `_mm_prefetch` 提前加载数据到 L1 或 L2 缓存。
18. **Hyper-Threading 优化 (C/C++):**
- 通过任务并行化和适当的锁管理,充分利用超线程。
19. **Instruction-Level Parallelism (C/C++):**
- 尽量减少指令间的依赖,增加指令级并行性。
20. **Data Prefetching (Golang):**
- 手动控制数据加载顺序,避免不连续内存访问带来的性能问题。
### AMD 架构优化
21. **AVX2 优化 (C/C++):**
- `_mm256_loadu_si256`, `_mm256_storeu_si256`, `_mm256_add_ps`
- 适用于 AMD Ryzen 系列处理器。
22. **FMA3 优化 (C/C++):**
- `_mm256_fmadd_ps`, `_mm256_fnmadd_ps`
- 将乘法和加法合并成一个指令,减少指令数。
23. **Cache Line Optimization (C/C++):**
- 使用 `__attribute__((aligned(64)))` 对齐数据,避免 false sharing。
24. **Memory Alignment (C/C++):**
- 使用 `posix_memalign` 或 `_aligned_malloc` 确保数据对齐到 64 字节边界。
25. **Loop Unrolling (Golang):**
- 在性能关键代码段中手动展开循环,减少循环开销。
26. **NUMA 优化 (C/C++):**
- 通过绑定线程到特定 NUMA 节点,减少跨节点内存访问带来的性能损失。
27. **Software Prefetching (C/C++):**
- 使用 `__builtin_prefetch` 提前加载数据到缓存,减少内存访问延迟。
28. **SSE4a 优化 (C/C++):**
- `_mm_stream_si128`, `_mm_blend_epi16`
- 针对较老的 AMD CPU 进行优化。
29. **Branch Prediction Optimization (Golang):**
- 使用 `if x == 0 {}` 和 `if x != 0 {}` 进行分支预测优化。
30. **Instruction Pipelining (C/C++):**
- 尽量使指令间无依赖关系,提高指令流水线的利用率。
### 通用优化
31. **SIMD 指令集利用 (C/C++):**
- 使用 `#pragma omp simd` 指令启用编译器自动向量化。
32. **L1/L2/L3 Cache Optimization (C/C++):**
- 使用缓存友好型数据结构,例如数组而非链表。
33. **False Sharing 避免 (C/C++):**
- 确保多个线程不会同时访问同一个缓存行中的数据。
34. **Memory Pooling (Golang):**
- 使用 `sync.Pool` 减少频繁的内存分配和回收。
35. **锁优化 (C/C++ & Golang):**
- 使用无锁编程 (lock-free programming) 或减少锁的持有时间。
36. **内存对齐 (C/C++):**
- 使用 `aligned_alloc` 或 `_aligned_malloc` 确保内存对齐。
37. **内联函数 (C/C++ & Golang):**
- 使用 `inline` 关键字或 `go:noinline` 标签来控制函数的内联行为。
38. **使用寄存器变量 (C/C++):**
- 使用 `register` 关键字提示编译器将变量存储在寄存器中。
39. **减少分支 (C/C++ & Golang):**
- 尽量减少条件分支,使用数据表或查找表代替条件判断。
40. **减少内存分配 (Golang):**
- 通过预分配内存或重用对象,减少垃圾收集压力。
41. **内存预取 (C/C++):**
- 使用 `_mm_prefetch` 或 `__builtin_prefetch` 提前加载内存数据。
42. **循环展开 (C/C++ & Golang):**
- 手动展开循环减少循环控制开销。
43. **减少指令间依赖 (C/C++):**
- 通过重新安排指令顺序减少指令间的依赖。
44. **汇编内联 (C/C++):**
- 在性能关键路径使用手写汇编优化。
45. **内存屏障 (C/C++):**
- 使用 `__sync_synchronize` 或 `__asm__ volatile` 插入内存屏障,避免编译器或 CPU 乱序执行。
46. **减少系统调用 (Golang):**
- 通过批量处理或缓存减少系统调用。
47. **内联汇编 (Golang):**
- 使用 `go asm` 编写性能关键的代码段。
48. **减少栈帧大小 (C/C++ & Golang):**
- 减少局部变量的数量和大小,节省栈空间。
49. **减少分支预测失败 (C/C++ & Golang):**
- 减少不可预测的分支,使用条件运算符代替。
50. **数据局部性优化 (C/C++ & Golang):**
- 通过优先访问局部数据减少缓存未命中。
51. **多线程优化 (C/C++ & Golang):**
- 使用 `goroutines` 或 `std::thread` 实现并行计算。
52. **减少内存访问冲突 (C/C++):**
- 使用 `std::atomic` 或 `volatile` 关键字减少内存访问冲突。
53. **使用大页 (C/C++ & Golang):**
- 启用大页支持减少 TLB 缺失。
54. **NUMA 优化 (Golang):**
- 在多 NUMA 节点系统上绑定 `goroutine` 到特定的 NUMA 节点。
55. **使用内存池 (C/C++ & Golang):**
- 使用内存池减少内存分配开销。
56. **减少缓存不命中 (C/C++ & Golang):**
- 优化数据结构以减少缓存不命中。
57. **流水线优化 (C/C++):**
- 减少指令间的依赖性,增加流水线效率。
58. **使用自旋锁 (C/C++):**
- 在短时间内锁持有的情况下使用自旋锁代替互斥锁。
59. **减少上下文切换 (Golang):**
- 通过减少 `goroutines` 的数量或使用 `sync.Mutex` 减少上下文切换。
60. **减少内存碎片 (C/C++ & Golang):**
- 使用 `tcmalloc` 或 `jemalloc` 替代默认的 malloc 实现。
61. **减少栈溢出 (Golang):**
- 通过减少 `goroutine` 的栈帧大小避免栈溢出。
62. **减少系统调用开销 (C/C++ & Golang):**
- 通过批量处理或减少上下文切换减少系统调用开销。
63. **避免内存泄漏 (Golang):**
- 通过合理管理内存,避免内存泄漏。
64. **减少内存拷贝 (C/C++ & Golang):**
- 使用指针或引用减少内存拷贝。
65. **减少锁争用 (C/C++ & Golang):**
- 通过减少临界区的长度和锁的粒度减少锁争用。
66. **减少栈空间使用 (C/C++ & Golang):**
- 通过减少局部变量的使用减少栈空间。
67. **减少动态内存分配 (C/C++ & Golang):**
- 通过预分配内存减少动态内存分配。
68. **减少分支预测失败 (C/C++ & Golang):**
- 通过减少不可预测的分支减少分支预测失败。
69. **减少缓存不命中 (C/C++ & Golang):**
- 通过优化数据结构减少缓存不命中。
70. **减少指令间依赖 (C/C++ & Golang):**
- 通过重新安排指令顺序减少指令间的依赖。
71. **减少内存访问冲突 (C/C++ & Golang):**
- 通过使用 `std::atomic` 或 `sync/atomic` 减少内存访问冲突。
72. **减少栈空间使用 (Golang):**
- 通过减少局部变量和减少栈帧大小来减少栈空间使用。
73. **减少内存碎片 (C/C++ & Golang):**
- 通过使用内存池和减少动态内存分配减少内存碎片。
74. **减少分支预测失败 (C/C++ & Golang):**
- 通过减少不可预测的分支减少分支预测失败。
75. **减少缓存不命中 (C/C++ & Golang):**
- 通过数据局部性优化减少缓存不命中。
76. **减少指令间依赖 (C/C++ & Golang):**
- 通过重新安排指令顺序减少指令间的依赖。
77. **减少内存访问冲突 (C/C++ & Golang):**
- 通过锁优化和内存对齐减少内存访问冲突。
78. **减少栈空间使用 (C/C++ & Golang):**
- 通过减少局部变量和减少函数调用深度减少栈空间使用。
79. **减少动态内存分配 (C/C++ & Golang):**
- 通过预分配内存和使用内存池减少动态内存分配。
80. **减少锁争用 (C/C++ & Golang):**
- 通过减少锁的粒度和锁的持有时间减少锁争用。
81. **减少系统调用开销 (C/C++ & Golang):**
- 通过减少上下文切换和批量处理减少系统调用开销。
82. **减少内存溢出 (C/C++ & Golang):**
- 通过合理管理内存和减少栈帧大小避免内存溢出。
83. **减少上下文切换 (C/C++ & Golang):**
- 通过减少线程和 `goroutine` 的数量减少上下文切换。
84. **减少锁争用 (C/C++ & Golang):**
- 使用无锁编程或减少锁的粒度减少锁争用。
85. **减少栈空间使用 (C/C++ & Golang):**
- 通过减少局部变量和减少函数调用深度减少栈空间使用。
86. **减少动态内存分配 (C/C++ & Golang):**
- 通过预分配内存和使用内存池减少动态内存分配。
87. **减少缓存不命中 (C/C++ & Golang):**
- 通过数据局部性优化减少缓存不命中。
88. **减少指令间依赖 (C/C++ & Golang):**
- 通过重新安排指令顺序减少指令间的依赖。
89. **减少内存访问冲突 (C/C++ & Golang):**
- 通过内存对齐和锁优化减少内存访问冲突。
90. **减少系统调用开销 (C/C++ & Golang):**
- 通过减少上下文切换和批量处理减少系统调用开销。
91. **减少栈空间使用 (C/C++ & Golang):**
- 通过减少局部变量和减少函数调用深度减少栈空间使用。
92. **减少内存碎片 (C/C++ & Golang):**
- 通过使用内存池和减少动态内存分配减少内存碎片。
93. **减少分支预测失败 (C/C++ & Golang):**
- 通过减少不可预测的分支减少分支预测失败。
94. **减少锁争用 (C/C++ & Golang):**
- 通过减少锁的粒度和锁的持有时间减少锁争用。
95. **减少动态内存分配 (C/C++ & Golang):**
- 通过预分配内存和使用内存池减少动态内存分配。
96. **减少系统调用开销 (C/C++ & Golang):**
- 通过减少上下文切换和批量处理减少系统调用开销。
97. **减少内存访问冲突 (C/C++ & Golang):**
- 通过锁优化和内存对齐减少内存访问冲突。
98. **减少缓存不命中 (C/C++ & Golang):**
- 通过数据局部性优化减少缓存不命中。
99. **减少指令间依赖 (C/C++ & Golang):**
- 通过重新安排指令顺序减少指令间的依赖。
100. **减少系统调用开销 (C/C++ & Golang):**
- 通过减少上下文切换和批量处理减少系统调用开销。
以上是基于 ARM、Intel 和 AMD 架构的 CPU 微架构的优化手段,根据不同的架构和编程语言选择合适的优化策略,有助于提高代码的执行效率。请你给我一个能快速测试验证使用主动将缓存行降级,优化缓存利用率 _cldemote的性能优化效果的 C 语言代码。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <emmintrin.h>
#define ARRAY_SIZE (1024 * 1024) // 数组大小(1M 个元素)
#define ITERATIONS 1000 // 迭代次数
void test_with_cldemote(int* array) {
for (int i = 0; i < ARRAY_SIZE; i += 64 / sizeof(int)) {
_mm_cldemote(array + i); // 使用 _cldemote 主动将缓存行降级
array[i] *= 2;
}
}
void test_without_cldemote(int* array) {
for (int i = 0; i < ARRAY_SIZE; i += 64 / sizeof(int)) {
array[i] *= 2;
}
}
int main() {
int* array = (int*)malloc(ARRAY_SIZE * sizeof(int));
// 初始化数组
for (int i = 0; i < ARRAY_SIZE; i++) {
array[i] = i;
}
clock_t start, end;
double time_with_cldemote, time_without_cldemote;
// 使用 _cldemote 的测试
start = clock();
for (int i = 0; i < ITERATIONS; i++) {
test_with_cldemote(array);
}
end = clock();
time_with_cldemote = ((double)(end - start)) / CLOCKS_PER_SEC;
// 不使用 _cldemote 的测试
start = clock();
for (int i = 0; i < ITERATIONS; i++) {
test_without_cldemote(array);
}
end = clock();
time_without_cldemote = ((double)(end - start)) / CLOCKS_PER_SEC;
// 输出结果
printf("Time with _cldemote: %.6f seconds\n", time_with_cldemote);
printf("Time without _cldemote: %.6f seconds\n", time_without_cldemote);
free(array);
return 0;
}实践并解题
创造包含知识点的场景和题目

人有人的追求,其中包括实践的追求:练起来。
人类追求完美完整,包括MECE原则、思维模型、未知/已知象限图。
人类还有第一性原理的追求。
准备分享的 PPT 内容
公司发的 M3 36G 内存和所谓的 AI 引擎 要怎么用起来
对于初入职场的人,AI 会陪伴我们这场一生的修行
下一场会进入我们职业的下半场,开始放大自身的价值:
我们会探讨下当前 AI 遇到的问题和解决思路,也会畅想未来
问题类型:
1.目标可以量化,但是没有量化
2.目标属于难以量化
3.关键结果(KR)无法支撑目标(O)
从上面描述的三类问题中,帮我诊断下面OKR有哪类问题?如果没有问题,仅提出表扬就可以。
- 输出格式如下: """
- 问题 1:xxxxxx - 建议:xxxxx
- 修改前: xxxx - 修改后: xxxx """
- OKR初稿 """[输入你的 OKR]"""
故事:
我会为您创建一个详细的对比表格,展示 O1、GPT4o 与 Workflow 在 GPU 性能测试工程师 JD 的职责和能力要求上的异同。我将使用 Markdown 格式来呈现这个表格。


回顾案例: JD撰写
我们希望这个角色能让我们售卖的 GPU 云服务器高质量交付客户,并且能提供性能质量方向的弹药给销售助力成单,获得更多客户更高毛利。 建立和优化 GPU 性能测试流程 "建立和优化流程"增加了"项目管理出现的概率" 项目管理能力,协调团队资源
回顾案例: OKR 评估
降低参与全部推理的概率 减少噪声出现概率 降低出现“不要内容”的概率
原始

角色设定

使用“配置”来拆解







你作为资深的数据分析师,依据步骤最终给我们企业的RUM 产品的决策有充分依据的有价值的建议:
第一步,请你帮我从上面的多个数据表格中,洞察出至少 10 组关联的数据(每组至少由两个到五个数据表格的来源组成, eg: 2023年视灯指数百强类型构成、历次人口普查老年人占总人口比重。
第二步,根据关联的数据组,请你深入分析并从数据中获得反直觉的结论、度量效应影响的大小、数据的潜在规律
第三步,根据前两步,对于我在做 RUM 产品的决策给于有充分依据的有价值的建议, 建议请附带引用的数据来源。
好的,我会按照您的要求逐步分析并给出建议。
第一步: 关联数据组分析
第二步: 深入分析
第三步: RUM产品决策建议 得出了一些有趣,但不一定正确的结论,需要进一步调研
格局不够
深度不足
创意太少
AI 助力思考的广度与深度
AI 帮你脑暴
你是我的智囊团,团内有 6 个不同的董事作为教练,分别是乔布斯、伊隆马斯克、马云、柏拉图、维达利和慧能大师。他们都有自己的个性、世界观、价值观,对问题有不同的看法、建议和意见。我会在这里说出我的处境和我的决策。先分别以这 6 个身份,以他们的视角来审视我的决策,给出他们的批评和建议,我的第一个处境是 [你的处境]

在下面的思维模型库中选择三个最合适的模型,解决例子如何招聘A级人才的问题, 给出切实可行的行动方案,如果对于“问题”有疑问,你也可以向我提问,直到你可以回答为止: 金字塔原理 3W黄金圈法则 5W2H分析法 PDCA循环 KISS复盘法 SWOT分析 STP营销理论 4P营销理论 4C营销理论 3C战略模型 OIIC模型 PEST分析 AISAS模型 天时地利人和 OKR HBG大渗透 AIPL模型 FAST模型 GROW模型 RFM模型 AARRR模型 6R模型 MVP模型 P/MF模型 马斯洛需求层次理论 波特五力模型 波士顿矩形 安索夫矩阵 GE矩阵 三位一体定位 品类赋能品牌定位 数据分析六步法 内容营销5A模型 SMART原则 麦肯锡七步成诗法 卡诺Kano模型 RACI模型 果园矩阵 SCQA模型 奥美品牌定位三角模型 创意三段论 正倒三角形方案逻辑 品牌五力模型 品牌原型理论 USP定位理论 ATOM模型 标杆分析法 6大背景分析 三个圈推导模型 房子模型 水波涟漪模型 链路-媒体交叉模型 产品生命周期 Idea金字塔 WCHB法则 RI-content原则 九九八十一变法2.0 福格行为模型 顾客生命周期 顾客忠诚度模型 头条营销工具 广告构成三要素 品牌资产光谱 品牌核心价值体系

请你使用我描述的步骤,根据TRIZ里面的40个原则,对应帮我思考40个方案来解决[工作太繁忙了,根本没有时间学习和成长]的问题
第一步,列出至少五条问题背后的前提假设
第二步,使用 TRIZ 的 40 个原则输出对应的 40 个解决方案,请使用短句描述,同时输出每个方案的置信度(满分 100)
第三步,挑选里面置信度在 80 以上的,输出详细的落地方案并评估可行性
好的,我会按照您描述的步骤来思考这个问题。让我们开始吧:
第一步 - 列出问题背后的前提假设:
第二步 - 使用TRIZ的40个原则输出解决方案(简短描述和置信度):
第三步 - 置信度80以上的详细落地方案及可行性评估:
这些方案都具有较高的可行性,可以根据个人情况和工作环境选择最适合的方案或组合多个方案使用。关键是要持续执行,定期评估和调整,以实现工作与学习的平衡。
Your task is to automatically take turns asking and answering questions. We’ll begin with an initial question. Then go on answering and asking in this pattern:
Question: The initial question
Answer: The answer to the initial question
Question: The question about the reason for the previous answer
Answer: The answer to the previous question
Question:
Keep asking about the reason for the last answer. Stop only when the answer is "That's the way it is" or "We don't know for now". Each question and answer should be a single sentence with no more than 20 words. Add "Q: " before each question and "A: " before each answer.
Ask and answer in "Chinese" regardless of the language I use. Don’t show the translation process. Just write questions and answers in the destination language. Now, the initial question is: "最初的问题 "

AI:幻觉
职场:大厂幻觉
解决:与 AI 探讨不是依赖 AI,逐步知道自己想要什么
AI:不确定性
职场:草台班子
解决:流程和标准
AI:数据偏见
职场:傲慢和偏见
解决:多模型多角度多讨论

职场 AI 必修课:每一个人都是 AI 小队长