主要整理了N多年前(2013年)学习CUDA的时候开始总结的知识点,好长时间不写CUDA代码了,现在LLM推理需要重新学习CUDA编程,看来出来混迟早要还的。 1.CUDA 解析:2007年,NVIDIA推出CUDA(Compute Unified Device Architecture,统一计算设
主要整理了N多年前(2013年)学习CUDA的时候开始总结的知识点,好长时间不写CUDA代码了,现在LLM推理需要重新学习CUDA编程,看来出来混迟早要还的。 1.闭扫描和开扫描 对于一个二元运算符和一个元输入数组。如果返回输出数组为,那么是闭扫描;如果返回输出数组为,那么是开扫描。串行闭扫描算法,
主要整理了N多年前(2013年)学习CUDA的时候开始总结的知识点,好长时间不写CUDA代码了,现在LLM推理需要重新学习CUDA编程,看来出来混迟早要还的。 1.CUDA数组 解析:CUDA数组是使用cudaMallocArray()、cudaMalloc3DArray()分配的,使用cudaFr
主要整理了N多年前(2010年)学习C++的时候开始总结的知识点,好长时间不写C++代码了,现在LLM量化和推理需要重新学习C++编程,看来出来混迟早要还的。 1.shared_ptr 解析:shared_ptr是一种计数指针,当引用计数变为0时,shared_ptr所指向的对象将会被删除。如下所示
主要整理了N多年前(2010年)学习C++的时候开始总结的知识点,好长时间不写C++代码了,现在LLM量化和推理需要重新学习C++编程,看来出来混迟早要还的。 1.const_cast (expression)[1] 解析:const_cast转换符用来移除变量的const或v
设计意图的传达是架构可视化关注的重要维度,在技术方案评审过程中不可避免的会出现各种各样的架构图或设计图,这些图形化表述在设计意图传达效果层面表现不一,本文从图形化的视角为软件架构图的评审关注点提供了参考。
# [ROI 2018] Innophone > 看了半天网上仅有的一篇题解……才堪堪写出来 > > 不过在LOJ上看提交,全是 `KTT`,看得我瑟瑟发抖~~(不会~~ ## 题意翻译 在平面上有一些点,你需要在这个平面上任意确定一个点(不要求是给定的点),定义其贡献为 横坐标 $\times$
碰到这种问题,其实你的接口已经通了,但是在页面上就是访问不通过。 你可以把API请求地址单独拎出来新开个网站打开看请求是否成功,成功,但是你的项目不通。 有那么几个可能吧: 1、请求头设置错误 headers = { 'Content-Type': 'application/json' //错误的
CoT 推理范式 默认情况下,大语言模型通常是直接给出问题的最终答案,中间推理过程是隐含的、不透明的,无法发挥出大模型最极致的理解能力。如果你用它来充当翻译,可能效果和传统的机器翻译也差不了太多。 如果我们给大模型设计一个合理的提示词,控制大模型的思考方式,就能发挥出大模型的最大功效,甚至可以让它的
写在前面 tips:点赞 + 收藏 = 学会! 本文包含radash中数组相关的所有方法说明 + 使用示例 + 思维导图查看 这边会整理出一份数组相关方法的使用大纲(不含源码解析),方便大家查阅使用; 作者会按照大类进行整理分享,本次也会同步给出Array所有方法的思维导图; 所有方法整理完毕后,作
好家伙, 题目如下: 1.舞伴配对问题:假设在周末舞会上,男士们和女士们进入舞厅时,各自排成一队。跳舞开始时,依次从男队和女队的队头上各出一人配成舞伴。 2.若两队初始人数不相同,则较长的那一队中未配对者等待下一轮舞曲。要求编写程序,模拟上述舞伴配对问题,且规定: 程序的输入时:进入舞厅人员的姓名和
方才一个开发经理和兄弟项目组的产品经理怼起来了。事情大概是,两边对接,那边希望我们出一个接口,而我们这边实际上是两个完全不同的实体概念,开发经理觉得应该提供两个基础接口,合成一个不科学。 吵得难分难解,我则狗在一边不说话,希望他们最后能自行解决。结果还是被抓到,锅,你说到底要咋整…… 之前则有一对更
Apache与nginx的区别 apache: 进程,稳定模块超多,基本想到的都可以找到少bug ,nginx 的bug 相对较多 nginx: 线程,快,不稳定。多线程是共享的,一个线程出问题,其他的也会受牵连。7层调度,反向代理能力强。CDN这块nginx也用的多轻量级,同样起web 服务,比a
https://zhuanlan.zhihu.com/p/68085075 目前很多文件系统基于Fuse( http://fuse.sourceforge.net/ )开发,在较为深入钻研Fuse实现后,总结出开发此类文件系统时可考虑的优化方案,拿出来与大家讨论讨论,如有不准确的地方,还望大家不吝赐
学习&转载文章:多方安全计算(3):MPC万能钥匙-混淆电路 前言 我们在讲解不经意传输(Oblivious Transfer,OT)的文章(安全多方计算(1):不经意传输协议)中提到,利用n选1的不经意传输可以解决百万富翁问题(两位富翁Alice和Bob在不泄露自己真实财富的情况下比对出谁更有钱)
前面我们介绍了组成程序的各种基本元素,看到了如何把基本过程和基本数据组合起来,构造出复合的实体。不过对于设计程序而言,这些手段还不够,我们还需要一些能够帮助我们构造起模块化(modular)的大型系统的策略。所谓模块化,也即使这些系统能够“自然地”划分为一些内聚(coherent)的部分,使这些部分可以分别进行开发和维护。接下来我们要研究两种特色很鲜明的组织策略,它们源自于对于系统结构的两种非常不
相对于顺序栈,链表栈的内存使用更加灵活,因为链表栈的内存空间是通过动态分配获得的,它不需要在创建时确定其大小,而是根据需要逐个分配节点。当需要压入一个新的元素时,只需要分配一个新的节点,并将其插入到链表的头部;当需要弹出栈顶元素时,只需要删除链表头部的节点,并释放其所占用的内存空间即可。由于链表栈的空间利用率更高,因此在实际应用中,链表栈通常比顺序栈更受欢迎。在实现上,链表栈通过使用`malloc
链表队列是一种基于链表实现的队列,相比于顺序队列而言,链表队列不需要预先申请固定大小的内存空间,可以根据需要动态申请和释放内存。在链表队列中,每个节点包含一个数据元素和一个指向下一个节点的指针,头节点表示队头,尾节点表示队尾,入队操作在队尾插入元素,出队操作在队头删除元素,队列的长度由节点数量决定。由于链表队列没有容量限制,因此可以处理任意数量的元素,但是相比于顺序队列,链表队列的访问速度较慢,因
# 扩展中国剩余定理 [TOC] 讲解扩展之前,我们先叙述一下普通的中国剩余定理 > “China Remain Theory” 也叫做**孙子定理** > > 难得是以中国命名的定理~~,谁敢不掌握~~ ## 中国剩余定理 > 中国剩余定理通过一种非常精巧的构造求出了一个可行解 > > 但是毕竟是
前言 最近过年嘛,过年前照例来下载一些贺岁歌曲,现在国内没啥人做贺岁专辑,这方面还得看马来西亚华人,他们每年都有出专辑,质量很不错! 国内平台自然是没有(或者不全的),需要在YouTube下载~ 之前我都是用Chrome插件下载完再使用脚本合并视频,有点繁琐,今年试试自动下载的黑科技~ 作为对比的这