写点什么

NVIDIA 发布新的 C++ 数值计算库:支持 GPU 加速

  • 2023-11-15
    北京
  • 本文字数:843 字

    阅读完需:约 3 分钟

大小:385.53K时长:02:11
NVIDIA发布新的C++数值计算库:支持GPU加速

 MatX 是一个 C++ 库由 Nvidia 为其自有的 GPU 开发,,旨在使用高级语法在数值计算中实现接近本地性能,不遑多让于 Python 的 scipy 或 MATLAB。它的最新版本引入了许多新功能,包括可以将变换作为运算符,以及新的运算符,如上采样、下采样、pwelch 等等。

 

现在,可以在任何运算符表达式中使用变换,以使用运算符融合来进行延迟评估。运算符融合是 MatX 中的一个特殊功能,旨在提高性能,通过减少内存访问,从而避免内存访问成本相对寄存器访问昂贵数个数量级的问题。

 

旨在通过减少内存访问来提高性能,内存访问的成本可能比寄存器访问高出几个数量级。使用运算符融合,一个表达式不会立即计算,而是转换为表示该表达式的 C++ 类型,该类型将在需要其值时进行评估。换句话说,不是立即计算表达式的结果,比如:

 

(A = B * (cos(C) / D)).run();
复制代码

 

你可以将其值存储在一个中间表达式中:

 

auto op = (B * (cos(C) / D));
复制代码

 

将其与其他表达式组合,并在需要时进行延迟评估。这一特性是通过重载 C++ 运算符实现的。MatX 的最新版本将这一功能扩展到了变换中,例如在以下表达式中:

 

(A = B * fft(C)).run();
复制代码

 

编译器能够理解乘法运算符的右侧是 FFT 变换,而左侧是另一个表达式,可以在编译时与前者的结果进行融合

 

值得注意的是,将变换用作运算符的这种新语法与以前的变换使用方式存在一些不兼容。具体而言,以前你可能会写成matmul(C, A, B, stream),而现在应该使用(C = matmul(A,B)).run(stream)

 

MatX 0.6.0 引入的另一个新功能是新的多相通道化运算符,它可以将输入信号分成一组通道。例如,它可用于将高采样率的宽带信号转换为多个低采样率的窄带信号。

 

新的运算符包括 `upsample`,用于通过插入零来上采样信号;downsample,用于通过丢弃样本来下采样信号;pwelch,用于可视化信号的频谱,而无需进行预处理。

 

MatX 的最新版本拥有更多功能,此处无法详尽列出。如果你对完整细节感兴趣,不要错过官方发布说明。

 

原文链接:

https://www.infoq.com/news/2023/10/Nvidia-matx-cpp-numerical-lib/

2023-11-15 08:005110

评论

发布
暂无评论
发现更多内容

云智慧跻身2024亚太区ITSM软件市场第八,成唯一入选中国公司

云智慧AIOps社区

ITSM ITSM软件 IT服务管理

三文带你轻松上手鸿蒙的 AI 语音 01-实时语音识别

万少

鸿蒙

三文带你轻松上手鸿蒙的 AI 语音 03-文本合成声音

万少

鸿蒙

HarmonyOS Next V2 @Event

万少

鸿蒙

HarmonyOS Next V2 @Local 和@Param

万少

鸿蒙

HarmonyOS Next 动画大全 02-显式动画

万少

鸿蒙

企业智能之旅(5):人工智能基础模型的选择与评估

亚马逊云科技 (Amazon Web Services)

《Django 5 By Example》阅读笔记:p551-p560

codists

Python django

Suning商品详情API接口的开发应用与收益

科普小能手

电商 API 接口 API 测试 苏宁API接口 苏宁商品详情接口

三文带你轻松上手鸿蒙的 AI 语音 02-声音文件转文本

万少

鸿蒙

HarmonyOS Next V2 @Monitor 和@Computed

万少

鸿蒙

HarmonyOS Next V2 状态管理 AppStorageV2 和 PersistenceV2

万少

鸿蒙

HarmonyOS Next V2 状态管理实战

万少

鸿蒙

HarmonyOS Next 动画大全 01-属性动画

万少

鸿蒙

用友 BIP 超级版:解锁数智研发管理新势能

用友BIP

用友 企业数智化 用友BIP 企业数智化转型

企业智能之旅(6):安全与负责任的人工智能

亚马逊云科技 (Amazon Web Services)

Mini LED显示屏:未来电视领域的潜在颠覆者?

Dylan

LED显示屏 全彩LED显示屏 led显示屏厂家

HarmonyOS Next 关于页面渲染的性能优化方案

万少

鸿蒙

HarmonyOS Next 关于页面渲染的性能优化方案

万少

鸿蒙

HarmonyOS Next 简单上手元服务开发

万少

鸿蒙

HarmonyOS Next V2 状态管理@ObservedV2 基本使用

万少

鸿蒙

HarmonyOS Next 动画大全 03-帧动画

万少

鸿蒙

计算机视觉中的图像特征提取技术详解

芯动大师

CNN 机器视觉 图像特征

Easysearch Java SDK 2.0.x 使用指南(一)

极限实验室

Java 索引 easysearch

极狐GitLab 正式发布安全补丁版本 17.6.2、17.5.4、 17.4.6(修复 12 个漏洞)

极狐GitLab

gitlab 安全漏洞

NVIDIA发布新的C++数值计算库:支持GPU加速_编程语言_Sergio De Simone_InfoQ精选文章