BLIS 2.0-rc1发布:高性能计算库的重大升级
BLIS(BLAS-like Library Instantiation Software)是一个开源的高性能计算库,专门为线性代数运算提供优化实现。作为BLAS(Basic Linear Algebra Subprograms)的替代品,BLIS通过模块化设计和高度优化的内核,在各种硬件平台上实现了卓越的性能。最新发布的BLIS 2.0-rc1版本带来了多项重大改进和新功能,标志着该项目的一个重要里程碑。
核心框架的重大革新
BLIS 2.0-rc1引入了"插件"系统,这是本次更新的最显著特性之一。这个创新设计允许用户在BLIS源代码树之外创建插件,即使使用的是二进制分发的BLIS版本。通过插件机制,用户可以注册自定义的内核函数,这些内核将由BLIS构建系统为所有配置的架构进行编译。更令人兴奋的是,用户提供的内核可以参与基于实际硬件的运行时内核选择过程。
另一个重要改进是新增的API,它允许用户修改默认的"控制树"数据结构。控制树定义了实现BLAS level-3操作(如gemm或syrk)的具体算法步骤。用户可以从预定义的控制树开始,修改它以创建自定义操作,包括更改打包和计算的内核、关联的块大小,以及提供额外的参数或数据。
混合精度计算的全面支持
BLIS 2.0-rc1在所有level-3 BLAS操作(除trsm外)中实现了全面的混合精度和混合域计算支持。A、B和C矩阵,以及alpha和beta标量,可以以任何支持的数据类型(当前为单/双精度和实数/复数域)提供。此外,通过C矩阵的obj_t结构可以设置计算精度,控制内部计算的实际执行方式。
底层架构的优化与改进
新版本引入了"level-0"宏后端,为实现参考内核和正确的混合类型计算提供了基础语言支持。这个后端特别支持全数据类型灵活性,包括"计算"数据类型(例如输入/输出使用双精度,计算使用单精度),以及完全正确的混合域计算和操作(如scal2v)的安全就地使用。
在兼容性方面,BLIS 2.0-rc1增加了ScaLAPACK兼容模式,解决了某些冲突的BLAS定义问题。同时修复了Python脚本中的字符串转义问题,提高了与Python 3.12+的兼容性。还新增了用户定义宏BLIS_ENABLE_STD_COMPLEX,在C++代码中使用std::complex类型定义。
内核层面的重要修复与增强
本次更新修复了haswell架构gemmsup内核中的越界读取错误,以及piledriver架构复数域gemm内核的问题。内核、块大小和偏好查找函数现在使用siz_t而非特定枚举类型。打包微内核和计算微内核(gemm和gemmtrsm)现在接收全局矩阵的偏移量,后者通过auxinfo_t结构传递。
特别值得注意的是,单独的"MRxk"和"NRxk"打包内核已合并为一个通用打包内核。新的打包内核可以打包任何大小的微面板,但可以针对特定形状进行优化。还增加了针对矩阵对角线部分的显式打包内核,以及某些混合域/1m情况的处理。
构建与测试系统的改进
构建系统方面,cblas.h文件现在在blis.h之后立即"扁平化"(如果启用),而不是在构建过程的后期。配置脚本经过全面改进,现在支持在CC/CXX中使用空格。同时增强了对BLIS或插件中C++源文件的支持。
测试系统现在允许使用"默认"诱导方法,而不是强制使用原生或1m操作。测试套件在请求时会测试所有可能的类型组合。改进了make check-blis及相关目标中问题的检测能力。CI测试基础设施已迁移至CircleCI。
文档完善与知识传递
新版本增加了关于插件系统和通过修改BLIS控制树创建自定义操作的文档。更新了README.md中的BLIS下载说明和RELEASING中的维护者指南。加宽了代码示例中的打印格式,以避免结果误解。
BLIS 2.0-rc1的这些改进不仅提升了库的功能性和灵活性,也为高性能计算社区提供了更强大的工具。通过插件系统和控制树API,研究人员和开发者可以更轻松地实现和测试新的算法优化,而全面的混合精度支持则为各种数值计算场景提供了更大的灵活性。这些进步共同推动BLIS向着成为更通用、更高效的高性能计算库迈进。
AutoGLM-Phone-9BAutoGLM-Phone-9B是基于AutoGLM构建的移动智能助手框架,依托多模态感知理解手机屏幕并执行自动化操作。Jinja00
Kimi-K2-ThinkingKimi K2 Thinking 是最新、性能最强的开源思维模型。从 Kimi K2 开始,我们将其打造为能够逐步推理并动态调用工具的思维智能体。通过显著提升多步推理深度,并在 200–300 次连续调用中保持稳定的工具使用能力,它在 Humanity's Last Exam (HLE)、BrowseComp 等基准测试中树立了新的技术标杆。同时,K2 Thinking 是原生 INT4 量化模型,具备 256k 上下文窗口,实现了推理延迟和 GPU 内存占用的无损降低。Python00
GLM-4.6V-FP8GLM-4.6V-FP8是GLM-V系列开源模型,支持128K上下文窗口,融合原生多模态函数调用能力,实现从视觉感知到执行的闭环。具备文档理解、图文生成、前端重构等功能,适用于云集群与本地部署,在同类参数规模中视觉理解性能领先。Jinja00
HunyuanOCRHunyuanOCR 是基于混元原生多模态架构打造的领先端到端 OCR 专家级视觉语言模型。它采用仅 10 亿参数的轻量化设计,在业界多项基准测试中取得了当前最佳性能。该模型不仅精通复杂多语言文档解析,还在文本检测与识别、开放域信息抽取、视频字幕提取及图片翻译等实际应用场景中表现卓越。00
GLM-ASR-Nano-2512GLM-ASR-Nano-2512 是一款稳健的开源语音识别模型,参数规模为 15 亿。该模型专为应对真实场景的复杂性而设计,在保持紧凑体量的同时,多项基准测试表现优于 OpenAI Whisper V3。Python00
GLM-TTSGLM-TTS 是一款基于大语言模型的高质量文本转语音(TTS)合成系统,支持零样本语音克隆和流式推理。该系统采用两阶段架构,结合了用于语音 token 生成的大语言模型(LLM)和用于波形合成的流匹配(Flow Matching)模型。 通过引入多奖励强化学习框架,GLM-TTS 显著提升了合成语音的表现力,相比传统 TTS 系统实现了更自然的情感控制。Python00
Spark-Formalizer-X1-7BSpark-Formalizer 是由科大讯飞团队开发的专用大型语言模型,专注于数学自动形式化任务。该模型擅长将自然语言数学问题转化为精确的 Lean4 形式化语句,在形式化语句生成方面达到了业界领先水平。Python00