写点什么

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:005354

评论

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

YashanDB 知识库|exp 导出 CSV 报错 YAS-00218?别忘了这一步

数据库砖家

数据库

办公常用的AI工具有哪些?8个流行的AI软件盘点!

职场工具箱

人工智能 PPT AIGC AI工具 AI生成PPT

《算法导论(第4版)》阅读笔记:p10-p10

codists

算法

YashanDB 知识库|OM 仲裁节点异常?如何手动切换主备并重新纳管数据库集群

数据库砖家

数据库

【HarmonyOS】鸿蒙实现刻度尺

鸿蒙 HarmonyOS HarmonyOS NEXT 实践分享

Mac Axure RP 11中文安装教程 附 Axure RP 11密钥

Rose

mestrenova 14下载安装(核磁数据处理软件)-Mac/win

Rose

演讲大咖预告丨2025 Altair离散元仿真技术研讨会火热报名中!

Altair RapidMiner

数字孪生 仿真 CAE 离散元仿真 工程机械

技术解读|YashanDB 共享集群 V23.3:从架构到底层的全面升级

数据库砖家

数据库

YashanDB 知识库|导入 dump 报错 YAS-00218?试试这一招快速定位

数据库砖家

数据库

我在 Google L4 面试中的经验和教训

Nackydeng

程序员求职 谷歌面经 北美求职 google interview

Cornerstone for Mac – 最强大的SVN客户端,让版本控制更流畅!

Rose

SecureCRT:工程师的终极终端仿真器 ⚡ 支持SSH/Telnet/Serial,安全高效!

Rose

vm虚拟机安装教程 附VMware Fusion Pro 13密钥及win11镜像包

Rose

AI驱动仿真未来丨2025 Altair区域技术交流会华东站,报名开启!

Altair RapidMiner

AI 汽车 数字孪生 仿真 CAE

逻辑可视化的进化:从图灵完备到量子计算

代码制造者

AI编程

活动报名丨在旧金山&硅谷,遇见 Voice Agent 开发者&创业者

声网

职场人必备! Acrobat Pro DC 2023 – 轻松搞定合同、表单、电子签名!

Rose

编程开发!IntelliJ IDEA 2025.1.1中文激活教程-Mac/win

Rose

YashanDB 知识库|虚拟机重启后 YMP 无法启动?先看看 8093 端口谁在用

数据库砖家

数据库

HarmonyOS App 购物助手工具的开发与设计

网罗开发

鸿蒙 HarmonyOS HarmonyOS NEXT

HarmonyOS App 如何实现全网比价工具

网罗开发

鸿蒙 HarmonyOS HarmonyOS NEXT

Bolt.diy 创意建站 | 不懂代码,你也可以快速建站

六月的雨在InfoQ

CAP 函数计算 Bolt.diy 自然语言建站

Autodesk AutoCAD 2026破解版(cad2026中文安装包)-Mac/win

Rose

第二章:数据治理的边界在哪里

数据小吏

数据治理

麦杰工业数据底座亮相德阳,为工业设备管理贡献力量

麦杰研究院

麦杰工业数据底座亮相德阳,为工业设备管理贡献力量

麦杰科技

密码测评:确保数字安全的必要手段

黑龙江陆陆信息测评部

专为MacOS设计的视频下载器:Downie 4

Rose

2D动画设计 Reallusion Cartoon Animator Mac中文激活版

Rose

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