- 博客(11)
- 收藏
- 关注
原创 HPC第四节--CUDA内存模型
主机和设备的代码存储在同一个文件中,执行完全不同主机代码不能直接访问设备变量,设备代码不能直接访问主机变量。那主机要如何访问设备代码:devData是设备端符号,主机端不知道他的地址是什么,不能使用&取地址//获取devData的地址。
2025-05-16 00:00:56
738
原创 高性能计算第三节(CPU性能优化)
CPU寄存器 > 缓存 (Level1 Level 2) > 物理RAM(物理RAM,虚拟内存) > 存储设备(硬盘,驱动器等,ROM/BIOS)现代处理器将指令操作划分为许多不同阶段,每个阶段由单个单元执行,多个操作在处理器的多个单元执行,称为流水线执行。O1,O2,O3级别的编译器优化 ,-mavx,-ffast ,-math等。采用容量小但更快的存储器(缓存),如果访问的数据在缓存中,就无需去访问内存。可见,并非线程数越多越好,线程数越高,调度所需资源更多,所花时间越多。
2025-04-22 17:13:39
675
原创 2025.3.6学习日志
给定一个字符串s,请你找出其中不含有重复字符的的长度。3因为无重复字符的最长子串是"abc",所以其长度为 3。1因为无重复字符的最长子串是"b",所以其长度为 1。3因为无重复字符的最长子串是"wke",所以其长度为 3。请注意,你的答案必须是的长度,"pwke"是一个子序列,不是子串。[分析]核心思想:滑动窗口使用一个map容器来保存每个字符的位置,通过滑动窗口,不断移动right右指针,每次移动后检索指向的元素是否在map里,如果存在则更新左指针位置,不存在则继续右移。
2025-03-06 17:20:49
478
原创 2024-11-5学习日志
leetcode-74 搜索二维矩阵题目描述:给你一个满足下述两条属性的m x n给你一个整数target,如果target在矩阵中,返回true;否则,返回false思路分析:使用二分查找,我们要先通过二分查找确定对应的行,接着在该行确认对应的列。查找行这段代码整体比较简单,但是要注意。
2024-11-05 21:40:08
536
原创 2024.11.1学习日志
题目描述给你一个整数数组nums,数组中的元素。返回该数组所有可能的子集(幂集)。解集包含重复的子集。你可以按返回解集。nums = [0][[],[0]]解题思路:本题依然使用回溯算法,可以用一个树形结构去收集结果,因为不能包含重复的子集,所以在回溯算法中的循环,i的初始化要加以限制(不同于全排列,i要从0开始),每次递归时只从当前startindex及其后面的元素开始,这样可以确保不会在同一层中选择同一个元素。ans是返回的结果,current是每次收集的结果回溯核心(重点理解)
2024-11-01 21:22:30
680
原创 2024.10.31 学习日志
问题描述(发音类似 "try")或者说是一种树形数据结构,用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景,例如自动补全和拼写检查。Trie()wordwordtruefalsewordprefixtruefalse解题思路:我们可以构造一个n叉树,每个节点存储一个哈希表,哈希表中储存存入的字母和对应的下一个节点位置,为了判断该字母是否是最后一个字母,节点中应该还要有一个bool类型判断是否为最后一个字母。
2024-10-31 20:50:36
588
原创 2024.10.30学习日志
题目描述:在给定的m x n网格grid012每分钟,腐烂的橘子的新鲜橘子都会腐烂。返回直到单元格中没有新鲜橘子为止所必须经过的最小分钟数。如果不可能,返回-1。对于本题,首先思路是遍历所有的网格,统计出来腐烂橘子的位置,以及新鲜橘子的数量,把腐烂橘子的数量压入队列,然后我们用队列进行遍历,先统计一下此时腐烂橘子的数量size,进入循环,取出每个队,首的橘子,把橘子四个方向的新鲜橘子全部腐烂,然后把新腐烂的橘子再次压入队列,这样重复循环size次数,此时过了一分钟,我们对minute+1。
2024-10-30 23:27:37
916
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人