cpp 选手秋招学习笔记 day40

一、infra 相关

1.块访问和周期访问

块访问是一个线程访问一段连续的数据,而周期访问是指每个线程访问的数据是不连续的多个,可能属于多个块,每个线程访问同一个块中的不同元素。

2.为什么说 occupancy 不是越高越好?

占用率的意思是指在 sm 活跃的线程束数量除以sm 能容纳的最大线程束数量,如果追求过高的占用率程序员可能需要调低每个 block 共享内存的大小,可以使用的寄存器的数量,这些数据需要从 HBM 去读取造成数据移动的时延增加,性能下降,所以不是占用率越高越好。

3.存储层次

从寄存器 到共享内存 到 l1 和 l2cache 以及 HBM 也就是全局内存。

寄存器和 cache 是由编译器和硬件维护,而对共享内存的访问和对全局内存的访问由程序员维护。共享内存的速度比全局内存快。

4.为什么需要在 q 和 kt 计算点积的时候除以根号 dk

因为 q 和 kt 的点击结果方差随着 dk 的增加也会变得更大,而 softmax 对输入敏感,结果会更趋近于 0 或者 1,进入饱和领域,梯度接近 0,就会难以训练。

二、手撕

数组方面的

1.一比特和两比特字符

在遇到一的时候就加 2,遇到零就加 1

2.求离其他人最远距离

(小便池问题)单独讨论最左边和最右边,其他的就普通的 r-l 然后除以 2

3.求和别人不挨着允许插入的数量

最左侧初始化 len 为 1

相关推荐
qq_284274059 小时前
机械原理笔记:平面机构自由度计算(复合铰链、局部自由度、虚约束)与四杆机构入门(含考点)
笔记·学习·平面·自动化·制造
qq_2842740510 小时前
数控铣床与加工中心笔记:铣刀与刀柄系统、G54试切对刀、镜像加工指令、孔加工工艺(钻扩铰镗)与固定循环G73/G83/G81/G76/G87/G84
笔记·学习·自动化·制造
Titan202411 小时前
MySQL访问个人学习笔记
笔记·学习·mysql
深圳老胡12 小时前
STM32CubeMX 生成 CMake 工程,用 VSCode 编译与调试的完整流程
笔记·stm32·单片机·代码规范
坤坤子吖12 小时前
C++智能指针:RAII、shared_ptr与内存泄漏
开发语言·c++·笔记·学习
乐橙开放平台13 小时前
智慧连锁客流检测和离岗检测怎么对接
大数据·人工智能·笔记·物联网·自动化·音视频·智能家居
零基础12313 小时前
FinalShell 使用教程:从安装到高效运维
运维·经验分享·笔记·finalshell
ACP广源盛1392462567313 小时前
Type‑C 扩展坞方案选型笔记|国产 DP1.4 转 HDMI2.0 桥接芯片 GSV2201S @ACP评估
c语言·开发语言·笔记·硬件架构·硬件工程·国产芯片
敲个大西瓜14 小时前
langchain笔记(一)
redis·笔记·langchain
带金箍的至尊宝14 小时前
系统架构设计师笔记 05:第2章硬件与软件基础,冯诺依曼结构怎么考
数据库·笔记·系统架构