Submit LSF command from matlab script

6 ビュー (過去 30 日間)
lior
lior 2024 年 2 月 29 日
編集済み: Swastik Sarkar 2024 年 8 月 30 日
I want to subbmit LSF command from matlab:
command = 'bsub -q normal -G example sleep 100';
% Execute the command using system
[status, result] = system(command);
in the result i get command not found
  2 件のコメント
Damian Pietrus
Damian Pietrus 2024 年 3 月 19 日
Integrating MATLAB with LSF requires a support package which can be accessed here:
Is your MATLAB client (where you're submitting the command from) on the cluster or off-cluster?
lior
lior 2024 年 4 月 24 日
編集済み: lior 2024 年 4 月 24 日
I dont want to use cluster and parallel computing on matlab.
There is way to send job to LSF without using cluster and parllel computing on matlab?

サインインしてコメントする。

回答 (1 件)

Swastik Sarkar
Swastik Sarkar 2024 年 8 月 30 日
編集済み: Swastik Sarkar 2024 年 8 月 30 日
Hi @lior,
The "command not found" error likely results from a PATH issue. To diagnose this, verify the directory containing bsub by executing the following in a terminal where bsub is accessible:
which bsub
'bsub' not found.
Next, check if this directory is included in the PATH variable of the MATLAB Client using:
getenv("PATH")
ans = '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
This is likely the cause of the error being encountered. Below is a demonstration of a similar error using the ls command:
system("ls -al")
total 8 drwxr-xr-x 2 matlab matlabgroup 4096 Aug 30 12:35 . drwx------ 3 matlab matlabgroup 4096 Aug 30 12:35 ..
ans = 0
system("which ls")
/usr/bin/ls
ans = 0
getenv("PATH") % You will notice that the above directory is present here.
ans = '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
setenv("PATH", "") % Setting to PATH to empty string to simulate a “No command found”
system("ls -al") % Command not found
/bin/bash: line 1: ls: No such file or directory
ans = 127
This issue can be resolved by specifying the absolute path of bsub, thereby eliminating the dependency on the PATH variable. Below is an example using ls:
getenv("PATH") % Verifying PATH is empty
ans = 0x0 empty char array
system("/usr/bin/ls -al")
total 8 drwxr-xr-x 2 matlab matlabgroup 4096 Aug 30 12:35 . drwx------ 3 matlab matlabgroup 4096 Aug 30 12:35 ..
ans = 0
A more official method to communicate with LSF is to use the Parallel Computing Toolbox plugin for LSF, as mentioned by @Damian Pietrus. This approach allows MATLAB to construct the necessary bsub command. The plugin can be found here:
Hope this helps.

カテゴリ

Help Center および File ExchangeGPU Computing についてさらに検索

タグ

製品


リリース

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by