-1
我目前使用一個名爲Cuba的包,我想在Matlab mex環境中使用它。問題是,我如何設置環境變量CUBACORES
禁用自動並行化?使用Mex環境時設置環境變量
這不會MEX工作:
export CUBACORES=0
所以,問題是,是否有可能在編譯時指定的環境變量或墨西哥運行時間?
我目前使用一個名爲Cuba的包,我想在Matlab mex環境中使用它。問題是,我如何設置環境變量CUBACORES
禁用自動並行化?使用Mex環境時設置環境變量
這不會MEX工作:
export CUBACORES=0
所以,問題是,是否有可能在編譯時指定的環境變量或墨西哥運行時間?
在MATLAB中,使用setenv
函數設置環境變量。
setenv('CUBACORES', '0');
當然,您需要在庫讀取它之前執行此操作。
如果您正在編譯使用古巴庫的mex文件,那麼您可以從您的mex文件代碼設置環境變量。具體怎麼做取決於你的目標平臺。再次,環境變量必須在庫讀取之前設置。
所以在運行時無法做到這一點,例如預處理器? – lorniper 2014-10-03 13:18:29
預處理器是mex文件編譯的一部分。有問題的env變量是在運行時讀取的,在另一個進程中。如果您正在編譯古巴庫,那麼您可以修補它們的代碼以禁用線程。 – 2014-10-03 13:21:49