在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

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

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

关注

评论

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

淘宝 app 商品详情数据接口:让你轻松掌握优惠价、视频和到手价,助力电商决策

tbapi

淘宝商品详情接口 淘宝app详情接口 淘宝详情数据接口 淘宝优惠券接口 淘宝到手价接口

有哪些常见的云桌面套餐比较推荐?

青椒云云电脑

云桌面 云桌面厂家 云桌面方案

得物iOS函数调用栈及符号化调优实践|得物技术

得物技术

ios

如何评估云桌面套餐的性价比?

青椒云云电脑

桌面云 云桌面 云桌面厂家 云桌面系统

实时语音交互的游戏队友——网易伏羲AI Agent创新应用 | DataFunSummit2024演讲实录

网易伏羲

人工智能 AI 语音 网易伏羲 游戏AI

日志分析是什么?如何进行日志分析?

ServiceDesk_Plus

日志分析 日志采集 日志处理

什么样的云桌面套餐适合按需计费的用户?

青椒云云电脑

云桌面

百度搜索2024考研大数据:北方考生“南移”成潮流

极客天地

什么政府网站一定要安装SSL证书吗?应该选择哪种SSL证书?

防火墙后吃泡面

全球CDN加速的优势与作用

HUODUNYUN

CDN CDN加速 CDN技术 CDN网络加速 全球CDN

软件测试学习笔记丨宠物商店-接口自动化测试实战

测试人

软件测试

有哪些常见的云桌面使用误区?

青椒云云电脑

云桌面 云桌面厂家 云桌面方案

一图为你揭秘云数据库GaussDB管理平台亮点

华为云开发者联盟

云原生 GaussDB 智能运维 数据库·

淘宝商品详情数据接口:解锁电商数据分析新密码

tbapi

淘宝商品详情数据接口

公链技术开发之路:从概念到实现的公链开发全攻略

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 代币开发 海外推广

顶级云桌面套餐:远程办公的终极指南

青椒云云电脑

云桌面 云桌面方案 云桌面系统

IT行业还有未来吗?

程序员高级码农

程序员 互联网 计算机 #编程

实操上手TinyEngine低代码引擎插件化开发

OpenTiny社区

开源 前端 插件化 OpenTiny 低代码引擎

云桌面适合哪些类型的工作

青椒云云电脑

云桌面

云桌面解决方案:为何远程办公需要它们

青椒云云电脑

云桌面 云桌面系统 云桌面技术

2024年最佳云桌面服务:为远程工作者量身定制

青椒云云电脑

云桌面 云桌面厂家

AI+云原生时代,高校该如何创新教育模式

是但求其发

云计算 软件工程 计算机 大学 #云原生

大数据存储计算平台EasyMR:大数据集群动态扩缩容,快速提升集群服务能力

袋鼠云数栈

推荐给远程办公用户的云桌面服务

青椒云云电脑

云桌面 云桌面厂家 云桌面系统

Databend 产品月报(2024年9月)

Databend

离了大谱,和HR互怼后被开了!

王磊

阿里云EMR StarRocks X Paimon创建 Streaming Lakehouse

Apache Flink

大数据 flink StarRocks EMR

k8s-NFS系统配置

不在线第一只蜗牛

Kubernetes 容器 云原生

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