AgRefactor:用於HLS兼容性和性能的自我進化智能代理工作流
AgRefactor是一種基於LLM的多代理工作流,用於將軟件重構為HLS兼容代碼。它結合了自我進化記憶系統和自動化重構工具,在9/11個基準上優於或持平現有方法,並實現了高達6.51倍的加速。
AgRefactor是一種創新的基於大型語言模型(LLM)的多代理工作流,專為將軟件代碼重構為可綜合的高層次綜合(HLS)代碼而設計。HLS技術能夠加速從概念到芯片的實現,但將真實世界的軟件轉換為符合HLS規範的代碼仍面臨諸多挑戰,包括語言支持的限制以及軟硬件編程實踐之間的鴻溝。現有的自動化和LLM驅動的重構方法雖然在部分場景下有效,但往往缺乏靈活性、難以擴展,且計算成本高昂。
AgRefactor通過引入自我進化的記憶系統解決了這些問題。該系統能夠跨任務積累和檢索事實性與策略性知識,從而提升對新程序的魯棒性和效率。具體而言,記憶系統存儲了之前的重構經驗,包括成功的轉換模式以及常見的陷阱,使得代理在面對新代碼時能夠快速借鑑已有知識,減少試錯成本。此外,該系統還支持知識的持續更新,隨着任務的增多,記憶庫不斷豐富,性能也逐步提升。
為了進一步降低成本和增強可擴展性,AgRefactor集成了自動化重構工具。這些工具能夠高效地執行諸如循環展開、數組分區等常見轉換,而無需每次都調用LLM。代理被設計為能夠在LLM驅動的重寫和工具驅動的轉換之間做出明智的決策,從而在保持靈活性的同時大幅降低計算開銷。這種混合策略使得AgRefactor能夠處理中等規模到大型的代碼庫,而之前的方法往往受限於小型程序。
在11個具有挑戰性的實際基準測試中,AgRefactor在9個基準上的表現優於或匹敵最先進的自動化重構工具以及基於相同框架構建的強LLM基線。這些基準涵蓋了從圖像處理到通信協議等多個領域,代碼長度比以往研究中最複雜的案例長5-10倍。例如,在JPEG編碼器和FFT實現等測試中,AgRefactor不僅成功生成了HLS兼容代碼,還保持了原始功能的正確性。
進一步的智能性能優化使得AgRefactor相比最先進的pragma調優工具實現了6.51倍的幾何平均加速,相比優化的開源設計實現了1.20倍的加速,且額外資源消耗不到20%。這一加速主要歸功於代理在內存訪問模式和並行性方面的智能優化。AgRefactor完全自動化並已開源,為硬件設計自動化領域帶來了實用且可擴展的解決方案。