Difference between revisions of "Training/Matlab-Viper-plugin"
From HPC
m |
|||
(2 intermediate revisions by the same user not shown) | |||
Line 7: | Line 7: | ||
==Introduction== | ==Introduction== | ||
− | There is a feature in Matlab that enables you to submit jobs to clusters directly from your Matlab client (normal desktop Matlab). we were able to develop a Matlab-Viper plug-in that utilizes this feature and integrates Matlab with | + | There is a feature in Matlab that enables you to submit jobs to clusters directly from your Matlab client (normal desktop Matlab). we were able to develop a Matlab-Viper plug-in that utilizes this feature and integrates Matlab with Viper to enable all our Matlab users to submit some Matlab jobs to Viper easily without the need to know much about HPC or Linux. Everything could be done from the normal desktop Matlab version that many users are already using. |
− | This guide should explain more about how to use | + | This guide should explain more about how to use Viper through the Matlab Viper plug-in. In general, the toolbox that could utilize such integration is the Matlab parallel computing toolbox. we will try to explain the main concepts here and point you to some MathWorks tutorials that you could use and try on our HPC. |
− | *If you don't have Matlab-Viper plug-in installed and tested on your Matlab contact [https://support.hull.ac.uk/ | + | *If you don't have the Matlab-Viper plug-in installed and tested on your Matlab contact [https://support.hull.ac.uk/ support portal] we will help you to install it and configure it. |
− | *This is only available for Matlab 2017a , we will try to support it for all the upcoming versions starting from 2017a. if you have a special use case that requires the usage of an older version you could check the possibility of creating this plug-in for it contact [https://support.hull.ac.uk/ | + | *This is only available for Matlab 2017a, we will try to support it for all the upcoming versions starting from 2017a. if you have a special use case that requires the usage of an older version you could check the possibility of creating this plug-in for it contact our [https://support.hull.ac.uk/ support portal]. |
− | * This link https://uk.mathworks.com/products/ineligible_programs.html shows a list of Ineligible programs that couldn't run on Matlab distributed computing server through this plug-in. | + | * This link https://uk.mathworks.com/products/ineligible_programs.html shows a list of Ineligible programs that couldn't run on the Matlab distributed computing server through this plug-in. |
==Matlab to Viper== | ==Matlab to Viper== | ||
Line 30: | Line 30: | ||
===Run Matlab Job=== | ===Run Matlab Job=== | ||
− | Using a parallel toolbox, you can run your Matlab code on | + | Using a parallel toolbox, you can run your Matlab code on Viper using 2 modes: |
====Batch job==== | ====Batch job==== | ||
Line 36: | Line 36: | ||
* This is the main way to utilize the Matlab-viper-plugin. This submits your job to Viper queuing system (SLURM) and sends back the results to your client once everything is done. | * This is the main way to utilize the Matlab-viper-plugin. This submits your job to Viper queuing system (SLURM) and sends back the results to your client once everything is done. | ||
* Very useful for a time-consuming job that needs hours or even days to finish. you will submit your job and you don't need to keep your Matlab running or even the whole computer could be turned off as all your simulations will be running on Viper. | * Very useful for a time-consuming job that needs hours or even days to finish. you will submit your job and you don't need to keep your Matlab running or even the whole computer could be turned off as all your simulations will be running on Viper. | ||
− | * If you want to know more about the job life cycles and different stages https://uk.mathworks.com/help/distcomp/how-parallel-computing-products-run-a-job.html | + | * If you want to know more about the job life cycles and different stages https://uk.mathworks.com/help/distcomp/how-parallel-computing-products-run-a-job.html |
+ | |||
*'''Create Matlab script''' | *'''Create Matlab script''' | ||
*:This can be either a normal serial script or a parallel one that uses functions like parfor. if you have an existing script make sure that the following is done before running it: | *:This can be either a normal serial script or a parallel one that uses functions like parfor. if you have an existing script make sure that the following is done before running it: | ||
Line 79: | Line 80: | ||
====Parallel pool==== | ====Parallel pool==== | ||
* Another mode of operation that is easier is if you are testing a piece of code or running a small job that you expect to finish in a few minutes. | * Another mode of operation that is easier is if you are testing a piece of code or running a small job that you expect to finish in a few minutes. | ||
− | * This requires a running connection to be in place between your computer and | + | * This requires a running connection to be in place between your computer and Viper. at any point you shut down your Matlab/Wifi or even your laptop everything will be lost and you will need to rerun your code/simulation. |
== Further Information == | == Further Information == | ||
Line 89: | Line 90: | ||
− | [[Main Page]] / [[FurtherTopics/FurtherTopics #Matlab| Further Topics]] | + | [[Main Page]] / [[FurtherTopics/FurtherTopics#Matlab| Further Topics]] |
--> | --> |