99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

GPU加速 Node.js實(shí)現(xiàn)可視化和更高的速度

星星科技指導(dǎo)員 ? 來(lái)源:NVIDIA ? 作者:NVIDIA ? 2022-04-21 14:43 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

NVIDIA GTC21 有大量精彩且引人入勝的內(nèi)容,特別是在 RAPIDS 附近,因此很容易錯(cuò)過(guò)我們的首次演示“ 使用 RAPIDS 加速 Node. js JavaScript 以實(shí)現(xiàn)可視化和更高的速度。 ”是的–我們正在通過(guò) Node.js 項(xiàng)目將 GPU 加速數(shù)據(jù)科學(xué)的力量帶到 JavaScript Node.js 社區(qū)。

Node- RAPIDS 是 Node.js 中模塊化 RAPIDS 庫(kù)綁定的開源技術(shù)預(yù)覽,以及支持基于瀏覽器的高性能可視化的補(bǔ)充方法。

poYBAGJg_RGASsApAACskN4gI4E854.png

web viz 有什么問(wèn)題?

大約十年前 是圍繞基于 web 的數(shù)據(jù)可視化的迷你復(fù)興,它展示了 D3 等高度交互、易于共享和使用的工具的好處。雖然性能不如 C / C ++或 Python 框架,但由于 JavaScript 的可訪問(wèn)性,它們的受歡迎程度開始上升。毫不奇怪,它通常被列為 最流行的開發(fā)人員語(yǔ)言 ,排在 Python 或 Java 之前,現(xiàn)在有了完整的可視化和數(shù)據(jù)工具目錄。

然而,這個(gè)龐大的 JavaScript 開發(fā)社區(qū)由于缺乏首選語(yǔ)言中的一流加速數(shù)據(jù)工具而受到阻礙。當(dāng)分析與數(shù)據(jù)源、科學(xué)和可視化盡可能接近時(shí),分析是最有效的。要使用 JavaScript 完全訪問(wèn) GPU 硬件(超越 webGL 限制和黑客),需要精通多種語(yǔ)言來(lái)設(shè)置復(fù)雜的中間件管道或使用 Plotly Dash 等非 js 框架。因此,數(shù)據(jù)工程師、數(shù)據(jù)科學(xué)家、可視化專家和前端開發(fā)人員往往被孤立起來(lái),甚至在組織內(nèi)部也是如此。這是有害的,因?yàn)閿?shù)據(jù)可視化是這些群體之間交流的理想媒介。

至于 RAPIDS Viz 團(tuán)隊(duì) 自從我們第一次證明概念 ,我們希望構(gòu)建能夠通過(guò)瀏覽器與數(shù)億個(gè)數(shù)據(jù)點(diǎn)實(shí)時(shí)無(wú)縫交互的工具——我們終于找到了一種方法。

為什么選擇 Node 。 js

如果您不熟悉 Node.js ,它是一個(gè)基于 C / C ++的開源跨平臺(tái)運(yùn)行時(shí)環(huán)境,在 web 瀏覽器之外執(zhí)行 JavaScript 代碼。超過(guò) 100 萬(wàn) Node. js 下載量 per day 。 節(jié)點(diǎn)包管理器 ( NPM )是默認(rèn)的 JavaScript 包管理器,微軟擁有它。 Node.js 用于 eBay 、 AliExpress 等在線市場(chǎng)的后端,并被 Netflix 、 PayPal 和 Groupon 等高流量網(wǎng)站使用。顯然,這是一個(gè)強(qiáng)大的框架。

pYYBAGJg_RKATPVpAAKTThE7u88229.png

圖 1 : XKCD Node 。 js 是一個(gè)通用連接器。

Node. js 是一個(gè)連接器,它為我們提供了直接訪問(wèn)硬件的 JavaScript ,從而簡(jiǎn)化了 API 并能夠使用 NVIDIA CUDA.

. 通過(guò)創(chuàng)建節(jié)點(diǎn) – RAPIDS 綁定,我們使一個(gè)龐大的開發(fā)人員社區(qū)能夠使用 GPU 加速,而無(wú)需學(xué)習(xí)新語(yǔ)言或在新環(huán)境中工作。我們還為同一社區(qū)提供高性能數(shù)據(jù)科學(xué)平臺(tái): RAPIDS !

下面是一個(gè)基于 我們的基本筆記本 的節(jié)點(diǎn) – RAPIDS 的片段,它顯示了一個(gè)小型正則表達(dá)式示例的 6x 加速:

// Using https://github.com/rapidsai/node-rapids/
const cudf = require('@rapidsai/cudf');
const regexps = [
/Cloud|Overcast/,
/Rain|T-Storm|Thunderstorm|Squalls|Drizzle/,
/Snow/,
/Fog/,
/Ice|Hail|Freezing|Sleet/,
/Dust|Smoke|Sand/,
];
?
console.log('');
?
const weather_condition_gpu = cudf.DataFrame.readCSV({
header: 0,
sourceType: 'files',
sources: [`${__dirname}/US_Accidents_Dec20.csv`],
dataTypes: {
id: 'str', source: 'str', tmc: 'float64', severity: 'int32', start_time: 'str', end_time: 'str',
start_lat: 'float64', start_lng: 'float64', end_lat: 'float64', end_lng: 'float64',
distance: 'float64', description: 'str', number: 'int32', street: 'str', side: 'str',
city: 'str', county: 'str', state: 'str', zipcode: 'str', country: 'str', timezone: 'str', airport_code: 'str',
weather_timestamp: 'str', temperature: 'float64', wind_chill: 'float64', humidity: 'float64', pressure: 'float64',
visibility: 'float64', wind_direction: 'str', wind_speed: 'float64', precipitation: 'float64', weather_condition: 'str',
amenity: 'bool', bump: 'bool', crossing: 'bool', give_way: 'bool', junction: 'bool', no_exit: 'bool', railway: 'bool',
roundabout: 'bool', station: 'bool', stop: 'bool', traffic_calming: 'bool', traffic_signal: 'bool', turning_loop: 'bool',
sunrise_sunset: 'str', civil_twilight: 'str', nautical_twighlight: 'str', astronomical_twighlight: 'str'
},
}).get('weather_condition');
?
console.time(`GPU time`);
?
regexps.forEach((regexp) => {
console.time(`${regexp.source} time`);
const matches = weather_condition_gpu.containsRe(regexp.source).sum();
console.timeEnd(`${regexp.source} time`);
console.log(`${regexp.source} matches: ${matches.toLocaleString()}`);
});
?
console.timeEnd(`GPU time`);
?
console.log('');
?
const weather_condition_cpu = (() => {
const categorical = weather_condition_gpu.cast(new cudf.Categorical(new cudf.Utf8String));
const categories = [...categorical.categories];
const codes = [...categorical.codes];
return codes.map((i) => categories[i]);
})();
?
console.time(`CPU time`);
?
regexps.forEach((regexp) => {
console.time(`${regexp.source} time`);
const matches = weather_condition_cpu.reduce((matches, weather_condition) => {
return matches + (regexp.exec(weather_condition) || []).length;
}, 0);
console.timeEnd(`${regexp.source} time`);
console.log(`${regexp.source} matches: ${matches.toLocaleString()}`);
});
?
console.timeEnd(`CPU time`);
?
console.log('');
/* OUTPUT:
---------------------------
// 1.6GB .CSV
// GPU: Titan RTX
Cloud|Overcast time: 26.819ms
Cloud|Overcast matches: 1,896,354
Rain|T-Storm|Thunderstorm|Squalls|Drizzle time: 63.813ms
Rain|T-Storm|Thunderstorm|Squalls|Drizzle matches: 326,441
Snow time: 6.396ms
Snow matches: 68,101
Fog time: 6.997ms
Fog matches: 52,063
Ice|Hail|Freezing|Sleet time: 44.031ms
Ice|Hail|Freezing|Sleet matches: 4,698
Dust|Smoke|Sand time: 29.932ms
Dust|Smoke|Sand matches: 8,846
GPU time: 190.457ms
// CPU: AMD Ryzen Threadripper 1900X 8-Core (3.8GHZ)
Cloud|Overcast time: 244.493ms
Cloud|Overcast matches: 1,896,354
Rain|T-Storm|Thunderstorm|Squalls|Drizzle time: 192.591ms
Rain|T-Storm|Thunderstorm|Squalls|Drizzle matches: 326,441
Snow time: 206.071ms
Snow matches: 68,101
Fog time: 204.61ms
Fog matches: 52,063
Ice|Hail|Freezing|Sleet time: 214.325ms
Ice|Hail|Freezing|Sleet matches: 4,698
Dust|Smoke|Sand time: 164.633ms
Dust|Smoke|Sand matches: 8,846
CPU time: 1.230s
---------------------------
// GPU is 6.45x faster than CPU
*/

節(jié)點(diǎn) – RAPIDS :計(jì)為構(gòu)建塊

poYBAGJg_ROAJDYzAADfZRoxj_4417.png

圖 2 : Node- RAPIDS 模塊概述。

與節(jié)點(diǎn)項(xiàng)目類似,節(jié)點(diǎn) – RAPIDS 設(shè)計(jì)為模塊化。我們的目標(biāo)不是構(gòu)建交鑰匙 web 應(yīng)用程序,而是創(chuàng)建一個(gè) 功能清單 ,以支持或加速各種各樣的用例和管道。前面是當(dāng)前和計(jì)劃節(jié)點(diǎn)的概述 – RAPIDS 模塊按一般類別分組。 節(jié)點(diǎn) – RAPIDS 應(yīng)用程序可以根據(jù)需要使用任意數(shù)量的模塊。

為了減少起步的困難,我們還構(gòu)建了一個(gè) 演示目錄 ,它可以作為通用應(yīng)用程序的模板。隨著我們開發(fā)更多綁定,我們將創(chuàng)建更多演示來(lái)展示它們的功能。

pYYBAGJg_ROAAVhUAABusW_eiSQ990.png

圖 3 :交叉過(guò)濾器應(yīng)用程序的示例。

前面是使用 RAPIDS cuDF 和 RAPIDS cuSpatial 庫(kù)的地理空間交叉過(guò)濾儀表板應(yīng)用程序的理想堆棧。我們有一個(gè)使用 Deck.gl 的簡(jiǎn)單演示,您可以使用我們的 video 進(jìn)行預(yù)覽,并在 Github 上探索 演示代碼 。

poYBAGJg_RSAOksjAABZHz0hjxA642.png

圖 4 :流式 ETL 流程的示例。

前面的最后一個(gè)示例是一個(gè)僅服務(wù)器端的 ETL 管道,沒(méi)有任何可視化。我們有一個(gè)使用 cuDF 綁定和 互動(dòng)筆記本 桌面應(yīng)用程序的簡(jiǎn)單 ETL 流程示例,您可以在 Notebook 上使用 video 進(jìn)行預(yù)覽,并使用(獲?。┙换?。

下一步是什么?

雖然我們考慮這個(gè)項(xiàng)目已經(jīng)有一段時(shí)間了,但我們才剛剛開始開發(fā)。 RAPIDS 是一個(gè)令人難以置信的框架,我們希望將它帶給更多的人和更多的應(yīng)用程序— RAPIDS 正如我們所說(shuō)的那樣。

近期下一步:

接下來(lái)的一些短期步驟是繼續(xù)構(gòu)建核心 RAPIDS 綁定特性,您可以在我們的 當(dāng)前綁定覆蓋率表 上查看這些特性。

如果直接從您的 web 應(yīng)用程序中使用 GPU 加速 SQL 查詢的想法聽起來(lái)很有趣(對(duì)我們來(lái)說(shuō)的確如此),那么我們也希望盡快開始使用一些 blazingSQL 綁定。

最值得注意的是,我們計(jì)劃開始創(chuàng)建和發(fā)布模塊化 docker 容器,這將大大簡(jiǎn)化當(dāng)前的源代碼技術(shù)預(yù)覽安裝過(guò)程。

關(guān)于作者

Allan Enemark ,數(shù)據(jù)可視化設(shè)計(jì), NVIDIA RAPIDS 數(shù)據(jù)可視化團(tuán)隊(duì)負(fù)責(zé)人,致力于建立概念證明,開發(fā)工具,并與 RAPIDS 集成框架,通過(guò) GPU 加速推進(jìn)可視化分析領(lǐng)域。

Ajay Thorve 是 NVIDIA 的軟件工程師, RAPIDS 組織的可視化團(tuán)隊(duì)的一部分。 Ajay 的背景是全棧開發(fā)和數(shù)據(jù)科學(xué),主要興趣包括 JavaScript / TypeScript 和 Python 。目前, Ajay 在 RAPIDS viz 團(tuán)隊(duì)的工作主要集中在為 cuXfilter 和 node- RAPIDS 項(xiàng)目做出貢獻(xiàn)。

Bryan Van de Ven 是 NVIDIA 的高級(jí)系統(tǒng)軟件工程師,負(fù)責(zé) RAPIDS 的前端和可視化工具。此前,他曾在微軟和 Anaconda 工作,在那里他創(chuàng)建了 conda 軟件包管理器,并共同創(chuàng)建了 Bokeh 可視化庫(kù)。布萊恩獲得了 UT 奧斯汀大學(xué)的計(jì)算機(jī)科學(xué)和數(shù)學(xué)學(xué)士學(xué)位,以及加州大學(xué)洛杉磯分校的物理學(xué)碩士學(xué)位。

Paul Taylor 是 NVIDIA RAPIDS 的高級(jí)工程師。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • NVIDIA
    +關(guān)注

    關(guān)注

    14

    文章

    5309

    瀏覽量

    106456
  • gpu
    gpu
    +關(guān)注

    關(guān)注

    28

    文章

    4949

    瀏覽量

    131286
  • 可視化
    +關(guān)注

    關(guān)注

    1

    文章

    1264

    瀏覽量

    21871
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    如何實(shí)現(xiàn)光伏數(shù)字孿生可視化?

    光伏數(shù)字孿生可視化是通過(guò)數(shù)字手段構(gòu)建光伏電站的虛擬鏡像,實(shí)現(xiàn)物理實(shí)體與數(shù)字模型的實(shí)時(shí)映射與交互,目的是促進(jìn)光伏電站運(yùn)維管理的智能、高效
    的頭像 發(fā)表于 05-29 15:27 ?216次閱讀
    如何<b class='flag-5'>實(shí)現(xiàn)</b>光伏數(shù)字孿生<b class='flag-5'>可視化</b>?

    HarmonyOS5云服務(wù)技術(shù)分享--ArkTS開發(fā)Node環(huán)境

    、支付平臺(tái)的通知,觸發(fā)自動(dòng)流程。 ? 四、總結(jié)與展望 通過(guò)本文,你已經(jīng)掌握了HarmonyOS云函數(shù)的核心開發(fā)流程,特別是Node.js與HTTP觸發(fā)器的實(shí)戰(zhàn)技巧。隨著HarmonyOS生態(tài)的壯大,云
    發(fā)表于 05-22 17:21

    可視化組態(tài)物聯(lián)網(wǎng)平臺(tái)是什么

    可視化組態(tài)物聯(lián)網(wǎng)平臺(tái)是物聯(lián)網(wǎng)技術(shù)與組態(tài)技術(shù)相結(jié)合的產(chǎn)物,是通過(guò)提供豐富的圖形組件和可視化元素,讓用戶能夠以直觀、便捷的方式對(duì)物聯(lián)網(wǎng)數(shù)據(jù)進(jìn)行監(jiān)控、分析和管理的平臺(tái)。以下是其具體介紹: 定義 組態(tài)
    的頭像 發(fā)表于 04-21 10:40 ?303次閱讀

    Node?RED可視化拖拽編程實(shí)踐-成都縱橫智控EG邊緣計(jì)算網(wǎng)關(guān)

    成都縱橫智控EG邊緣計(jì)算網(wǎng)關(guān)借助Node?RED的開放性與可視化優(yōu)勢(shì),打破了傳統(tǒng)工業(yè)控制系統(tǒng)對(duì)高級(jí)編程技能的依賴,為現(xiàn)場(chǎng)自動(dòng)提供了“人人皆可配置”的新范式。其多協(xié)議、多網(wǎng)絡(luò)及本地智能計(jì)算能力,不僅滿足了當(dāng)前工業(yè)4.0對(duì)實(shí)時(shí)性與
    的頭像 發(fā)表于 04-17 15:38 ?349次閱讀
    <b class='flag-5'>Node</b>?RED<b class='flag-5'>可視化</b>拖拽編程實(shí)踐-成都縱橫智控EG邊緣計(jì)算網(wǎng)關(guān)

    在樹莓派上構(gòu)建和部署 Node.js 項(xiàng)目

    探索在RaspberryPi上構(gòu)建和部署Node.js項(xiàng)目的最佳實(shí)踐。通過(guò)我們的專業(yè)提示和技巧,克服常見(jiàn)挑戰(zhàn),使您的項(xiàng)目順利運(yùn)行。去年圣誕節(jié),我收到了一份極其令人著迷的禮物,它占據(jù)了我許多周末的時(shí)間
    的頭像 發(fā)表于 03-25 09:44 ?278次閱讀
    在樹莓派上構(gòu)建和部署 <b class='flag-5'>Node.js</b> 項(xiàng)目

    【干貨】什么是Node-RED?一文帶你了解!

    一什么是Node-RED?首先我們來(lái)認(rèn)識(shí)一下什么是Node-RED。Node-RED是一個(gè)基于Node.js的開源可視化編程工具,于2013
    的頭像 發(fā)表于 03-13 19:32 ?819次閱讀
    【干貨】什么是<b class='flag-5'>Node</b>-RED?一文帶你了解!

    VirtualLab Fusion中的可視化設(shè)置

    摘要 VirtualLab Fusion中的全局選項(xiàng)對(duì)話框可以輕松定制軟件的外觀和感覺(jué)。還可以保存和加載全局選項(xiàng)文件,以便可以輕松地將偏好設(shè)置從一個(gè)設(shè)備轉(zhuǎn)移到另一個(gè)設(shè)備。本文檔說(shuō)明了與可視化和結(jié)果
    發(fā)表于 02-25 08:51

    VirtualLab Fusion應(yīng)用:光波導(dǎo)k域布局可視化(“神奇的圓環(huán)”)

    特定光波導(dǎo)布局的光導(dǎo)和耦合條件。 概念 方向轉(zhuǎn)換器計(jì)算器 可以通過(guò)“開始”>“計(jì)算器”找到方向轉(zhuǎn)換器計(jì)算器,這有助于演示指定角度的不同方式。 k域可視化 k域可視化:平面波的傳播
    發(fā)表于 02-21 08:53

    Bun 1.2震撼發(fā)布:全力挑戰(zhàn)Node.js生態(tài)的JavaScript運(yùn)行時(shí)新星

    了與 Node.js 的兼容性,還為開發(fā)者帶來(lái)了內(nèi)置的數(shù)據(jù)庫(kù)支持和云服務(wù)集成能力,進(jìn)一步強(qiáng)化了其“全能工具包”的定位。Node.js 兼容性獲得突破性進(jìn)展在此次更新中,最引人注目的是 Bun 在 Node.js 兼容性
    的頭像 發(fā)表于 01-24 10:42 ?868次閱讀
    Bun 1.2震撼發(fā)布:全力挑戰(zhàn)<b class='flag-5'>Node.js</b>生態(tài)的JavaScript運(yùn)行時(shí)新星

    七款經(jīng)久不衰的數(shù)據(jù)可視化工具!

    工具 · D3.js:D3.js 是一個(gè)基于 JavaScript 的數(shù)據(jù)可視化庫(kù),允許開發(fā)者創(chuàng)建豐富的交互式圖表。它具有極大的靈活性,但需要編程知識(shí),因此適合開發(fā)者或具有技術(shù)背景的用戶
    發(fā)表于 01-19 15:24

    什么是大屏數(shù)據(jù)可視化?特點(diǎn)有哪些?

    大屏數(shù)據(jù)可視化是指通過(guò)大屏幕展示大量數(shù)據(jù)和信息,以直觀、可視化的方式幫助用戶理解和分析數(shù)據(jù)。這種展示方式通常用于展示復(fù)雜的數(shù)據(jù)集、實(shí)時(shí)監(jiān)控系統(tǒng)、企業(yè)管理儀表盤等。以下是關(guān)于 大屏數(shù)據(jù)可視化 的詳細(xì)
    的頭像 發(fā)表于 12-16 16:59 ?690次閱讀

    智慧能源可視化監(jiān)管平臺(tái)——助力可視化能源數(shù)據(jù)管理

    博達(dá)可視化大屏設(shè)計(jì)平臺(tái)在智慧能源領(lǐng)域的價(jià)值體現(xiàn)在實(shí)時(shí)監(jiān)控、數(shù)據(jù)可視化、決策支持和效率提升等方面。借助該平臺(tái),企業(yè)可以輕松搭建智慧能源類可視化大屏,更加精確和高效地管理生產(chǎn)和生活,實(shí)現(xiàn)
    的頭像 發(fā)表于 11-29 10:00 ?955次閱讀
    智慧能源<b class='flag-5'>可視化</b>監(jiān)管平臺(tái)——助力<b class='flag-5'>可視化</b>能源數(shù)據(jù)管理

    Node.js小科普和Node.js安裝常見(jiàn)管理工具

    Node.js是一個(gè)JavaScript的運(yùn)行環(huán)境,用來(lái)執(zhí)行JavaScript代碼。 為什么會(huì)出現(xiàn)這么一個(gè)運(yùn)行環(huán)境呢,從JavaScript研發(fā)初衷可以看出它是為了運(yùn)行在瀏覽器中的,讓網(wǎng)頁(yè)交互更加
    的頭像 發(fā)表于 11-23 15:37 ?427次閱讀
    <b class='flag-5'>Node.js</b>小科普和<b class='flag-5'>Node.js</b>安裝常見(jiàn)管理工具

    Node-Red可視化編程:簡(jiǎn)化開發(fā)的創(chuàng)新之選

    Node-Red 是構(gòu)建物聯(lián)網(wǎng) (IOT Internet of Things) 應(yīng)用程序的一個(gè)強(qiáng)大工具,其重點(diǎn)是簡(jiǎn)化代碼塊的“連接 ” 以執(zhí)行任務(wù)。它使用可視化編程方法,允許開發(fā)人員將預(yù)定義的代碼塊 (稱為“節(jié)點(diǎn) ”,Node
    的頭像 發(fā)表于 09-21 10:37 ?826次閱讀
    <b class='flag-5'>Node</b>-Red<b class='flag-5'>可視化</b>編程:簡(jiǎn)化開發(fā)的創(chuàng)新之選

    工程師必備!Node.js和常見(jiàn)管理工具介紹(附操作演示)

    語(yǔ)言及其相關(guān)生態(tài)中的一些基礎(chǔ)而關(guān)鍵的概念,以及它們是如何在互聯(lián)網(wǎng)歷史浪潮中產(chǎn)生的。一JavaScript與Node.js1JavaScriptJavaScript,即JS,
    的頭像 發(fā)表于 08-30 12:34 ?579次閱讀
    工程師必備!<b class='flag-5'>Node.js</b>和常見(jiàn)管理工具介紹(附操作演示)