50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

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

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

关注

评论

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

龙智Atlassian认证专家、Perforce技术专家将于ACT汽车电子与软件技术周带来主题演讲,分享嵌入式开发中的最佳实践与工具链构建

龙智—DevSecOps解决方案

汽车电子 ACT汽车电子与软件技术周

大数据传输的定义与大数据传输解决方案的选择

镭速

大数据传输 大数据传输技术

大环境下,企业如何找到大数据传输解决方案

镭速

大数据传输

openGauss数据库在CentOS上的安装实践

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 8 月 PK 榜

ISO 21434解析:汽车软件开发者的合规实践与指南

龙智—DevSecOps解决方案

汽车电子

流计算 Oceanus 操作效率提升指南(一)

腾讯云大数据

流计算 Oceanus

科兴未来|奖金共计1550万元!“苏颂杯”未来产业技术创新赛

科兴未来News

OpenHarmony携千行百业创新成果亮相HDC.Together 2023

OpenHarmony开发者

OpenHarmony

成都Go面试这么卷?卷王介绍:游戏行业 3年经验 20k+

王中阳Go

Go golang 面试题 面经 算法题

如何在Confluence上设置到期日提醒?Confluence到期日提醒插件重要更新发布,优化表格提醒,增加屏蔽提醒功能

龙智—DevSecOps解决方案

confluence插件

电动汽车安全概述

DevOps和数字孪生

电动汽车 汽车安全

软件测试 | 查看网页的HTML源代码

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

测试

网易云信回声消除量化评估方法

网易智企

回声消除 音视频通话

软件测试 | 什么是Web应用

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

测试

【低代码预研】通过低代码平台开发应用程序

互联网工科生

软件开发 低代码 应用开发 JNPF

〔支付接入〕微信的 h5 支付和 jsapi 支付

江户川码农

微信支付 支付 经验分享 H5支付 jsapi支付

【墨菲安全实验室】Zoom Desktop Client for Windows <5.14.5 权限升级漏洞(CVE-2023-36541)

墨菲安全

网络安全 安全 Zoom 漏洞 墨菲安全

软件测试 | 什么是安全测试

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

测试

【墨菲安全实验室】Apache Traffic Server Range 标头验证不当(CVE-2023-33934)

墨菲安全

Apache 网络安全 安全

【墨菲安全实验室】Microsoft Exchange Server 远程代码执行漏洞(CVE-2023-38182)

墨菲安全

网络安全 安全 漏洞 Microsoft Exchange

TypeChat全面指南:从核心概念到使用

星辰编程理财

AIGC AI编程 typechat

确保数据一致性:单一可信数据源(SSOT)的概念与5个应用示例

龙智—DevSecOps解决方案

ssot single source

强劲实力闪耀榜单,智领云连续四年入选“中国大数据50强”

智领云科技

云原生大数据平台 智领云 云原生K8s大数据平台 大数据产业生态大会

【墨菲安全实验室】WPS Office 存在代码执行漏洞

墨菲安全

网络安全 安全 漏洞 WPS Office

【墨菲安全实验室】Microsoft Teams 远程代码执行漏洞 (CVE-2023-29330)

墨菲安全

安全 漏洞 网络安全、 Microsoft Teams

【墨菲安全实验室】Microsoft Office Visio 远程执行代码漏洞(CVE-2023-36865)

墨菲安全

网络安全 安全 漏洞 Microsoft Office Visio

百度、NVIDIA、Intel……各大厂商集结,共话文心与飞桨共享生态下的大模型训推部署创新实践计划

飞桨PaddlePaddle

人工智能 百度飞桨 硬件生态 WAVE SUMMIT

网络加速与文件传输软件:如何通过优化网络提升文件传输速度

镭速

文件传输 文件传输软件

网易云信回声消除量化评估方法

网易云信

回声消除 音视频技术

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