Download RCM Software ^^^^^^^^^^^^^^^^^^^^^ Requirements: * Microsoft Windows 7, 8, 10, 11. * Linux: Ubuntu from 16.04, CentOS 7 (other distributions have been not tested) * Apple MacOS Moajave or newer (both version, intel and apple silicon cpu are supported) .. note:: On Linux O.S. the user must modify the permission of the precompiled executable RCM with the command: ``chmod +x `` **Download:** * `GitHub repository `_ (github) * `Old version `_ Basic Usage of RCM ^^^^^^^^^^^^^^^^^^ **Client/Server Interaction** RCM operates as a client/server application. Every interaction with the application requires the server to execute specific tasks, which may take some time depending on your Internet connection's bandwidth and latency, as well as the current workload of the clusters. To start **RCM** application, follow the described steps: 1. **Launch the RCM executable** 2. Input the **Connection Details**: provide the required hostname (see the table below) and your username. In case you already have a previous saved session, select it from the drop-down menu. 3. **Authenticate**: If you have a valid autentication certificate (:ref:`general/access:How to manage authentication *certificates*`), leave the [Password] field empty. Then, press the :bdg-black-line:`Login` button. .. image:: img/rcm1.png :align: center :class: no-scaled-link .. image:: ../general/img/spacer.png :align: center :height: 20 px :class: no-scaled-link **Hostname Table** +----------------+---------------------------+ | **Cluster** | **Hostname** | +================+===========================+ | Leonardo | rcm.leonardo.cineca.it | +----------------+---------------------------+ | Galileo100 | rcm.g100.cineca.it | +----------------+---------------------------+ RCM can manage multiple sessions. To start a new one, i.e. one for each different cluster, just click on :bdg-black-line:` + ` button in the tab bar (see the figure). Then, input the connection details for the new session. .. image:: img/rcm2.png :align: center :class: no-scaled-link .. image:: ../general/img/spacer.png :align: center :height: 20 px :class: no-scaled-link Once logged, a new tab will show the list of available remote display sessions. In case you did not create a display session yet, the list will be empty. .. image:: img/rcm3.png :align: center :class: no-scaled-link .. image:: ../general/img/spacer.png :align: center :height: 20 px :class: no-scaled-link How to create a new Display ^^^^^^^^^^^^^^^^^^^^^^^^^^^ To create a new display, inside a session, just click on :bdg-black-line:` + ` button as shown in the figure below. .. image:: img/rcm4.png :align: center :class: no-scaled-link .. image:: ../general/img/spacer.png :align: center :height: 20 px :class: no-scaled-link Once the connection is estabilished, a new window for the setting of connection will appear (see the figure below). The configuration options are: .. list-table:: :widths: 35 65 :header-rows: 1 :class: tight-table * - **Option** - **Description** * - Scheduler - Choose between **SSH** (no scheduler) or **Slurm**. * - Account - Select one of your project account * - Queue - Specify the SLURM partition where the job will run. * - QoS - Choose the proper quality of service (QoS) wich affects the job wall-time limits and permissions. * - Memory - Define the RAM memory (GB) required for your job. * - Time - Set the job walltime (up to 24 h). * - GPU - Specify the number of GPUs * - Service Type - The default serive is the latest version of **VNC**. * - Window Manager - Choose a window manager for the VNC session: * Openbox GPU only: Supported exclusively on GPU nodes. THis preloads the visualization stack (e.g. Paraview, VTK, and other pakages). * Openbox/Fluxbox: Supported on all nodes. To use visualization applications, load the required module (e.g.: `module load paraview`). .. note:: Hover your cursor over any configuration element for additional information about its functionality. .. image:: img/rcm5.png :align: center :class: no-scaled-link .. image:: ../general/img/spacer.png :align: center :height: 20 px :class: no-scaled-link .. image:: img/rcm6.png :align: center :class: no-scaled-link .. image:: ../general/img/spacer.png :align: center :height: 20 px :class: no-scaled-link Click on :bdg-black-line:` Ok ` button in the dialog window, a remote display session will be created and the user will automatically attached to it. Also, a Turbo VNC window will be open (see the figure below). .. image:: img/rcm7.png :align: center :class: no-scaled-link .. image:: ../general/img/spacer.png :align: center :height: 20 px :class: no-scaled-link .. note:: The creation of a display can take some time depending on the workload of the cluster. When a new display is created, a new item, showing the display details, will be added to the list of available remote display session on the RCM tab. Especially, the display details are: * **Name:** name of the display session * **Status:** the condition of the remote display session, pending (starting up the display session), valid (display session is running), killing (deleting the display session). * **Time:** the remaining time before the session will ends (if the display session has no time limit, this value is replaced by the symbol "~" ). Note that each display session has a time limit: over that time limit, the display will be automatically killed and not saved data will be lost. * **Resources:** the node of the cluster on which the remote display session has been created. .. image:: img/rcm8.png :align: center :class: no-scaled-link .. image:: ../general/img/spacer.png :align: center :height: 20 px :class: no-scaled-link How to share a Display ^^^^^^^^^^^^^^^^^^^^^^ Sharing a remote display means to give to another user the possibility to access to a specific remote display session you have created. The sharing of a remote display session is done by means of a ``.vnc`` file that as to be saved by the owner of the display session and opened by the user who has to access to the shared display session. To share a display session: * click on :bdg-black-line:`SHARE THE REMOTE DISPLAY SESSION VIA FILE` button related to the remote display session you want to share. * A dialog will prompt the user to select a location for saving a file. * Send the saved file to the users who need to access to the shared display session. To connect to a shared display session click on :bdg-black-line:`Open` button from the :bdg-black-line:`File` menu and select the received ``.vnc`` file. How to kill a Display ^^^^^^^^^^^^^^^^^^^^^ Display sessions can be killed by pressing the :bdg-black-line:`KILL THE REMOTE DISPLAY SESSION` button. Just press the :bdg-black-line:`x` button in the row associated with the remote display session you don’t want to use anymore, and it will be removed from the list of the available displays. This operation can take some time, depending on the workload of the clusters. Note that by pressing it, the relative display will be not reachable anymore and you will lose not saved data. Running a GUI-based Software ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ To execute a GUI-based application you have multiple options: .. tab-set:: .. tab-item:: On Standard Resources 1. Load the module for the required software (i.e. paraview) * open the terminal within the graphical session of RCM .. code-block:: bash module load rcm module load paraview 2. Launch the software form the terminal, i.e.: .. code-block:: bash paraview .. tab-item:: On GPU Resources If you are using GPU resources (i.e. using the setting **SSH** or **SLURM**), additional steps are required: 1. Load all the required modules .. code-block:: bash module load rcm module load paraview module load virtualgl 2. Launch the software form the terminal by using ``vlgrun``, i.e.: .. code-block:: bash vlgrun paraview .. tab-item:: For **Openbox GPU Only** Window Manager If you selected the Openbox GPU only window manager when creating the display, you only need to execute the visualization software using the vglrun command (i.e. for paraview): .. code-block:: bash vlgrun paraview These steps ensure proper execution of visualization tools, particularly when utilizing GPU resources for accelerated performance.