AICon 上海站|90%日程已就绪,解锁Al未来! 了解详情
写点什么

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

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

关注

评论

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

软件测试/测试开发丨Python元组

测试人

Python 软件测试

倒计时2天|2023开放原子开发者大会15个技术平行专场议程速览

开放原子开源基金会

开源

2023开放原子开发者大会全日程

开放原子开源基金会

开源

逻辑多租场景下,故障爆炸半径的控制实践

华为云开发者联盟

开发 华为云 华为云开发者联盟

「大模型摇摇乐」狂欢落幕!盘点那些让你意想不到的应用集锦

飞桨PaddlePaddle

开发者 大模型 AI应用 文心一言

大数据,领导者阵营!

腾讯云大数据

大数据

【第七在线】供应链协作与商品计划:建立强大的合作关系

第七在线

长三角安防行业盛会“2024杭州国际安防产品展览会”

AIOTE智博会

安防展 杭州安防展 安防产品展

先进制造身份治理现状洞察:从手动运维迈向自动化身份治理时代

Authing

制造业 先进制造 国产化替代 身份自动化

铸就安全可信的数字化「信息枢纽」—华为云ROMA Connect荣膺软件产品可信【卓越级】认证

华为云PaaS服务小智

云计算 华为云

数据库系列:业内主流MySQL数据中间件梳理

不在线第一只蜗牛

MySQL 数据库 数据

全方位的账号安全管理

尚思卓越

黑客 网络安全

【第七在线】季节性商品计划:如何应对时尚行业的快速变化

第七在线

分享一些很优秀的URL设计

伤感汤姆布利柏

科普:多领域分布式协同仿真

DevOps和数字孪生

协同仿真

诚邀报名|探索汽车智能化的开源未来

开放原子开源基金会

开源

字节跳动 Spark Shuffle 大规模云原生化演进实践

字节跳动云原生计算

大数据 spark 云原生

Lazada商品评论列表API:电商行业的实时反馈宝库

Noah

openEuler汇聚开源力量,共建全球开源生态

彭飞

大模型微调方法总结:LoRA、Adapter、Prefix-tuning、P-tuning、Prompt-tuning

百度开发者中心

人工智能 深度学习 大模型

测试开发 | AI在交通运输中的引领作用:智能交通系统与城市流动

测吧(北京)科技有限公司

测试

云技术分享 | 使用快照和 AMI 镜像进行 Amazon EC2 的备份和恢复

亚马逊云科技 (Amazon Web Services)

Amazon EC2 Amazon S3 amazon-ebs backup

Cloudeye对接Prometheus实现华为云全方位监控

华为云开发者联盟

云计算 华为云 华为云开发者联盟 华为云弹性云服务器

低代码:万事俱备,就差一个程序员

互联网工科生

软件开发 低代码 JNPF

测试开发 | 智能系统在航空航天领域的应用与创新

测吧(北京)科技有限公司

测试

测试开发 | 语音助手技术:Siri、Alexa、Google Assistant的背后

测吧(北京)科技有限公司

测试

AGI时代的奠基石:Agent+算力+大模型是构建AI未来的三驾马车吗?

GPU算力

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