AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

使用 Brahma 在 GPU 上执行 LINQ

  • 2010-05-18
  • 本文字数:690 字

    阅读完需:约 2 分钟

Brahma 是一个用于并行计算的开源库,它由 C#编写并支持在多种处理器上运行。目前,Brahma 仅包含一个图形处理器(GPU)模块,但是它的模块化结构可以支持更多种类的处理器。使用 Brahma,同一个 C#方法中的语句可以同时运行在 CPU 和 GPU 上,而不需要额外的代码。

Brahma 通过将 LINQ 语句转换成目标处理器代码来执行并行计算,所生成的代码会跟据目标处理器的不同而不同。例如针对 DirectX 会生成 High Level Shading Language ,而针对 OpenGL 则会生成 OpenGL Shading Language 。为了提高性能,LINQ 查询仅被编译一次,然后根据需要多次运行

下面的代码会并行地将一个数组的元素都乘以 2:

复制代码
// 创建计算对象
var computationProvider = new ComputationProvider();
// 创建并行数组,并填充数据
var data = new DataParallelArray<float>(computationProvider, <br></br> new[] { 0f, 1f, 2f, 3f, 4f, 5f, 6f });<p>// 编译 LINQ 查询 </p><br></br>CompiledQuery query = computationProvider.Compile<dataparallelarray><float>><br></br>(<br></br> d => from value in d<br></br> select value * 2f<br></br>);<p>// 在数据上执行查询 </p><br></br>IQueryable result = computationProvider.Run(query, data);<p>// 打印结果 </p><br></br>foreach (float value in result)<br></br> Console.WriteLine(result[i]);<p>// 释放资源 </p><br></br>computationProvider.Dispose();<br></br>data.Dispose();<br></br>result.Dispose();</float></dataparallelarray></float>

Brahma 的源代码二进制文件遵循 Eclipse Public License 1.0

查看英文原文: LINQ on GPU with Brahma

2010-05-18 00:392652
用户头像

发布了 63 篇内容, 共 26.5 次阅读, 收获喜欢 1 次。

关注

评论

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

大模型没有“知识围城”

脑极体

AI

FlagEval 8月榜 | 文生视频大模型主观评测结果揭晓,新增6款新发布模型

智源研究院

SRE 必备知识 - Kafka 探秘之零拷贝技术

巴辉特

kafka zero-copy

面试官:Leader崩溃Follower不够新怎么办?

王磊

百度搜索的RLHF性能优化实践

百度Geek说

百度 算法 性能优化

IT行业怎么定义?需要堡垒机吗?

行云管家

堡垒机 IT行业

DDOS的防护方案

德迅云安全杨德俊

官宣:KaiwuDB 开源啦!

KaiwuDB

KaiwuDB 开源啦

吴恩达辞任Landing AI CEO,专注AI投资?数学家斯蒂芬预言哲学家引领AI未来|AI日报

可信AI进展

人工智能

淘宝商品详情数据接口(商品价格,商品库存,商品销量,商品优惠券)

tbapi

淘宝商品详情数据接口 淘宝API接口

GalaChain 全面剖析:为 Web3 游戏和娱乐而生的创新区块链

Footprint Analytics

Rectangle Pro for Mac v3.0.31激活版 窗口管理布局工具

Rose

Oracle数据库客户端 SQLPro for Oracle for mac v1.0.302激活版

Rose

不使用 JS 纯 CSS 获取屏幕宽高

南城FE

CSS 前端

TikTok直播网络加速方法

Ogcloud

TikTok tiktok运营 tiktok直播 tiktok直播专线 tiktok矩阵

利用淘宝商品评论API返回值优化商品转化率:策略与实践

代码忍者

ETL数据集成丨实现SQLServer数据库的高效实时数据同步

RestCloud

MySQL 数据库 ETL SqlServer 数据集成

万亿数据规模下,火山引擎ByteHouse助力银行日志数据高效分析

字节跳动数据平台

数据库 云原生 Clickhouse 数仓

如何设计真正的实时数据湖?

tapdata

实时数据湖 数据集处理流程 湖仓一体是什么

亲测兼容M1 PS2019 for mac中文直装版 附Photoshop2019破解补丁

Rose

网易伏羲AI Agent 技术分享:揭秘AOP框架在《永劫无间》手游Copilot的应用实践

网易伏羲

aop agent 网易伏羲 Copilot 游戏AI

智能引领,服务升级:哈银消费金融以科技力量重塑金融服务体验

极客天地

从 0 到 1 搭建一个 No Server 的博客能学到什么

yuanyxh

前端 js React Blog

使用Brahma在GPU上执行LINQ_.NET_Abel Avram_InfoQ精选文章