[發明專利]一種多線程管理的集成電路仿真粗顆粒并行方法及裝置有效
| 申請號: | 202110459195.6 | 申請日: | 2021-04-27 |
| 公開(公告)號: | CN112989746B | 公開(公告)日: | 2021-08-20 |
| 發明(設計)人: | 唐章宏;鄒軍;黃承清;汲亞飛;王芬 | 申請(專利權)人: | 北京智芯仿真科技有限公司 |
| 主分類號: | G06F30/392 | 分類號: | G06F30/392;G06F30/398;G06F115/06 |
| 代理公司: | 北京星通盈泰知識產權代理有限公司 11952 | 代理人: | 李筱 |
| 地址: | 100085 北京市海淀區信*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 多線程 管理 集成電路 仿真 顆粒 并行 方法 裝置 | ||
1.一種多線程管理的集成電路仿真粗顆粒并行方法,其特征在于,包括以下步驟:
基于所有待仿真的集成電路模型,確定出計算粗顆粒;
創建管理進程,通過管理進程讀取所有需要仿真的集成電路模型,定義對象存儲所述集成電路模型信息、所述集成電路模型的計算條件、所述集成電路模型的計算狀態,以及管理進程與計算進程的消息內容存儲;
管理進程創建互斥體和線程,線程依據互斥體的狀態創建計算進程,對計算粗顆粒進行分發并管理;所述互斥體為防止多個線程同時對同一對象進行操作的機制,其狀態包括:互斥體等待狀態:表示此時處于堵塞狀態,線程只能等待;互斥體空閑狀態:表示此時線程可進入工作;其中,所述管理進程創建互斥體和線程,線程依據互斥體的狀態創建計算進程,對計算粗顆粒進行分發并管理,包括:步驟1.1:建立一個管理進程MK,如果建立成功,進入步驟1.2;如果建立失敗,進入步驟1.7;步驟1.2:定義并建立互斥體MutexWork和MutexExit,設置MutexWork=互斥體空閑,設置MutexExit=互斥體等待,定義對象M[Data][Type][Path][Net][State][Message];將集成電路模型存入對象M的[Data];將歸類集成電路模型的類型存入對象M的[Type];將集成電路模型的路徑以及所述集成電路模型對應的生產網格剖分文件路徑存入對象M的[Path]中;將集成電路模型的計算條件存入對象M中的[Net];初始化對象M的State=C0_M0;初始化對象M的Message為空;初始化進程號Ki=1;步驟1.3:管理進程MK建立第Ki個計算進程,如果第Ki個計算進程建立失敗,暫停預定時間,進入步驟1.3;如果第Ki個計算進程建立成功,將第Ki個計算進程置于掛起狀態; Ki=Ki+1,如果Ki=允許創建的最大進程數,進入步驟1.4,否則進入步驟1.3;Ki為自然數;步驟1.4:如果MutexExit=互斥體空閑,管理進程MK進入步驟1.7;否則管理進程MK進入HTTP網絡服務應答狀態,查詢所有計算進程的工作狀態及進程池中的計算進程數,如果進程池中的計算進程數小于允許創建的最大計算進程數,進入步驟1.3,否則激活所有掛起狀態的計算進程進入就緒狀態并進入步驟1.5;步驟1.5:如果管理進程MK收到任意計算進程Kj發送的其元素的字段Message=Inquire,進入步驟1.6;否則直接進入步驟1.4;1≤j≤允許創建的最大進程數;步驟1.6:管理進程MK建立一個線程tj進行應答工作,進入步驟1.4;步驟1.7:刪除互斥體MutexWork和MutexExit,向所有計算進程發送P_NN指令,關閉所有計算進程,銷毀管理進程MK建立的所有線程,結束管理進程MK;
計算進程發送查詢指令,管理進程創建線程對查詢指令進行查詢并應答,計算進程依據線程的應答進行響應,完成分發的計算粗顆粒;
當所有并行粗顆粒的計算任務都完成時,管理進程收集計算結果并將所有計算任務的計算結果整理生成最終計算結果。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京智芯仿真科技有限公司,未經北京智芯仿真科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110459195.6/1.html,轉載請聲明來源鉆瓜專利網。





