我在我的電腦上運行得非常頻繁使用MCC編譯MATLAB程序,我在其中執行PARFOR。每個程序的啓動時間都很慢,我想是因爲創建了並行工作池(啓動並行池需要大約20秒)。如果游泳池在後臺始終保持開放狀態,那對我來說會更有效率。例如,在matlab界面中打開parpool時,它說parpool將保持打開30分鐘,因此不需要爲每個matlab腳本打開parpool。當代碼被編譯時,是否也可以這樣做,或者有其他解決方案嗎?可以PARFOR在MATLAB編譯的代碼訪問本地工人池
回答
你可以增加池被打開的時間。在測試過程中,您可以鍵入
>> preferences
可以達到同樣的效果添加到代碼
p = parpool
p.IdleTimeout = 120 %minutes
如果有游泳池開放更長的時間,你應該能夠無需打開運行多個腳本和關閉它的多個倍。
我會避免離開它永久打開。
嗯,好吧,這工作在Matlab工作。編譯代碼後出現問題。如果您編譯代碼並在終端上啓動代碼,則每次啓動代碼時都必須打開一個新的parpool,因爲代碼執行後它不會保持打開狀態,並且每次至少需要20秒才能打開池。你能解決這個問題嗎?我需要的是當代碼使用mcc編譯時,parpool也保持打開狀態。 – David
你的程序的結構是什麼? 您提到了多個腳本,嘗試在單獨的腳本中打開一個更長的持續parpool,在parpool仍處於打開狀態時調用所有其他腳本。 – roadRunner
對我來說這是不可能的,因爲我已經分別啓動每個腳本。即使腳本結束,游泳池也必須保持打開狀態。這在Matlab接口中工作,但在編譯代碼時不起作用。 – David
- 1. 編譯後的Matlab代碼
- 2. 是否可以在MATLAB環境內外執行編譯代碼?
- 3. 任何能夠訪問新的「Matlab編碼器」產品的人都可以看到C的翻譯輸出嗎?
- 4. 訪問:vba代碼無法編譯
- 5. 無法訪問對象編譯代碼
- 6. Netbeans 8.2 Java:試圖訪問java.awt.Shape.contains()的不可編譯的代碼
- 7. 使用JNA訪問編譯爲Java本地代碼的C#方法
- 8. 任何人都可以訪問我的PHP源代碼嗎?
- 9. gcc是否可以不編譯代碼?
- 10. python distutils可以編譯CUDA代碼嗎?
- 11. 編譯器是否只編譯可以執行的代碼?
- 12. 從tomcat訪問類路徑以動態編譯代碼片段
- 13. 翻譯Matlab代碼,以numpy的
- 14. AOT編譯或本地代碼編譯Scala?
- 15. 在MEX/C代碼中訪問Matlab類
- 16. 支持遺留代碼,無需訪問編譯後代碼
- 17. 如何編譯代碼以獲得每個.Net版本的工作代碼
- 18. 是否可以在iOS上編譯爲Arduino編寫的代碼?
- 19. 可以使用寶石代碼使用macrubyc編譯的代碼
- 20. Matlab Mex代碼無法編譯
- 21. 可以獲得可以卸載的動態編譯代碼的本機性能?
- 22. Fortran 95編譯器是否可以編譯Fortran 77代碼?
- 23. 訪問雙緩衝從本地代碼
- 24. Rails預編譯資產 - 無法在本地訪問預編譯的文件
- 25. 如何編輯本訪問SQL代碼
- 26. opengl代碼編譯問題
- 27. 是否可以將Matlab代碼編譯爲獨立的exe文件?
- 28. 腳本編譯C代碼
- 29. 要在常量池中編譯爲MethodHandle的Java代碼
- 30. 我可以訪問DataTemplate代碼隱藏
我認爲在編譯後的代碼停止它的一個壞主意後打開一個池! –