写点什么

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

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

关注

评论

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

云办公成趋势,华为云桌面全方位保障企业安全

科技之光

云上办公,还得是华为云桌面的一站式云上工作站

科技之光

华为云桌面之下的“冰山”:技术底座x繁荣生态加速模式进化

IT科技苏辞

【JWT】jwt令牌研究

No8g攻城狮

JWT\ JWT

华为云会议,更专业“会”更好

秃头也爱科技

华为云桌面Workspace,如何为用户开启全新办公模式?

爱科技的水月

华为云会议,助力企业高效办公

秃头也爱科技

华为云会议,让会议更智能

秃头也爱科技

阿里云香港节点全面故障给我们的启示

laofo

DevOps 研发效能 DevOps工具

华为云会议,助力企业移动办公效率提升

i生活i科技

头部效应明显,中小厂商「闷赚」的 Dating 赛道

融云 RongCloud

社交 虚拟

对比PyTorch、TensorFlow、JAX、Theano,我发现都在关注两大问题

OneFlow

人工智能 深度学习 函数转换

网络安全实战之植入后门程序

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 漏洞挖掘

华为云桌面,为企业发展打造优质云办公环境

爱科技的水月

云上办公,且看华为云桌面如何加速企业数字化发展之路?

科技之光

数字化办公?选云桌面就对了!

科技之光

自动化测试技术笔记(三):如何编写技术方案

老张

自动化测试 技术方案

华为云桌面为企业数字化发展赋能强劲动力

爱科技的水月

华为云桌面远程办公,真香!

爱科技的水月

数字云办公连续7年领跑,华为云桌面优势突显!

科技之光

HTTP的状态码

穿过生命散发芬芳

HTTP 12月月更

2022-12-21:uifd/ui-for-docker是docker的web可视化工具。请问部署在k3s中,yaml文件如何写?

福大大架构师每日一题

Docker 云原生 k8s k3s 福大大

华为云会议——安全得多,高效得很

秃头也爱科技

【Spring专题】「开发指南」夯实实战基础功底之解读logback-spring.xml文件的详解实现

码界西柚

spring logback 12月日更 12 月 PK 榜

随时随地一键开会,华为云会议大幅提升用户开会体验

i生活i科技

Verilog模块例化

芯动大师

Verilog语法 Verilog例化模块 Verilog教程

mysql数据库运维常用的shell脚本

@下一站

12月日更 12月月更

华为云会议助力大家保险提升沟通协作效能

i生活i科技

我在编码过程使用Jenkins自动化的姿势

大东(AIP内容运营专员)

华为云桌面,一站式云上数字化创作深度解读

IT科技苏辞

华为云桌面协同办公,助力建筑行业数字化转型

爱科技的水月

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