發表文章

關於GPU顯卡TFLOPS指標介紹和CUDA Toolkit下載安裝教學

圖片
CUDA 是 NVIDIA 的 GPU 技術,讓開發者運用並管理 NVIDIA GPU 大規模平行運算能力的技術與程式設計模型。 但 CUDA 本身不等於平行處理,平行處理是一種概念;CUDA 則提供技術與程式設計模型,幫助開發者使用並管理 GPU 的運算資源。 CPU 能運算大量資料,但資源較少: CPU 可以處理數百萬甚至數十億次計算,只是執行資源相對有限,因此大量工作可能耗時較久。至於GPU 則相對擅長大量同類型計算,GPU 應用廣泛,但需要有效調度。涵蓋到遊戲、科學模擬、人工智慧與影像處理等工作都需要大量計算。 一般市面上顯卡,會用 TFLOPS(Tera Floating Point Operations Per Second) 這個指標來衡量GPU浮點運算能力。代表每秒可以執行多少萬億(10^12)次浮點運算。 常見的浮點數精度有半精度(FP16)、單精度又被稱作全精度(FP32、TF32)、雙精度(FP64),基本上分別代表16位浮點數、32位浮點數、64位浮點數。在計算機科學中,浮點數的儲存方式主要是由三個部分所組成,分別是符號位元(sign)、指數位元(exponent)和小數位元(fraction, 理解成小數點後的數),可以參照 IEEE 754 。 以固定FP32指標來看 像是2016年 NVIDIA GeForce GTX 1050顯卡 ,只支援到1.862 TFLOPS 到了2020年 NVIDIA GeForce RTX 3070 ,短短四年時間就支援到20.31 TFLOPS。 2022年10月的 NVIDIA GeForce RTX 4090 ,則已經能支援高達82.58 TFLOPS。 2025年1月的 NVIDIA GeForce RTX 5090 ,又進步到了能支援104.8 TFLOPS。 從 NVIDIA GPU 的 FP32(32 位元單精度浮點運算)理論運算效能來看,2016 年 GeForce GTX 1050 僅有 1.862 TFLOPS,到了 2025 年 GeForce RTX 5090 已提升至 104.8 TFLOPS,短短 9 年間,理論運算能力成長約 56.3 倍,從中即可得知 GPU 硬體運算效能有顯著進步。 CUDA 提供多種運算管理功能,包括程式設計模型、核心函式(kernels)、記憶體系統、...

Angular使用筆記4_AngularJS(Angular1.x)_控制器(ng-controller)

圖片
  https://oscarvillarreal.com/2013/05/07/5-reasons-to-use-angularjs-in-the-corporate-app-world/ 在AngularJS 1.3版本之前早期控制器定義方法會用以下作法 <!DOCTYPE html> < html ng-app > < head > < meta charset = "UTF-8" > < meta name = "viewport" content = "width=device-width, initial-scale=1.0" > < title > 我的AngularJs練習3-1 </ title > < script type = "text/javascript" src = "./angular-1.6.4/angular.min.js" ></ script > </ head > < body > < div ng-controller = "contr" > {{ s }} < div ng-bind = "s" ></ div > </ div > < script type = "text/javascript" > function contr ( $scope ) { $scope . s = 'hello, welcome to angularjs world!' ; } </ script > </ body > </ html > 這是JS控制器用一個建構子手法,去實體化物件模板的寫法。方法本身即為物件的建構子。 參數...

Angular使用筆記3_AngularJS(Angular1.x)_雙向綁定(ng-model)、單向綁定(ng-bind)

圖片
  資料繫結(Data Binding) 是 AngularJS 框架在視圖(DOM 元素)與作用域之間建立的資料同步機制。 所謂「雙向綁定」,是指UI的操作能夠即時同步到作用域中,反之作用域中的資料修改也能夠即時回顯到介面中。作用域可以被視為一個容器,裡面有一些基於 key-value 的資料。 Data Binding in Classical Template Systems 大多數Template系統只會採用One-way Data Binding:將Template與模型元件合併成View。 合併完成後,Model或VIew相關區塊的變更都不會自動反映在檢視中。 更糟的是,使用者對檢視所做的任何變更,也不會反映在模型中。 換言之,開發人員必須撰寫程式碼,不斷同步檢視與模型,以及模型與檢視。 Data Binding in Angular Templates Angular Template則採用不同運作方式。 首先,範本(未經編譯的 HTML,以及任何額外的標記或指令)會在瀏覽器中編譯。 編譯步驟會產生即時檢視。檢視中的任何變更都會立即反映至模型,而模型中的任何變更也會傳遞至檢視。 Model是應用程式狀態的唯一源頭,大幅簡化了開發者的程式設計模型。 As If <! DOCTYPE html > < html > < head > < meta charset = "UTF-8" > < meta name = "viewport" content = "width=device-width, initial-scale=1.0" > < title > 我的AngularJs練習2 - 1 < /title> < /head> < body > < div > 用戶名 : < input type = "text" name = "uname" id = "uname" />< /div> < div >...

Angular使用筆記2_AngularJS(Angular1.x)簡單起手程式(ng-app、expression、ng-init)

圖片
https://oscarvillarreal.com/2013/05/07/5-reasons-to-use-angularjs-in-the-corporate-app-world/ 根據之前 blog篇章 已經會得知你到底該掌握的angular是哪一種了 在Angular.Js官方網站公告 https://angularjs.org/ ,AngularJS 的支援已於 2022 年 1 月正式終止。 不過部分早期系統為了穩定,仍可能會遇到這類JS框架。 初始建立一個簡易練習的Angular.Js的程式 可以先點Previois Versions 這邊可以點選公司團隊開發維運系統所指定的版本 https://code.angularjs.org/ 這邊挑選1.6.4版本來做小試身手,可點angular-1.6.4.zip把整包給下載下來後續做引入使用。 https://code.angularjs.org/1.6.4/ 每個版本點選doc就可以看到對應版本的api文檔 https://code.angularjs.org/1.6.4/docs/api https://code.angularjs.org/1.6.4/docs/guide/index 若透過CDN來導入的也可藉用其google官方CDN網址,自行更改版號來切換對應URL即可。 https://ajax.googleapis.com/ajax/libs/angularjs/ 1.6.4 /angular.min.js 這邊用vscode來開發 步驟 1:開啟整個專案資料夾 在 VS Code 按下 Ctrl + K,接著按 Ctrl + O,或使用選單 File → Open Folder。 步驟 2:開啟 HTML 檔案 從左側 Explorer 開啟 myangular1.html。 步驟 3:啟動 Live Server 點擊右下角 Go Live,或對 HTML 檔案按右鍵,選擇 Open with Live Server。 覽器會開啟類似: http://127.0.0.1:5500/myangular1.html 在上手AngularJs之前一些先備術語,稍微認識一下。 模型(Model): 也就是是AngularJs應用程式中用來呈現到頁面的數據,可以白話理解為Javascript物件...

AGV(Automated Guided Vehicle)_學習筆記1_AGV導航方式分類

圖片
  https://storage-solutions.com/what-is-an-agv/ AGV(Automated Guided Vehicle):自動導引運輸車,是一種配備電磁、雷射等自動導引裝置,能夠沿著預先規劃的導引路徑行駛,並具備安全防護及各種物料搬運功能的運輸車輛。 近期除了 AGV 之外,也延伸出 AMR(Autonomous Mobile Robot) 自主移動機器人。 AMR 的概念源自機器人技術領域,能夠自主感知環境中的光線變化並做出反應,也可以自主避開障礙物並進行移動。可以將 AMR 視為 AGV 的進階技術。 一般針對B2C市場,比較耳熟能詳的就是掃地機器人的應用。 AGV根據導航方式分類(由早期到近期) 1.磁條導引(Magnetic Tape Guidance) 磁條導引技術與電磁導引技術相似,透過感測器偵測磁條產生的磁場訊號,實現自動導引功能。 優點 導引路徑的鋪設相較於電磁導引更為簡便。 磁條成本相對較低。 缺點 磁條容易損壞,需要定期維護。 當行駛路徑變更時,必須重新鋪設磁條。 車輛只能沿著預先鋪設的磁條路徑行駛,無法自主避開障礙物,也無法透過控制系統即時變更實體行駛路徑。 - 中國大陸主要廠商: 華曉 、 嘉騰 等。 - 台灣相關廠商: 元創智動 、 綠捷 GreenTrans 等。 元創智動 华晓精密 室外平衡重叉车AGV https://www.eet-china.com/mp/a372083.html 2. 二維條碼導引(QR Code Navigation) 透過攝影機擷取水平地面或垂直路徑面的二維條碼(QR Code)影像,解析其座標資訊與方向資訊,藉此判斷 AGV 自身的位置及行進方向。 當行駛區域沒有二維條碼時,則透過馬達里程計及陀螺儀進行輔助定位與導航。 與磁條導引相比,建置方式較為簡便,二維條碼標籤成本較低。此外,QR CODE彼此間有間隔,路徑規劃較具彈性,不一定需要沿著固定軌道行駛。 與雷射 SLAM 導航相比,感測器成本相對較低。對環境條件的要求相對較低,朝下攝影機的視野範圍較為穩定。 - 中國大陸主要廠商: 海康機器人 、 極智嘉(Geek+) 、 快倉(Quicktron) 等。 - 台灣相關廠商: 東捷科技 、 漢錸科技 等。 漢錸科技-無人車搬運系統 Autonomous Mobile...