136 lines
2.8 KiB
Markdown
136 lines
2.8 KiB
Markdown
(user.data_analysis.computing)=
|
|
# Online data analysis
|
|
|
|
We can access the online computing resources from the beamline consoles when logged in as the e-account.
|
|
|
|
## Allocation of nodes
|
|
|
|
Check available nodes and allocate one:
|
|
|
|
```bash
|
|
sinfo
|
|
salloc -A csaxs -p csaxs -w [ra-c-110]
|
|
ssh -Y [ra-c-110]
|
|
```
|
|
|
|
Or for a GPU node:
|
|
|
|
```bash
|
|
salloc -A csaxs -p gpu-csaxs --gpus=4 [-w ra-gpu-003] --mem=100G -n 8
|
|
ssh -Y [ra-gpu-003]
|
|
```
|
|
|
|
(note that we need to ask them to explicitly use one of our GPU nodes there, and this needs a couple of days to set up)
|
|
|
|
### Specifications of the computing nodes
|
|
|
|
A few examples of the available nodes:
|
|
|
|
| Node | CPU | Cores | Memory | GPUs | Partition |
|
|
|---|---|---|---|---|---|
|
|
| `ra-c-110` | Intel Xeon 6152 | 44 | 377 GB | — | `csaxs` |
|
|
| `ra-gpu-003` | AMD EPYC 7452 | 64 | 1007 GB | 4x NVIDIA A100 (40 GB) | `gpu-csaxs` |
|
|
| `ra-gpu-007` | Intel Xeon 6530 | 64 | 1007 GB | 4x NVIDIA L40S (46 GB)| `gpu-csaxs` |
|
|
|
|
|
|
**The home directory is the p group.** To go to the raw directory we need to navigate there:
|
|
|
|
```bash
|
|
cd /sls/x12sa/data/[p22598]/raw
|
|
```
|
|
|
|
## Python tools
|
|
|
|
### Python package installation
|
|
|
|
Anaconda is no longer supported. Packages should now be installed directly using `pip`.
|
|
|
|
For example, `pyFAI` can be installed as follows:
|
|
|
|
```bash
|
|
module load Python/3.11.11
|
|
pip install "pyFAI[gui]"
|
|
```
|
|
|
|
To launch the `pyFAI` applications:
|
|
|
|
```bash
|
|
# Detector calibration
|
|
python -m pyFAI.app.calib2
|
|
|
|
# Batch integration
|
|
python -m pyFAI.app.integrate
|
|
```
|
|
|
|
### Recommended: using a Python virtual environment
|
|
|
|
For long-term maintainability and reproducibility, it is recommended to use a dedicated Python virtual environment.
|
|
|
|
#### Create a virtual environment
|
|
|
|
```bash
|
|
cd /sls/x12sa/data/[p-group]/raw
|
|
|
|
module load Python/3.11.11
|
|
mkdir python-env
|
|
cd python-env
|
|
|
|
# Create a virtual environment named ".venv"
|
|
python3 -m venv .venv
|
|
|
|
# Activate the environment
|
|
source .venv/bin/activate
|
|
|
|
# Install required packages
|
|
pip install "pyFAI[gui]"
|
|
```
|
|
|
|
#### Use an existing virtual environment
|
|
|
|
```bash
|
|
cd /sls/x12sa/data/[p-group]/raw/python-env
|
|
source .venv/bin/activate
|
|
```
|
|
|
|
#### Troubleshooting
|
|
|
|
If you encounter the following error when launching GUI applications (e.g. `pyFAI-calib2`):
|
|
|
|
```text
|
|
X11 connection rejected
|
|
```
|
|
|
|
reconnect to the analysis node with X11 forwarding enabled:
|
|
|
|
```bash
|
|
ssh -X [ra-c-110]
|
|
```
|
|
|
|
and then reactivate the virtual environment before launching the application.
|
|
|
|
### Use Jupyter Notebook / Lab
|
|
|
|
Create a virtual environment following the instructions above, then:
|
|
|
|
```bash
|
|
pip install jupyter
|
|
```
|
|
|
|
To run Jupyter Lab:
|
|
|
|
```bash
|
|
jupyter lab --port 6006 --ip $(hostname) --no-browser
|
|
```
|
|
## cSAXS matlab scripts
|
|
|
|
To use the cSAXS matlab scripts we can go to the `cxs_software` package in the raw folder.
|
|
|
|
In base we can do:
|
|
```bash
|
|
source setup-environment.sh
|
|
```
|
|
And then we can use Matlab interactively as usual.
|
|
```bash
|
|
matlab &
|
|
```
|