[發明專利]一種數據獲取方法及裝置在審
| 申請號: | 201710532363.3 | 申請日: | 2017-07-03 |
| 公開(公告)號: | CN107247671A | 公開(公告)日: | 2017-10-13 |
| 發明(設計)人: | 代藝超 | 申請(專利權)人: | 鄭州云海信息技術有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京安信方達知識產權代理有限公司11262 | 代理人: | 李紅爽,李丹 |
| 地址: | 450018 河南省鄭州市*** | 國省代碼: | 河南;41 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 數據 獲取 方法 裝置 | ||
技術領域
本發明屬于數據管理領域,尤其涉及一種數據獲取方法及裝置。
背景技術
目前已有一些工具可以進行CUDA(Compute Unified Device Architecture,并行計算架構)程序性能分析,但都存在一些不足,比如PAPI、TAU,都需要修改待測程序源代碼,并多次啟動待測程序,這一方面增加了性能測試工作的難度和繁瑣程度;另外,TAU只能收集單純的硬件計數器值,不能收集或計算綜合性能指標,而獨立的硬件計數器值難以直接反應程序的性能特征,這使得其性能分析結果難以引導開發者進行性能優化。
因此,迫切需要一種高效、準確的數據獲取方案來解決上述技術問題。
發明內容
本發明提供一種數據獲取方法及裝置,以解決上述問題。
本發明實施例提供一種數據獲取方法。上述方法包括以下步驟:獲取核函數參數即kernel函數參數并備份全局變量;通過調用對應的庫函數,執行核函數代碼,讀取事件組信息;根據所述事件組信息,獲得性能數據值。
本發明實施例提供一種數據獲取裝置,包括備份模塊、讀取模塊、處理模塊;其中,所述備份模塊通過所述讀取模塊與所述處理模塊相連;
所述備份模塊,用于獲取核函數參數即kernel函數參數并備份全局變量;
所述讀取模塊,用于通過調用對應的庫函數,執行從所述備份模塊中獲取的核函數代碼,讀取事件組信息;
所述處理模塊,用于根據從所述讀取模塊中獲取的所述事件組信息,獲得性能數據值。
本發明實施例提供以下技術方案:獲取核函數參數即kernel函數參數并備份全局變量;通過調用對應的庫函數,執行所述核函數代碼,讀取事件組信息;根據所述事件組信息,獲得性能數據值。
上述技術方案通過執行核函數代碼,讀取全部事件組信息,獲取性能數據值,實現了高效、準確的性能數據獲取途徑,避免需要修改待測程序源碼及多次啟動待測程序的繁瑣方式,大大提升了用戶體驗。
本發明實施例提供以下技術方案:執行核函數代碼,并讀取事件組信息,判斷是否還有事件組待讀取,若有,則恢復備份的全局變量和kernel函數參數為初始值
上述技術方案通過循環讀取,將事件組信息全部讀取,實現了整個程序只需要運行一次,即可得到需要的所有性能指標,實現了高效、準確的性能數據獲取途徑。
附圖說明
此處所說明的附圖用來提供對本發明的進一步理解,構成本申請的一部分,本發明的示意性實施例及其說明用于解釋本發明,并不構成對本發明的不當限定。在附圖中:
圖1所示為本發明實施例1的數據獲取方法處理流程圖;
圖2所示為本發明實施例2的對庫函數插樁的具體實施步驟流程示意圖;
圖3所示為本發明實施例3的對庫函數進行插樁后kernel函數的執行流程示意圖;
圖4所示為本發明實施例4的數據獲取裝置結構圖。
具體實施方式
下文中將參考附圖并結合實施例來詳細說明本發明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。
圖1所示為本發明實施例1的數據獲取方法處理流程圖,包括以下步驟:
步驟101:獲取核函數參數即kernel函數參數并備份全局變量;
進一步地,建立一個全局鏈表,用于備份全局變量及kernel函數參數。
為了實現變量的備份與同步更新,本發明實施例采用了一個全局鏈表來實現,全局鏈表中的每一個節點對應于一個全局內存變量,節點保存了被備份變量的內存地址及備份值,通過對cudaMalloc庫函數進行插樁,每當調用該函數時,在鏈表中增加一個節點,記錄該內存地址,通過對cudaMemcpy庫函數進行插樁,每當調用該函數改變內存變量的值時,根據該變量地址搜索鏈接找到該節點,更新節點備份的值,從而實現備份值的同步更新。
步驟102:通過調用對應的庫函數,執行核函數代碼,讀取事件組信息;
進一步地,通過執行所述核函數代碼,并讀取事件組信息,判斷是否還有事件組待讀取,若有,則恢復備份的全局變量和kernel函數參數為初始值。
進一步地,所述庫函數包括cudaConfigureCall庫函數、cudaSetupArgument庫函數、cudaMalloc庫函數、cudaMemcpy庫函數、cudaLauch庫函數。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于鄭州云海信息技術有限公司,未經鄭州云海信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710532363.3/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





