一区二区久久-一区二区三区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)系我們修改或刪除,多謝。

主站蜘蛛池模板: 久草色视频 | 欧美另类精品 | 精品国产福利第一区二区三区 | 亚洲爽视频 | 国产成人精品一区二区视频 | 丁香六月在线视频 | 国产成人精品一区二区免费 | 亚洲视频一区二区 | 成人激情在线视频 | 美女一级免费毛片 | 欧美激性欧美激情在线 | 五月六月婷婷 | 中文字幕久久久久 | 成人小视频免费在线观看 | 国产女视频 | 午夜色网站 | 欧美一级特黄aaa大片 | 国产91精品福利在线观看 | 色婷婷影院在线视频免费播放 | 欧美日韩一区二区三区视频 | 亚洲人欧洲日韩 | 极品美女在线观看 | 日本www在线| 色噜噜国产在线91蝌蚪 | 亚洲激情中文字幕 | 综合久久五月天 | 日韩一区在线播放 | 久久精品视频一区二区三区 | 亚洲欧美7777 | 69视频在线是免费观看 | 福利色播 | 天天躁日日躁成人字幕aⅴ 天天躁日日躁狠狠躁中文字幕老牛 | 东日韩二三区 | 综合区小说区图片区在线一区 | 狠狠干天天爱 | 国产欧美一级片 | 色综合久久91 | 美女视频黄的全免费视频网站 | 女人国产香蕉久久精品 | 午夜免费观看_视频在线观看 | 丁香在线 |