环球电气之家-午夜精彩视频-中国专业电气电子产品行业服务网站!

產品分類

當前位置: 首頁 > 工業電氣產品 > 端子與連接器 > 線路板連接器 > FFC連接器

類型分類:
科普知識
數據分類:
FFC連接器

GPU加速 Node.js實現可視化和更高的速度

發布日期:2022-04-22 點擊率:40

NVIDIA GTC21 有大量精彩且引人入勝的內容,特別是在 RAPIDS 附近,因此很容易錯過我們的首次演示“ 使用 RAPIDS 加速 Node. js Javascript 以實現可視化和更高的速度。 ”是的–我們正在通過 Node.js 項目將 GPU 加速數據科學的力量帶到 Javascript Node.js 社區。

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


poYBAGJg_RGASsApAACskN4gI4E854.png

web viz 有什么問題?

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

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

至于 RAPIDS Viz 團隊 自從我們第一次證明概念 ,我們希望構建能夠通過瀏覽器與數億個數據點實時無縫交互的工具——我們終于找到了一種方法。

為什么選擇 Node 。 js

如果您不熟悉 Node.js ,它是一個基于 C / C ++的開源跨平臺運行時環境,在 web 瀏覽器之外執行 Javascript 代碼。超過 100 萬 Node. js 下載量 per day 。 節點包管理器 ( NPM )是默認的 Javascript 包管理器,微軟擁有它。 Node.js 用于 eBay 、 AliExpress 等在線市場的后端,并被 Netflix 、 PayPal 和 Groupon 等高流量網站使用。顯然,這是一個強大的框架。

pYYBAGJg_RKATPVpAAKTThE7u88229.png

圖 1 : XKCD Node 。 js 是一個通用連接器。

Node. js 是一個連接器,它為我們提供了直接訪問硬件的 Javascript ,從而簡化了 API 并能夠使用 NVIDIA CUDA.

. 通過創建節點 – RAPIDS 綁定,我們使一個龐大的開發人員社區能夠使用 GPU 加速,而無需學習新語言或在新環境中工作。我們還為同一社區提供高性能數據科學平臺: RAPIDS !

下面是一個基于 我們的基本筆記本 的節點 – RAPIDS 的片段,它顯示了一個小型正則表達式示例的 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('');



節點 – RAPIDS :計為構建塊

poYBAGJg_ROAJDYzAADfZRoxj_4417.png

圖 2 : Node- RAPIDS 模塊概述。

與節點項目類似,節點 – RAPIDS 設計為模塊化。我們的目標不是構建交鑰匙 web 應用程序,而是創建一個 功能清單 ,以支持或加速各種各樣的用例和管道。前面是當前和計劃節點的概述 – RAPIDS 模塊按一般類別分組。 節點 – RAPIDS 應用程序可以根據需要使用任意數量的模塊。

為了減少起步的困難,我們還構建了一個 演示目錄 ,它可以作為通用應用程序的模板。隨著我們開發更多綁定,我們將創建更多演示來展示它們的功能。

pYYBAGJg_ROAAVhUAABusW_eiSQ990.png

圖 3 :交叉過濾器應用程序的示例。

前面是使用 RAPIDS cuDF 和 RAPIDS cuSpatial 庫的地理空間交叉過濾儀表板應用程序的理想堆棧。我們有一個使用 Deck.gl 的簡單演示,您可以使用我們的 video 進行預覽,并在 Github 上探索 演示代碼 。

poYBAGJg_RSAOksjAABZHz0hjxA642.png

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

前面的最后一個示例是一個僅服務器端的 ETL 管道,沒有任何可視化。我們有一個使用 cuDF 綁定和 互動筆記本 桌面應用程序的簡單 ETL 流程示例,您可以在 Notebook 上使用 video 進行預覽,并使用(獲取)交互。

下一步是什么?

雖然我們考慮這個項目已經有一段時間了,但我們才剛剛開始開發。 RAPIDS 是一個令人難以置信的框架,我們希望將它帶給更多的人和更多的應用程序— RAPIDS 正如我們所說的那樣。

近期下一步:

接下來的一些短期步驟是繼續構建核心 RAPIDS 綁定特性,您可以在我們的 當前綁定覆蓋率表 上查看這些特性。

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

最值得注意的是,我們計劃開始創建和發布模塊化 docker 容器,這將大大簡化當前的源代碼技術預覽安裝過程。

關于作者

Allan Enemark ,數據可視化設計, NVIDIA RAPIDS 數據可視化團隊負責人,致力于建立概念證明,開發工具,并與 RAPIDS 集成框架,通過 GPU 加速推進可視化分析領域。

Ajay Thorve 是 NVIDIA 的軟件工程師, RAPIDS 組織的可視化團隊的一部分。 Ajay 的背景是全棧開發和數據科學,主要興趣包括 Javascript / Typescript 和 Python 。目前, Ajay 在 RAPIDS viz 團隊的工作主要集中在為 cuXfilter 和 node- RAPIDS 項目做出貢獻。

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

Paul Taylor 是 NVIDIA RAPIDS 的高級工程師。

審核編輯:郭婷

 

下一篇: PLC、DCS、FCS三大控

上一篇: 如何借助高均勻性的 S

推薦產品

更多
主站蜘蛛池模板: 护栏打桩机-打桩机厂家-恒新重工| 螺杆真空泵_耐腐蚀螺杆真空泵_水环真空泵_真空机组_烟台真空泵-烟台斯凯威真空 | 找果网 | 苹果手机找回方法,苹果iPhone手机丢了找回,认准找果网! | 欧必特空气能-商用空气能热水工程,空气能热水器,超低温空气源热泵生产厂家-湖南欧必特空气能公司 | 丝印油墨_水性油墨_环保油墨油漆厂家_37国际化工 | 河北码上网络科技|邯郸小程序开发|邯郸微信开发|邯郸网站建设 | 施工围挡-施工PVC围挡-工程围挡-深圳市旭东钢构技术开发有限公司 | 体检车_移动CT车_CT检查车_CT车_深圳市艾克瑞电气有限公司移动CT体检车厂家-深圳市艾克瑞电气有限公司 | 玉米深加工机械,玉米加工设备,玉米加工机械等玉米深加工设备制造商-河南成立粮油机械有限公司 | bng防爆挠性连接管-定做金属防爆挠性管-依客思防爆科技 | 细胞染色-流式双标-试剂盒免费代做-上海研谨生物科技有限公司 | 萃取箱-萃取槽-PVC萃取箱厂家-混合澄清槽- 杭州南方化工设备 | 山东活动策划|济南活动公司|济南公关活动策划-济南锐嘉广告有限公司 | 长沙发电机-湖南发电机-柴油发电机供应厂家-长沙明邦智能科技 | 电缆接头_防水接头_电缆防水接头 - 乐清市新豪电气有限公司 | 危废处理系统,水泥厂DCS集散控制系统,石灰窑设备自动化控制系统-淄博正展工控设备 | 棉柔巾代加工_洗脸巾oem_一次性毛巾_浴巾生产厂家-杭州禾壹卫品科技有限公司 | 防水套管|柔性防水套管|伸缩器|伸缩接头|传力接头-河南伟创管道 防水套管_柔性防水套管_刚性防水套管-巩义市润达管道设备制造有限公司 | 软装设计-提供软装装饰和软装配饰及软装陈设的软装设计公司 | 青岛空压机,青岛空压机维修/保养,青岛空压机销售/出租公司,青岛空压机厂家电话 | 房车价格_依维柯/大通/东风御风/福特全顺/江铃图片_云梯搬家车厂家-程力专用汽车股份有限公司 | 手持气象站_便携式气象站_农业气象站_负氧离子监测站-山东万象环境 | 桁架楼承板-钢筋桁架楼承板-江苏众力达钢筋楼承板厂 | 驾驶式洗地机/扫地机_全自动洗地机_工业洗地机_荣事达工厂官网 | 上海地磅秤|电子地上衡|防爆地磅_上海地磅秤厂家–越衡称重 | 骨灰存放架|骨灰盒寄存架|骨灰架厂家|智慧殡葬|公墓陵园管理系统|网上祭奠|告别厅智能化-厦门慈愿科技 | 沈飞防静电地板__机房地板-深圳市沈飞防静电设备有限公司 | 金蝶帐无忧|云代账软件|智能财税软件|会计代账公司专用软件 | 上海电子秤厂家,电子秤厂家价格,上海吊秤厂家,吊秤供应价格-上海佳宜电子科技有限公司 | 12cr1mov无缝钢管切割-15crmog无缝钢管切割-40cr无缝钢管切割-42crmo无缝钢管切割-Q345B无缝钢管切割-45#无缝钢管切割 - 聊城宽达钢管有限公司 | 斗式提升机,斗式提升机厂家-淄博宏建机械有限公司 | 紫外可见光分光度计-紫外分光度计-分光光度仪-屹谱仪器制造(上海)有限公司 | 有机废气处理-rto焚烧炉-催化燃烧设备-VOC冷凝回收装置-三梯环境 | 外贸网站建设-外贸网站设计制作开发公司-外贸独立站建设【企术】 | 胶辊硫化罐_胶鞋硫化罐_硫化罐厂家-山东鑫泰鑫智能装备有限公司 意大利Frascold/富士豪压缩机_富士豪半封闭压缩机_富士豪活塞压缩机_富士豪螺杆压缩机 | 山东聚盛新型材料有限公司-纳米防腐隔热彩铝板和纳米防腐隔热板以及钛锡板、PVDF氟膜板供应商 | 聚氨酯复合板保温板厂家_廊坊华宇创新科技有限公司 | 日本细胞免疫疗法_肿瘤免疫治疗_NK细胞疗法 - 免疫密码 | 防渗土工膜|污水处理防渗膜|垃圾填埋场防渗膜-泰安佳路通工程材料有限公司 | 沟盖板_复合沟盖板厂_电力盖板_树脂雨水篦子-淄博拜斯特 | 红立方品牌应急包/急救包加盟,小成本好项目代理_应急/消防/户外用品加盟_应急好项目加盟_新奇特项目招商 - 中红方宁(北京) 供应链有限公司 |