發表文章

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

圖片
CUDA 是 NVIDIA 的 GPU 技術,讓開發者運用並管理 NVIDIA GPU 大規模平行運算能力的技術與程式設計模型。電腦本身一定要是Nvida的顯卡才能裝CUDA。 但 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 提供多種運算管理功能,包括程式設...

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物件...