一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

使用Brahma在GPU上執(zhí)行LINQ

Brahma是一個(gè)用于并行計(jì)算的開源庫,它由C#編寫并支持在多種處理器上運(yùn)行。目前,Brahma僅包含一個(gè)圖形處理器(GPU)模塊,但是它的模塊化結(jié)構(gòu)可以支持更多種類的處理器。使用Brahma,同一個(gè)C#方法中的語句可以同時(shí)運(yùn)行在CPU和GPU上,而不需要額外的代碼。

Brahma通過將LINQ語句轉(zhuǎn)換成目標(biāo)處理器代碼來執(zhí)行并行計(jì)算,所生成的代碼會(huì)跟據(jù)目標(biāo)處理器的不同而不同。例如針對(duì)DirectX會(huì)生成High Level Shading Language,而針對(duì)OpenGL則會(huì)生成OpenGL Shading Language。為了提高性能,LINQ查詢僅被編譯一次,然后根據(jù)需要多次運(yùn)行

下面的代碼會(huì)并行地將一個(gè)數(shù)組的元素都乘以2:

// 創(chuàng)建計(jì)算對(duì)象
var computationProvider = new ComputationProvider();

// 創(chuàng)建并行數(shù)組,并填充數(shù)據(jù)
var data = new DataParallelArray(computationProvider,
new
[] { 0f, 1f, 2f, 3f, 4f, 5f, 6f });

// 編譯LINQ查詢
CompiledQuery query
= computationProvider.Compile>
(
d
=> from value in d
select value * 2f
);

// 在數(shù)據(jù)上執(zhí)行查詢
IQueryable result
= computationProvider.Run(query, data);

// 打印結(jié)果
foreach (
float value in result)
Console.WriteLine(result
[i]);

// 釋放資源
computationProvider.Dispose();
data.Dispose();
result.Dispose();

NET技術(shù)使用Brahma在GPU上執(zhí)行LINQ,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 国产在线一区二区三区欧美 | 亚洲区一二三四区2021 | 丁香婷婷成人 | 久久久99精品久久久 | 情se五月天| 久久综合偷偷噜噜噜色 | 韩国三级日本三级美三级 | 亚洲一区二区三区夜色 | 一道本一区二区三区 | 亚洲视频欧洲视频 | 欧洲亚洲综合 | 看全色黄大色大片免费视频 | 天天在线天天综合网色 | 久久久久亚洲香蕉网 | 中文字幕精品一区二区三区在线 | 国产亚洲高清视频 | 五月天色婷婷综合 | 国产一区二区视频在线观看 | 亚洲第一页乱 | 综合 欧美 国产 视频二区 | 亚洲精品国产综合一线久久 | 爱综合网 | 国产成人精品日本亚洲直接 | 欧美成人免费一级人片 | 亚洲福利视频一区 | 韩国美女毛片 | 久久国产香蕉一区精品 | 免费看91| 二级片毛片 | 国产热视频 | 四虎新地址4hu 你懂的 | 国产女乱淫真高清免费视频 | 亚洲黄区 | 午夜爱 | 麻豆综合网 | 日本精品一区二区三区在线视频| 草草视频免费在线观看 | 久久99亚洲综合精品首页 | 韩国一级毛片a级免观看 | 久久婷婷网| 国产l精品国产亚洲区久久 国产swag在线 |