|
| 1 | +[](){#ref-uenv-linaro} |
| 2 | +# Linaro Forge |
| 3 | + |
| 4 | +[Linaro Forge](https://docs.linaroforge.com/latest/html/forge/index.html) is a suite of profiling and debugging tools, that includes the DDT debugger and the MAP profiler. |
| 5 | + |
| 6 | +!!! note |
| 7 | + We have separate user guides for the tools provided by the `linaro-forge` uenv. |
| 8 | + The documentation here shows how to download the uenv, and how to set up your environment. |
| 9 | + |
| 10 | + Once you are set up, follow the specific guides: |
| 11 | + |
| 12 | + * the [DDT debugger][ref-devtools-ddt] |
| 13 | + * the [MAP profiler][ref-devtools-map]. |
| 14 | + |
| 15 | +## Quickstart guide |
| 16 | + |
| 17 | +The Linaro uenv is named `linaro-forge`, and the available versions can be determined using the `uenv image find` command: |
| 18 | + |
| 19 | +!!! example "finding available linaro-forge versions" |
| 20 | + |
| 21 | + ``` |
| 22 | + > uenv image find linaro-forge |
| 23 | + uenv arch system id size(MB) date |
| 24 | + linaro-forge/24.1.1:v1 gh200 daint e0e79f5c3e6a8ee0 365 2025-02-12 |
| 25 | + |
| 26 | + > uenv image pull linaro-forge/24.1.1:v1 |
| 27 | + pulling e0e79f5c3e6a8ee0 100.00% --- 365/365 (0.00 MB/s) |
| 28 | + ``` |
| 29 | + |
| 30 | +This uenv is configured to be mounted in the `/user-tools` path so that they can be used alongside application and development uenv mounted at `/user-environment`. |
| 31 | + |
| 32 | +When using alongside another uenv, start a uenv session with both uenv. |
| 33 | +In the following example, the `prgenv-gnu` and `linaro-forge` uenv will be mounted at `/user-environment` and `/user-tools` respectively: |
| 34 | + |
| 35 | +```bash |
| 36 | +> uenv start prgenv-gnu/24.11,linaro-forge/24.1.1 \ |
| 37 | + --view=prgenv-gnu:default,forge |
| 38 | + |
| 39 | +# test that everything has been mounted correctly |
| 40 | +# (will give warnings if there are problems) |
| 41 | +> uenv status |
| 42 | + |
| 43 | +# check that ddt is in the path |
| 44 | +> ddt --version |
| 45 | +Linaro DDT Part of Linaro Forge. |
| 46 | +Copyright (c) 2023-2024 Linaro Limited. All rights reserved. |
| 47 | +Version: 24.1.1 |
| 48 | +``` |
| 49 | + |
| 50 | +!!! note |
| 51 | + The `linaro-forge` uenv is always mounted at the `/user-tools` mount point, and a script `/user-tools/activate` is provided to load both ddt and map into your environment, without needing to use a view. |
| 52 | + |
| 53 | + ```bash |
| 54 | + > uenv start linaro-forge/14.1.1 |
| 55 | + > source /user-tools/activate |
| 56 | + > ddt --version |
| 57 | + Linaro DDT Part of Linaro Forge. |
| 58 | + Copyright (c) 2023-2024 Linaro Limited. All rights reserved. |
| 59 | + Version: 24.1.1 |
| 60 | + ``` |
| 61 | + |
| 62 | +### Install and configure the Linaro client on your local machine |
| 63 | + |
| 64 | +We recommend installing the [desktop client](https://www.linaroforge.com/downloadForge) on your local workstation/laptop. |
| 65 | +It can be downloaded for a selection of operating systems. |
| 66 | +The client can be configured to connect with the debug jobs running on Alps, offering a better user experience compared to running with X11 forwarding. |
| 67 | +Once installed, the client needs to be configured to connect to the vCluster on which you are working. |
| 68 | + |
| 69 | +First, start the client on your laptop: |
| 70 | + |
| 71 | +=== "Linux" |
| 72 | + |
| 73 | + The path will change if you have installed a different version, or if it has been installed in a non-standard installation location. |
| 74 | + |
| 75 | + ```bash |
| 76 | + $HOME/linaro/forge/24.1.1/bin/ddt |
| 77 | + ``` |
| 78 | + |
| 79 | +=== "MacOS" |
| 80 | + |
| 81 | + The path will change if you have installed a different version, or if it has been installed in a non-standard installation location. |
| 82 | + |
| 83 | + ```bash |
| 84 | + open /Applications/Linaro\ Forge\ Client\ 24.1.1.app/ |
| 85 | + ``` |
| 86 | + |
| 87 | +Next, configure a connection to the target system. |
| 88 | +Open the *Remote Launch* menu and click on *configure* then *Add*. |
| 89 | +Examples of the settings are below. |
| 90 | + |
| 91 | +=== "Daint" |
| 92 | + |
| 93 | + | Field | Value | |
| 94 | + | ----------- | --------------------------------------- | |
| 95 | + | Connection | `daint` | |
| 96 | + |
| 97 | + | Remote Installation Directory | `uenv run linaro-forge/24.1.1:/user-tools -- /user-tools/env/forge/` | |
| 98 | + |
| 99 | +=== "Santis" |
| 100 | + |
| 101 | + | Field | Value | |
| 102 | + | ----------- | --------------------------------------- | |
| 103 | + | Connection | `santis` | |
| 104 | + |
| 105 | + | Remote Installation Directory | `uenv run linaro-forge/24.1.1:/user-tools -- /user-tools/env/forge/` | |
| 106 | + |
| 107 | +=== "Clariden" |
| 108 | + |
| 109 | + | Field | Value | |
| 110 | + | ----------- | --------------------------------------- | |
| 111 | + | Connection | `clariden` | |
| 112 | + |
| 113 | + | Remote Installation Directory | `uenv run linaro-forge/24.1.1:/user-tools -- /user-tools/env/forge/` | |
| 114 | + |
| 115 | +=== "Eiger" |
| 116 | + |
| 117 | + | Field | Value | |
| 118 | + | ----------- | --------------------------------------- | |
| 119 | + | Connection | `eiger` | |
| 120 | + |
| 121 | + | Remote Installation Directory | `uenv run linaro-forge/24.1.1:/user-tools -- /user-tools/env/forge/` | |
| 122 | + |
| 123 | +!!! tip |
| 124 | + |
| 125 | + It is recommended to log into Alps using `ela.cscs.ch` as a ssh Jump host, as explained [here][ref-ssh-config]. |
| 126 | + In that case, you can remove `[email protected]` from the Linaro client configuration above. |
| 127 | + |
| 128 | +Some notes on the examples above: |
| 129 | + |
| 130 | +* SSH forwarding via `ela.cscs.ch` is used to access the cluster; |
| 131 | +* replace the username `cscsusername` with your CSCS user name that you would normally use to open an SSH connection to CSCS; |
| 132 | +* `Remote Installation Path` is pointing to the install directory of ddt inside the image; |
| 133 | +* private keys should be the ones generated for CSCS MFA, and this field does not need to be set if you have added the key to your [SSH agent][ref-ssh-agent]. |
| 134 | + |
| 135 | +Once configured, test and save the configuration: |
| 136 | + |
| 137 | +1. check whether the configuration is correct, click `Test Remote Launch`. |
| 138 | +2. Click on `ok` and `close` to save the configuration. |
| 139 | +3. You can now connect by going to `Remote Launch` and choose the `Alps` entry. |
| 140 | + If the client fails to connect, look at the error message, check your SSH |
| 141 | + configuration and make sure you can ssh without the client. |
| 142 | + |
| 143 | +[](){#ref-uenv-linaro-troubleshooting} |
| 144 | +## Troubleshooting |
| 145 | + |
| 146 | +Notes about known issues. |
| 147 | + |
| 148 | +!!! warning "The proxy type is invalid for this operation" |
| 149 | + |
| 150 | + If the tool fails to launch with the following error message: |
| 151 | + |
| 152 | + Error communicating with Licence Server velan.cscs.ch: |
| 153 | + The proxy type is invalid for this operation |
| 154 | + Attempting again while ignoring proxies. |
| 155 | + |
| 156 | + Proxy environment variables need to be set to let the tool connect to the license server, as explained in [Compute node proxy configuration][ref-guides-internet-access]. |
| 157 | + |
| 158 | +!!! note "AMD GPU support" |
| 159 | + |
| 160 | + CSCS does not currently have a Linaro license for AMD gpus. |
0 commit comments