写点什么

使用 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:392807
用户头像

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

关注

评论

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

点对点专线有什么优势?适合跨国企业使用吗?

Ogcloud

专线网络 跨国网络 跨国网络专线 网络专线 点对点专线

【Redis技术进阶之路】「原理分析系列开篇」揭秘高效存储模型与数据结构底层实现(SDS)

码界西柚

redis Redis 核心技术与实战 底层原理 数据库· redis 底层原理

提示词工程——AI应用必不可少的技术

不在线第一只蜗牛

人工智能 深度学习

用友BIP,给软件插上AI翅膀,做实业务创新

用友BIP

智能体 ERP 数智化 用友BIP 业务创新

用友与泰安市政府战略签约,打造数据产业合作新模式

用友BIP

智能体 数智化 用友BIP 数据产业合作

“北京小茅台”华都酒业携手用友,开启数智营销新纪元

用友BIP

AI 智能体 用友BIP 数智营销

华为开发者空间:基于DeepSeek+Cherry Studio构建模拟面试助手

华为云开发者联盟

人工智能 云主机 大模型 DeepSeek

从思考,到行动:由Manus爆火谈AI Agent

脑极体

AI

直播精彩回顾 | DeepSeek驱动可观测性变革,解锁运维与AI融合新玩法

博睿数据

2025年,从全栈开发到低代码的生存博弈

秃头小帅oi

现代数据栈:秽土重生?——从 SAP x Databricks 看数据世界的轮回

tapdata

数据孤岛 现代数据栈 仓库原生 统一数据 SAP Databricks

YashanDB SWAP表空间管理

YashanDB

数据库 yashandb

如何让你的应用在市场中脱颖而出?

HarmonyOS SDK

harmoyos

出海行动派 | 全球服务新征程!Bonree ONE海外版正式发布

博睿数据

出海企业 可观测性平台

淘宝API接口实战指南:如何用技术打开淘宝商品详情商品评论数据?(附真实代码)

代码忍者

淘宝API接口

【Redis技术进阶之路】「底层源码解析」揭秘高效存储模型与数据结构底层实现(链表)

码界西柚

数据库 redis Redis 核心技术与实战 redis 底层原理 挖掘底层原理

网站域名解析怎么更换DNS服务器?需要注意什么?

防火墙后吃泡面

阿里妈妈基于 Flink+Paimon 的 Lakehouse 应用实践

Apache Flink

大数据 实时计算 流式数仓 Apache Flink Apache Paimon

AI与人类合作:未来工作中最重要的技能是什么?

天津汇柏科技有限公司

人工智能 AI

出海行动派 | 全球服务新征程!Bonree ONE海外版正式发布

博睿数据

YDS重磅发布,用友BIP让开发者成就“十倍效能工程师”

用友BIP

AI 开发者 数智化 用友BIP YDS

换了个图床,以后就用这个了

程序员郭顺发

3FS系列(一):存储新纪元的开篇——3FS编译调优与部署的工程实践

九章云极DataCanvas

人工智能 DeepSeek 3FS

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