量化投資手段:OpenCL編程之檢索硬體
我們先來搞清幾個概念:
計算平台指機器設備對OpenCL某個版本的具體實現。
一台計算機上可以有多個計算平台,一個計算平台上可以有多個計算核心。
多核CPU和多CPU是兩回事,除非你的主板上插有兩塊CPU,這種情況也只有伺服器主板上才會出現多CPU情況。
一個計算平台設備裡面,可以有多個計算核心,每個核心就是實質的計算部件。
像4核CPU就是一個計算平台設備裡面有4個計算部件。可以並行執行四個運算操作。因此我們除了要獲取系統里計算平台設備信息外,還要獲取每個設備裡面的計算核心信息,這樣才可以對我們的程序進行最大優化。 OpenCL除了獲取計算機平台設備數目外,還可以獲取這些設備的特性數據。比如剛才說的,CPU是幾核心的,頻率是多少,CACHE是多大等等這些數據。我們在上節課的程序中進行修改,檢測每個計算平台的計算部件信息。
程序代碼如下:
程序運行結果如下:
硬體檢索運行結果
大家可看到,我的計算機上有兩個計算平台,第一個平台包含了CPU和GPU。第二個平台只包含了CPU。這是怎麼回事呢?注意看第二個平台支持的OpenCL版本是 OpenCL2.1。而且還只是實驗性版本。這下明白了。OpenCL把計算平台分得很細。這裡面又有幾個問題了,全局內存、本地內存、最大工作組是什麼意思呢?這些我們下節課再講。
TAG:量化投資LHTZ |
※Python中的向量化編程
※XPath 編程
※Perl 編程
※編程資源 Python
※Makeblock推出編程軟體慧編程
※Silexica加盟Renovo的AWare生態系統 提供SLX編程工具助力軟體的分析與優化
※python之模塊化編程
※自製Monkey編程語言編譯器:增加數組操作API和Mapsh數據類型
※XML編程 Parser
※編程菜鳥之怎樣用Bootstrap前端框架結合ThinkPHP框架做程序設計
※Python中的IO編程
※VBScript 編程
※閱讀優秀 Python 開源項目的代碼,提升編程技能(GitHub 資源帖推薦)
※SOAP的編程
※入門編程機器人的不二之選,DFROBOT Max探索者體驗
※XML Schema 編程
※Python 並發編程之協程/非同步IO
※WSDL 的編程
※Web Pages 編程 PHP
※Python編程:序列化和反序列化