[發明專利]一種利用非統一存儲器訪問架構特點提升并行化NumPy計算性能的方法有效
| 申請號: | 202110122117.7 | 申請日: | 2021-01-27 |
| 公開(公告)號: | CN112860530B | 公開(公告)日: | 2022-09-27 |
| 發明(設計)人: | 梁嘉迪;杜云飛;盧宇彤;肖儂 | 申請(專利權)人: | 中山大學 |
| 主分類號: | G06F11/34 | 分類號: | G06F11/34;G06F9/445;G06F9/50 |
| 代理公司: | 深圳市創富知識產權代理有限公司 44367 | 代理人: | 高冰 |
| 地址: | 510275 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 利用 統一 存儲器 訪問 架構 特點 提升 并行 numpy 計算 性能 方法 | ||
1.一種利用非統一內存訪問架構特點提升并行化NumPy計算性能的方法,其特征在于,所述方法包括:
S1 NumPy并行計算系統接收計算任務;
S2從用戶輸入中確定需要使用的CPU核心數量;
S3調用CPU分配程序以生成針對NUMA架構及NumPy并行計算優化過的CPU分配文件;
S4結果為分配給不同的NUMA中各兩個核心;
S5建立與步驟S2需要使用的CPU核心數量相同的進程,并按照CPU分配文件對它們進行與CPU核心的綁定;
S6矩陣計算任務被分到各個進程中進行;
S7計算完成;
其中,所述S3包括:
S3.1從環境變量或輸入獲取需要的核心數量;
S3.2使用lscpu獲取系統的CPU信息并截取有用部分;
S3.3從CPU信息中截取有用信息;
S3.4以需要的核心數量除以NUMA節點數量以求出平均每個NUMA節點需要分配多少個核心;
S3.5從第一個NUMA節點開始進行核心的分配;
S3.6若剩余需要分配的核心數可被剩下的NUMA節點數整除,從剩余的NUMA節點中平均地分配需要的核心即可完成分配;
S3.7若剩余需要分配的核心數為0也即完成分配;
S3.8否則為在當前NUMA節點分配核心并跳到下一個NUMA節點,轉到S3.6繼續;
S3.9完成分配后,根據CPU信息及各NUMA節點上分配的核心數量生成CPU核心分配文件。
2.根據權利要求1所述的利用非統一內存訪問架構特點提升并行化NumPy計算性能的方法,其特征在于,所述有用信息是CPU插槽數量、NUMA節點數量及CPU核心數量。
3.根據權利要求1所述的利用非統一內存訪問架構特點提升并行化NumPy計算性能的方法,其特征在于,所述S3.4中,對于非整數情況,使用round,即求與該非整數最接近的整數。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中山大學,未經中山大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110122117.7/1.html,轉載請聲明來源鉆瓜專利網。





