写点什么

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

评论

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

ETL数据集成丨为什么没有做好ETL的BI工具最终都会失败?

谷云科技RestCloud

数据处理 BI ETL 数据集成

大型数字化企业怎么定义?为什么说大型数字化企业更需要堡垒机?

行云管家

数字化 等保

XSKY 亮相中国移动智算存储论坛,共话 AI 存储创新之路

XSKY星辰天合

深度挖掘市场趋势:利用京东商品列表数据接口进行高效数据分析的技术实践

tbapi

京东商品列表数据接口

火山引擎联合Unity中国,共探游戏行业云计算+AI新场景

新消费日报

怎么都在劝我用通义灵码

阿里巴巴云原生

阿里云 云原生 通义灵码

图解Kafka:Kafka架构演化与升级!

王磊

扫码填表时,如何快速填充上次提交的内容?

草料二维码

ClkLog埋点分析系统常见问题-埋点集成篇Sec. 1

ClkLog

开源 埋点 用户行为分析 画像 埋点分析

免费做ppt的网站哪个好?这个AI制作PPT神器不容错过!

职场工具箱

效率工具 职场 PPT AIGC AI生成PPT

微软 Azure 推出文本到语音虚拟人;英伟达发布 8B 小语言模型,可在 RTX 工作站部署丨 RTE 开发者日报

RTE开发者社区

超八成读者这样阅读,是因为……

脑极体

AI

如何利用代理IP提升跨境市场竞争力?

IPIDEA全球HTTP

软件测试学习笔记丨SQL子查询实战练习

测试人

软件测试

云手机:TikTok运营的必备工具

Ogcloud

云手机 海外云手机 tiktok云手机 云手机海外版 tiktok运营

YashanDB谈数据库未来出路和方向——回归商业本质 | YashanDB DTCC 2024 首秀

极客天地

京东商品列表数据接口:开启电商数据洞察之门

tbapi

京东API接口 京东商品列表数据接口

RPA技术简介:RPA概念、应用场景和行业发展趋势

八爪鱼采集器︱RPA机器人

RPA 自动化 RPAxAI

怎么都在劝我用通义灵码

阿里云云效

阿里云 云原生 通义灵码

程序员如何选择博客平台?

博客趣

个人博客 博客搭建 博客平台

如何根据API返回值优化商品搜索关键词

技术冰糖葫芦

API Explorer API 测试 API】 API 策略

为什么重写hashCode一定也要重写equals方法?

不在线第一只蜗牛

Java 基础

无需多部备用机,云手机方便又便宜!

Ogcloud

云手机 海外云手机 云手机海外版 云手机群控 云手机推荐

掌握VS Code:提升前端开发效率的秘诀

秃头小帅oi

Python中的random模块及相关模块详解

我再BUG界嘎嘎乱杀

Python 编程 后端 random 开发语言

观测云对接 Pinpoint 最佳实践

观测云

Pinpoint

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