速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

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

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

关注

评论

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

通过SQL获取每个月第n周任意天的数据

搞大屏的小北

sql查询 sql 第一周 每个月 周一

Kyligence x 明道云|低代码平台助力中小企业实现存量背景下的创新增长

Kyligence

数据分析 低代码平台 指标平台

数字化转型应该如何去做?(过程管理方法篇)

数字随行

数字化转型

万众瞩目的Nautilus Chain即将上线主网,生态正式起航

大瞿科技

RocketMQ 多级存储设计与实现

阿里巴巴云原生

阿里云 RocketMQ 云原生

架构愿景: 构建良好软件的关键

俞凡

架构

inBuilder今日分享丨表单设计器画布渲染引擎揭秘

inBuilder低代码平台

利用跨端框架和小程序容器技术,打造一致体验的多平台应用

FinFish

小程序 小程序容器 跨端框架 小程序化

AIGC下的低代码赛道,你我皆是拓荒人

引迈信息

AI 低代码 AIGC JNPF

数据可视化:分布类可视化图表大全

2D3D前端可视化开发

大数据 数据分析 数字化转型 数据可视化 数据可视化工具

MobTech MobLink|小程序、网页跳转App的原理

MobTech袤博科技

云服务器与独立服务器的性能比较:您需要了解的关键差异

一只扑棱蛾子

云服务器 独立服务器 服务器性能

进阶神册!Redis+Nginx+设计模式+Spring全家桶+Dubbo核心技术笔记

程序知音

Java 数据库 spring java架构 Java进阶

Last Week in Milvus

Zilliz

非结构化数据 Milvus Zilliz 向量数据库

Wallys/DR5018+QCN6122/support for the latest Wi-Fi standards in networking devices.

Cindy-wallys

ipq5018 QCN6102 QCN6122

拿到字节跳动奖学金,入职字节跳动做科研,他们经历了什么?

字节跳动技术范儿

字节跳动 语音合成 模型压缩

LangChain 查询使用指「北」

Zilliz

Milvus AIGC 向量数据库 zillizcloud langchain

开源大模型新SOTA!支持免费商用,比LLaMA65B小但更强,基于1万亿token

Openlab_cosmoplat

开源社区 falcon

名侦探白洞(二):办公室“神秘人”事件

白洞计划

智慧楼宇

多元办公场景下,企业如何保障工作效率与数据安全流通?

人称T客

项目很大,是否忍一下?

巨梦科技

微前端

踢碎破局陷阱,来一场酣畅淋漓的 SLG!

网易智企

AI AIGC

点云标注技术推动该领域的发展

来自四九城儿

软件架构: 一切皆有代价

俞凡

架构

西南财经大学李玉周:数智化技术广泛使用推动管理会计加快落地

用友BIP

智能会计 价值财务

AI浪潮再掀低代码开发热,快来了解最新趋势!

加入高科技仿生人

人工智能 低代码 AI技术

软件测试/测试开发丨Web自动化测试高级定位xpath

测试人

程序员 软件测试 自动化测试 测试开发

怎样将图片直接转换为3d模型?

真大的脸盆

Mac Mac 软件 图片转换工具 图片转换模型软件

GreptimeDB 使用指南|快速查询分析外部数据

Greptime 格睿科技

数据库 分布式 云原生 时序数据库 使用指南

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