Main dashboard ============== After logging in, you'll be taken to the main Open OnDemand dashboard. The dashboard provides access to all the features of Open OnDemand through several menu options at the top of the page: .. image:: ../assets/img/ood_dashboard.png Files ----- The Files app allows you to browse, upload, download, and manage files on Viking. You can also create new files or directories and view certain files directly in the browser. The Files app is a handy tool for managing your data and files on Viking. .. image:: ../assets/img/ood_files.png Additional options allow you to :guilabel:`Show Owner/Mode` to see the file permissions and also :guilabel:`Show Dotfiles` will then list all the :guilabel:`hidden` files, which are files or folders which begin with a dot ``.`` for example: ``.jupyter``. Jobs ---- View active jobs and create new job scripts for submitting to the Viking cluster. .. image:: ../assets/img/ood_jobs.png You can also toggle between viewing all the jobs on Viking ad only your own jobs with the :guilabel:`Your Jobs` and :guilabel:`All Jobs` button in the top right. Active Jobs ^^^^^^^^^^^ The Jobs app allows you to view active jobs and create new :doc:`job scripts <../using_viking/jobscript_examples>` for submitting to the Viking cluster. You can also view the status of your jobs, cancel them, see their output location and open the output location in the file browser. Completed jobs will be cleared from the active jobs app. .. image:: ../assets/img/ood_jobs_job1.png Job Composer ^^^^^^^^^^^^ The Job Composer app allows you to create and edit job scripts for submitting to the Viking cluster. You can specify the resources you need, such as the number of nodes, CPUs, and memory, as well as the command you want to run. The Job Composer also provides a template for common job types, making it easy to get started with your job script. You can also use the Job Composer to create :ref:`job arrays `, which allow you to submit multiple jobs with similar parameters in a single submission. This is useful for running multiple simulations or analyses with different input files or parameters. .. note:: Jobscripts are used to describe a job which will be run in ``batch`` mode, in the background or non-interactivly. This plays to Viking's strength and is managed by the :doc:`job scheduler <../using_viking/slurm_job_scheduler>` called Slurm. Templates """""""""" Click on the :guilabel:`Create templates` button to create a new template jobscript. From here you can set the path to save the template, give the template a name and add any notes. The cluster will always be ``Viking2``. The default location for template files to be saved is ``/users/abc123/ondemand/data/sys/myjobs/templates/`` where ``abc123`` is your username. Once created you can go back to the :guilabel:`Job Composer > Jobs` tab at the top, click on the :guilabel:`+ New Job` button and select :guilabel:`From Template` button. To create a new job and write a jobscript: - Select a template on the left - On the right, enter a :guilabel:`Job Name` or leave it as the default - Click the :guilabel:`Create New Job` button - The job and jobscript is created ready to be edited From here you can now edit the jobscript. In the lower right, click on the :guilabel:`Open Editor` button and enter your full jobscript. We'll copy in a basic starting jobscript below you can use with minimal editing to help get started however, it would be a good idea to read the sections on :doc:`Submitting jobs <../using_viking/submitting_jobs>` and :doc:`Jobscript examples <../using_viking/jobscript_examples>` as there are some important points which should be understood. To edit the jobscript click the :guilabel:`Open Editor` button and paste in the following then see the edits needed below: .. code-block:: console :linenos: :emphasize-lines: 7,10 {SHEBANG} #SBATCH --job-name=simple_job #SBATCH --nodes=1 #SBATCH --ntasks=1 #SBATCH --cpus-per-task=1 #SBATCH --time=0-00:02:00 #SBATCH --account={PROJECT_CODE} #SBATCH --output=%x-%j.log #SBATCH --error=%x-%j.err #SBATCH --chdir=/mnt/scratch/users/abc123 set -e echo "Using: ${SLURM_JOB_NODELIST}" echo "Using: ${SLURM_CPUS_ON_NODE}" cores per node echo "Using: ${SLURM_MEM_PER_CPU}M memory per CPU" # Ensure we have a clean environment module purge # Load any required modules module load {MOD_PYTHON} # Any commands to run go here python --version echo "Finished at $(date)" You'll need to customise this slightly before you can run it, lines you'll need to update: - Line 7 to replace ``{PROJECT_CODE}`` your project code - Line 10 to amend the working directory of the job, useful for saving the log files. If you delete this line by default the the working directory will be your ``HOME`` folder which is ``/users/abc123`` where ``abc123`` is your username. The jobscript has lots of options describing the resources your job needs to run. If you haven't already done so it is a good idea to read the sections on :doc:`Submitting jobs <../using_viking/submitting_jobs>` and :doc:`Jobscript examples <../using_viking/jobscript_examples>` as there is lots of info on getting started with jobscripts which we won't go into here. Back on the :guilabel:`Job Composer` > :guilabel:`Jobs` page, highlight the chosen template and click in the :guilabel:`Submit` button to send the job to the job scheduler. If there are no errors in the jobscript then the job should sumit successfully to the scheduler. Congratulations! 🎉 🥳 To check on the job, you need to come out the the :guilabel:`Job Composer` and back to the main Open OnDemand dashboard and click on :guilabel:`Jobs` > :guilabel:`Active Jobs`. Here you should see your submitted job and click on the :guilabel:`>` arrow button to expand and see more details. Clusters -------- From here you can load a terminal or command line interface to the Viking cluster giving you shell access. Viking2 shell access ^^^^^^^^^^^^^^^^^^^^ The Clusters app provides a terminal interface, or shell access to the Viking cluster. This allows you to run commands and interact with the system as if you were using a local terminal. You can use this app to run commands, manage files, and perform other tasks on the cluster. .. note:: This terminal session will run on one of Viking login nodes and so is only appropriate for light work and not running heavy jobs. If you tend to use shell access often it is recommended that you look into :doc:`connecting to Viking <../getting_started/connecting_to_viking>` with a native terminal over ``ssh``, but this shell access Open OnDemand provides may be sufficient for your needs. Interactive apps ---------------- Lists all the available interactive apps you can run on the system. From here you can start, stop, and connect to them. From here you can launch custom Open OnDemand interactive apps and also a simple Viking desktop. To launch an app click on the relevant item from the drop down menu and you'll be taken to the app's form where you can request resources and launch the app. .. image:: ../assets/img/ood_app_form.png After successfully submitting an interactive app, you'll need to wait for the requested resources to be allocated. Depending on how busy Viking is and how much resources you request will determine how long the wait it. To help you can tick the option to have an email sent to you when the resources are allocated. When ready you can click on the :guilabel:`Launch` button to open a new tab and connect to the interactive app. From here you can interact with the app. Depending on the type of app you may see a desktop background and it may take a few minutes for the app to load up, please be patient. MATLAB is such and app and if you close MATLAB then the whole interactive session will come to a close. To change the settings of the connection there is a small tab to a toolbar on the left hand side. Click this to expand the toolbar and amend the view, clipboard settings and toggle or send extra key presses for example the :guilabel:`Windows` key. .. image:: ../assets/img/ood_vnc_toolbar.png Viking2 desktop ^^^^^^^^^^^^^^^ This will launch a Viking2 desktop session. This is a simple desktop environment that allows you to load Viking modules and run GUI applications on the Viking cluster. You can use this to run simple applications for example to view some results. The desktop session will be launched in a new tab in your web browser, and you can interact with it just like you would with a local desktop environment. This virtual desktop is limited to the resources available in the ``interactive`` :doc:`partition <../using_viking/resource_partitions>` but can be useful if you quickly need to view something on Viking without having to transfer it your local computer. My interactive sessions ----------------------- Lists all the active interactive sessions you have running on the system. You can connect to them, view their output, and stop them. View logs ^^^^^^^^^ On any running app you can view the log directory by clicking the link to the :guilabel:`Session ID`. From here you can inspect the various log files and scripts which start the app which might be useful if you're experiencing problems where ``output.log`` is the general log of the job. Launch button ^^^^^^^^^^^^^ Launch into the selected app, this will open a new window and connect to the running app. Delete button ^^^^^^^^^^^^^ When you are finished with the app you can press this to delete and end the selected session and its associated job. This helps free up resources for other users once you are finished. Help ---- Here you can restart the Open OnDemand web server if needed. Log out ------- To log out of Open OnDemand.