10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

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

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

关注

评论

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

鸿蒙通信实战:Call Service Kit打造智能文档协作通话

huafushutong

HarmonyOS NEXT

HarmonyOS开发实战:ArkTS构建高性能新闻应用界面

chengxujianke

HarmonyOS NEXT

HarmonyOS开发实战:Core Speech Kit在新闻应用的语音交互实现

chengxujianke

HarmonyOS NEXT

鸿蒙应用开发:Intents Kit实现新闻应用智能跳转

chengxujianke

HarmonyOS NEXT

鸿蒙应用生态实战:AppGallery Kit实现文档应用智能分发

huafushutong

HarmonyOS NEXT

鸿蒙云服务实战:Cloud Foundation Kit构建企业级文档云平台

huafushutong

HarmonyOS NEXT

鸿蒙智能联络实战:Contacts Kit构建文档协作关系网络

huafushutong

HarmonyOS NEXT

鸿蒙开发实战:ArkWeb实现新闻应用内嵌浏览器优化

chengxujianke

HarmonyOS NEXT

HarmonyOS开发实战:Form Kit实现新闻桌面卡片功能

chengxujianke

HarmonyOS NEXT

鸿蒙开发实战:IME Kit实现新闻应用智能输入体验

chengxujianke

HarmonyOS NEXT

HarmonyOS开发实战:HiAI Foundation Kit赋能新闻应用智能推荐

chengxujianke

HarmonyOS NEXT

HarmonyOS开发实战:MindSpore Lite Kit优化新闻推荐模型推理

chengxujianke

HarmonyOS NEXT

鸿蒙智能影像实战:Vision Kit打造专业文档扫描引擎

huafushutong

HarmonyOS NEXT

鸿蒙开发实战:ArkUI构建新闻应用的高性能界面

chengxujianke

HarmonyOS NEXT

HarmonyOS开发实战:Background Tasks Kit实现新闻数据后台同步

chengxujianke

HarmonyOS NEXT

HarmonyOS开发实战:IPC Kit实现新闻应用跨进程通信优化

chengxujianke

HarmonyOS NEXT

鸿蒙深度链接实战:App Linking Kit构建智能文档工作流

huafushutong

HarmonyOS NEXT

电脑网页的视频怎么保存到本地,从网页下载视频的方法?怎么使用IDM的站点抓取功能下载网站视频?

阿拉灯神丁

视频下载器 IDM idm下载 网页视频下载工具 网络加速服务

鸿蒙开发实战:Localization Kit实现新闻应用全球化适配

chengxujianke

HarmonyOS NEXT

HarmonyOS开发实战:UI Design Kit打造新闻应用沉浸式体验

chengxujianke

HarmonyOS NEXT

鸿蒙商业智能实战:Ads Kit实现文档应用精准变现

huafushutong

HarmonyOS NEXT

鸿蒙智能语音实战:Speech Kit打造高精度语音文档系统

huafushutong

HarmonyOS NEXT

鸿蒙时间管理实战:Calendar Kit实现智能文档时效控制

huafushutong

HarmonyOS NEXT

HarmonyOS开发实战:Ability Kit在新闻应用中的高效实现

chengxujianke

HarmonyOS NEXT

标题:鸿蒙开发实战:ArkData实现新闻数据高效存储与同步

chengxujianke

HarmonyOS NEXT

鸿蒙容器组件 Row 全解析:水平布局技术与多端适配指南

谢道韫

鸿蒙开发笔记:Core Vision Kit在新闻应用的图像识别实践

chengxujianke

HarmonyOS NEXT

鸿蒙AI加速实战:Neural Network Runtime Kit极速文档处理

huafushutong

HarmonyOS NEXT

鸿蒙账户安全实战:Account Kit实现企业级文档权限管理

huafushutong

HarmonyOS NEXT

鸿蒙开发笔记:Accessibility Kit打造无障碍新闻阅读体验

chengxujianke

HarmonyOS NEXT

鸿蒙开发实战:Core File Kit实现新闻离线缓存管理

chengxujianke

HarmonyOS NEXT

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