在 CacheQ 編譯器集合中,編譯器消除了手動代碼重寫和使用線程庫或復(fù)雜的并行執(zhí)行 API,如 OpenMP 或 MPI。它采用單線程 C 代碼并生成可在 CPU 上運(yùn)行的可執(zhí)行文件,利用帶或不帶超線程的物理 x86 內(nèi)核以及 Arm 和 RISC-V 內(nèi)核。
使用 CacheQ 靈活的編譯器,用戶可以為相同或不同架構(gòu)上的多核處理器生成代碼,并使用運(yùn)行時變量對使用情況進(jìn)行基準(zhǔn)測試。它們可以添加到硬件以提高性能和功耗,或減少內(nèi)核數(shù)量并分配其他進(jìn)程以實(shí)現(xiàn)每瓦功耗的更優(yōu)化性能。
根據(jù)該公司的說法,基于模擬股票交易中人類行為的 Black Scholes 金融算法的基準(zhǔn),結(jié)果是在具有 12 個邏輯內(nèi)核的 X86 處理器上的單線程執(zhí)行速度提高了 486% 以上。具有八個 Arm 內(nèi)核的 Apple M1 處理器比單線程 GNU 編譯器集合 (GCC) 快 400%。
CacheQ 使軟件開發(fā)人員能夠?yàn)榘?FPGA、CPU 和 GPU 在內(nèi)的異構(gòu)計(jì)算系統(tǒng)開發(fā)和部署定制硬件加速器。它的 CacheQ Compiler Collection 以 gcc 工具套件為模型,包括類似于常見開源編譯器的用戶界面。因?yàn)樗枰邢薜拇a修改,所以可以縮短開發(fā)時間并提高系統(tǒng)質(zhì)量。
該工具套件支持對生成的虛擬引擎進(jìn)行編譯、檢查和錯誤檢測、性能預(yù)測、分析、調(diào)試和可視化。它支持目標(biāo)硬件,包括單核和多核處理器,以及具有連接到 x86 和 Arm 處理器的 FPGA 加速器的異構(gòu)計(jì)算系統(tǒng)。
CacheQ 編譯器集合通過導(dǎo)出函數(shù)調(diào)用的“混合”訪問來支持 C 代碼和 C++。
CacheQ Compiler Collection 的其他基準(zhǔn)測試突出了其跨越高端服務(wù)器和消費(fèi)電子設(shè)備的能力。具有兩個內(nèi)核的 M1 處理器的執(zhí)行性能優(yōu)于具有 11 個內(nèi)核的 x86 芯片,顯示出每瓦成本的優(yōu)勢。據(jù)該公司稱,四核 Apple M1 處理器的性能比 12 核 x86 快 210%??傮w而言,它的執(zhí)行速度比使用 CacheQ 編譯器集合在 x86 上運(yùn)行的單線程 GCC 快約 1,476%。
所有模擬都是在為不同目標(biāo)編譯的相同代碼上執(zhí)行的?;鶞?zhǔn)測試是在運(yùn)行頻率為 3.7GHz 的 Intel i7-8700k x86 CPU 上執(zhí)行的,該 CPU 具有六個物理內(nèi)核和超線程,可用于運(yùn)行 Ubuntu 18.04 的 12 個邏輯內(nèi)核。Apple M1 基準(zhǔn)測試是使用運(yùn)行本機(jī) Arm Ubuntu 20.04 映像的 Parallels VM 捕獲的。
審核編輯:郭婷
-
FPGA
+關(guān)注
關(guān)注
1645文章
22049瀏覽量
618409 -
C++
+關(guān)注
關(guān)注
22文章
2119瀏覽量
75307 -
編譯器
+關(guān)注
關(guān)注
1文章
1662瀏覽量
50218
發(fā)布評論請先 登錄
評論