NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

评论

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

职场人最好的姿势是仰卧起坐

这我可不懂

职场 内卷

数字人应用中的问题与解决方案

青否数字人

比亚迪面试,全程八股!

王磊

Java 面试

Rhinoceros 8 for Mac(犀牛8 mac版)激活版

Geek_幻墨成诗

Rhinoceros 7 Rhinoceros8

BatchOutput PDF for Mac(PDF文件批量打印软件)v3.1.1激活版

iMac小白

数字人直播实时互动的实现与优势

青否数字人

代码混淆的原理和方法详解

雪奈椰子

TuGraph Analytics云原生部署:基于K8S Operator的轻量级作业启动方案

TuGraphAnalytics

云原生 图数据库 图计算 K8s Operator

BetterMouse for Mac中文激活版下载(鼠标增强软件)

iMac小白

软件测试/人工智能|为什么Python在人工智能时代异军突起

霍格沃兹测试开发学社

PingCAP 被评为 Translytical Data Platforms 2023 全球技术领导者

PingCAP

数据库 TiDB

数字人全开源软件的成本探究:开源价值与实际投入

青否数字人

linux常用命令

javaNice

Linux

linux常用命令手册 用户管理useradd 文件权限管理chmod 搜索管理find grep

javaNice

Linux

Redis Desktop Manager for Mac(Redis桌面管理工具)中文激活版

Geek_幻墨成诗

RESP

Royal TSX for Mac(远程管理软件)6.0.2激活版

Geek_幻墨成诗

Royal TSX MacOS远程管理

Cycling 74 Max for Mac下载 音乐可视化编程软件

iMac小白

Premiere Pro 2024 for Mac(PR 2024视频编辑软件)v24.0.3永久激活版

mac

PR 苹果mac Windows软件 视频剪辑软件 Premiere Pro 2024

拍卖直播系统源码方案,创新增值服务提高市场竞争优势

软件开发-梦幻运营部

如何获取淘宝/天猫添加到购物车 API 接口

技术冰糖葫芦

API】

iZotope RX 10 for mac v10.4.2 激活版

Geek_幻墨成诗

iZotope RX 10下载 iZotope RX 10破解版 iZotope RX 10 mac iZotope RX 10

re:Invent 2023:PingCAP 荣获亚马逊云科技 2023 年度合作伙伴奖项

PingCAP

数据库 AWS TiDB 亚马逊云科技 pingCAP

你知道Spring中BeanFactoryPostProcessors是如何执行的吗?

EquatorCoco

spring 后端 springboot

每日一题:LeetCode-165. 比较版本号

半亩房顶

Go 面试 算法 LeetCode 每日一题

数字人直播系统源码开发:实现电商必备的一键生成真人直播卖货

青否数字人

特权账号管理之金融行业篇

尚思卓越

网络安全

数字人直播的风险与应对策略:保障用户体验与平台安全

青否数字人

srm供应商、在线采购及询比价管理系统(源码)

金陵老街

Audirvana for Mac(音乐播放器)v3.5.50中文激活版

iMac小白

E往无前 | 让你的ES查询性能起飞!腾讯云大数据ES查询优化攻略“一网打尽”

腾讯云大数据

ES

一篇学会cron表达式

不在线第一只蜗牛

表达式 cron

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