【ArchSummit】如何通过AIOps推动可量化的业务价值增长和效率提升?>>> 了解详情
写点什么

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

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

关注

评论

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

探索自然语言处理:语言模型的发展与应用

霍格沃兹测试开发学社

如何在项目中定义和使用hooks函数?

这我可不懂

科技进步对于我们的未来来说,到底是利好还是利弊?为什么?

算法的秘密

vue实现导出excel的多种方式

百度搜索:蓝易云

云计算 Linux 运维 Vue 云服务器

干货盘点!市场调查与分析必备的10个模板!

彭宏豪95

职场 在线白板 行业调研 效率软件 调研报告

图数据库基准测试 LDBC SNB 系列讲解:Schema 和数据生成的机制

不在线第一只蜗牛

数据库 LDBC

一文告诉你服务器为什么要托管?

Finovy Cloud

云服务器 IDC 服务器托管

零基础入门数据挖掘-课程汇总

阿里云天池

阿里云

AppLink对51Tracking的集成方式

RestCloud

APPlink 自动化集成 51tracking

Java 异常处理与正则表达式详解,实例演练及最佳实践

小万哥

Java 程序人生 编程语言 软件工程 后端开发

揭秘ChatGPT的Prompt方法:原理与应用总结

霍格沃兹测试开发学社

大模型 | LLM的7大主要功能有哪些?

澳鹏Appen

大模型 LLM

电子签赛道效率之争,e签宝率先给解法

ToB行业头条

post为什么会发送两次请求?

百度搜索:蓝易云

云计算 Linux 运维 post 云服务器

一文搞懂Vue的MVVM模式与双向绑定

EquatorCoco

Java vue.js Vue

深入了解 Linux 常用性能统计命令

霍格沃兹测试开发学社

SQL中如何添加数据:基础指南

霍格沃兹测试开发学社

探索机器学习:从基础概念到应用实践

霍格沃兹测试开发学社

设计原则 — DRY & Rule of three

Lemoon Can

设计原则 DRY Rule Of three

观测云在 .NET 业务中分析性能问题的最佳实践

观测云

APM Profile 可观测性

上云?!下云?!这难倒了孙悟空!

脑极体

云计算

“打工人”的自我修养-如何在30秒内把“问题”讲清楚

K

原创 职场 认知 逻辑

新零售SaaS架构:什么是线上商城系统?

快乐非自愿限量之名

架构 零售 SaaS

如何使用Redis来防止穿透、击穿和雪崩问题

百度搜索:蓝易云

redis 云计算 Linux 运维 云服务器

云上三问,迈向智能时代的关键

脑极体

云计算

1688API接口推荐:1688工厂档案信息数据接口

tbapi

1688 1688API接口 1688工厂档案信息

阿里通义灵码全面公测,来看看它的水平怎么样?

阿里巴巴云原生

阿里云 云原生 通义灵码

白嫖他悟空CRM项目 ,部署了直接用起来

程序猿忙什么

走进AI新时代:织信低代码的实践与启示

优秀

AI 低代码 AI智能

ADB 下载、安装及使用教程:让你更好地管理 Android 设备

霍格沃兹测试开发学社

思维导图ai生成软件有哪些?这5款值得推荐!

彭宏豪95

人工智能 思维导图 在线白板 AIGC 思维导图软件

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