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向着成为更通用、更高效的高性能计算库迈进。
- QQwen3-Next-80B-A3B-InstructQwen3-Next-80B-A3B-Instruct 是一款支持超长上下文(最高 256K tokens)、具备高效推理与卓越性能的指令微调大模型00
- QQwen3-Next-80B-A3B-ThinkingQwen3-Next-80B-A3B-Thinking 在复杂推理和强化学习任务中超越 30B–32B 同类模型,并在多项基准测试中优于 Gemini-2.5-Flash-Thinking00
GitCode-文心大模型-智源研究院AI应用开发大赛
GitCode&文心大模型&智源研究院强强联合,发起的AI应用开发大赛;总奖池8W,单人最高可得价值3W奖励。快来参加吧~0267cinatra
c++20实现的跨平台、header only、跨平台的高性能http库。C++00AI内容魔方
AI内容专区,汇集全球AI开源项目,集结模块、可组合的内容,致力于分享、交流。02- HHunyuan-MT-7B腾讯混元翻译模型主要支持33种语言间的互译,包括中国五种少数民族语言。00
GOT-OCR-2.0-hf
阶跃星辰StepFun推出的GOT-OCR-2.0-hf是一款强大的多语言OCR开源模型,支持从普通文档到复杂场景的文字识别。它能精准处理表格、图表、数学公式、几何图形甚至乐谱等特殊内容,输出结果可通过第三方工具渲染成多种格式。模型支持1024×1024高分辨率输入,具备多页批量处理、动态分块识别和交互式区域选择等创新功能,用户可通过坐标或颜色指定识别区域。基于Apache 2.0协议开源,提供Hugging Face演示和完整代码,适用于学术研究到工业应用的广泛场景,为OCR领域带来突破性解决方案。00- HHowToCook程序员在家做饭方法指南。Programmer's guide about how to cook at home (Chinese only).Dockerfile06
- PpathwayPathway is an open framework for high-throughput and low-latency real-time data processing.Python00
热门内容推荐
最新内容推荐
项目优选









