跳转至

2025

C++技法:iguana序列化库中如何实现enum reflection反射

我们知道通过反射可以在运行时获取类名、类型等一些信息,然而c++语言本身没有提供类似java这种反射机制。在阅读iguana开源库时,看到了一种EnumRefection的实现,分享给大家。

iguana 是C++17 实现的header only、跨平台、高性能易用的序列化库,包括xml/json/yaml 的序列化和反序列化。

MPI是什么?有哪些集体通信操作以及在TensorRT LLM中应用

MPI介绍

MPI(Message Passing Interface,消息传递接口)是一种‌并行计算的通信标准‌,主要用于在分布式内存系统中实现多进程间的数据交换和协同计算。它是高性能计算(HPC)领域的核心工具之一,尤其适用于超级计算机和集群环境。MPI是独立于硬件和编程语言的规范,主流实现(如OpenMPI、MPICH)支持C/C++、Fortran等语言,可在Linux、Windows等系统运行。

rust使用:Arc new_cyclic 构建自身的弱引用指针

Arc new_cyclic 构建自身的弱引用指针

创建一个新的Arc<T>,同时为你提供对分配的Weak<T>,以便你构建一个持有对自身弱指针的T。 通常,直接或间接循环引用自身的结构不应持有对自身的强引用,以防止内存泄漏。使用此函数,你可以在T初始化期间(在Arc<T>创建之前)访问弱指针,以便你可以克隆并将其存储在T内部。

Vim有什么奇技淫巧?

朋友们,你们好呀!

不管是Vim还是Nvim,大家肯定都会用到吧!在自己的开发机上你的vim或许特别自定义改装过了。但是偶尔我们也会去一个临时服务器,装一个最简单的原生vim使用。

如果你熟悉了解Vim的一些小技巧,可以提高你的效率呢。那么,Vim有什么奇技淫巧?一起看看作者平时常用到的一些小技巧。

使用Pytorch从零构建Llama3大模型–深入了解输出模块以及训练推理

(本文主要内容译自build-your-own-llama-3-architecture-from-scratch-using-pytorch

朋友们,书接上文,上一篇的Llama3还没有分享完,接着分享输出模块(Output Block)和训练、推理。

Output Block

最终Decode Block的解码器(decoder)输出将输入到Output Block中。首先,它被输入到 RMSNorm 中。然后,它将被输入到线性层中用于生成logits。

接下来,会发生以下两种操作之一。