Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Current »

This page details the needed steps to run metashape on Ibex

Metashape Distributed processing architecture

To run metashape on Ibex you’ll need to have:

  • A client installed on your personal workstation.

  • Metashape (Linux version) downloaded to your Ibex Filesystem.

  • A master node (compute node) to control the jobs.

  • At least one worker/processing node (GPU node) to process the data.

  • A Directory on Ibex for your projects that’s visible to your client, worker and master nodes.

Setup steps:

Download and install Metashape on your workstation and activate using your license number

https://www.agisoft.com/downloads/installer/

You’ll also need to download the linux version to a location with enough space on your Ibex File system

and extract the compressed file there

Next, you’ll need to place your project files in a directory on Ibex and mount that directory to your workstation as it needs to be accessible to the worker nodes and the client.

Follow these steps in the following link according to your OS to mount Ibex File system on Workstation

https://www.hpc.kaust.edu.sa/ibex/transfering_data

Next, you’ll need to reserve a master node (CPU node) to communicate jobs between client and workers

using this job script:

#!/bin/bash
#SBATCH --job-name=metashape_server
#SBATCH --output=%x-%j.out
#SBATCH --error=%x-%j.out
#SBATCH --nodes=1
#SBATCH --time=1:00:00

module load gcc

master_addr=$(scontrol show hostnames "$SLURM_JOB_NODELIST" | head -n 1)
echo ${master_addr} > master_addr.ip

cd <path-to-metashape-directory-on-ibex>
./metashape.sh --server --host ${master_addr} -platform offscreen

use squeue -u your-username to monitor the job, once a compute node is allocated as show below you can now start adding worker nodes

To reserve worker nodes, follow this job script.

You’ll need to add your license number and the path to metashape directory and the project directory on Ibex

#!/bin/bash
#SBATCH --job-name=metashape_workers
#SBATCH --output=%x-%j.out
#SBATCH --error=%x-%j.out
#SBATCH --nodes=2
#SBATCH --gres=gpu:1
#SBATCH --constraint=[v100]
#SBATCH --time=1:00:00

sleep 30s

module load gcc

master_addr=$(head -n 1 master_addr.ip)

cd <path-to-metashape-directory-on-ibex>

#Number after -N must equal number of reserved nodes

srun -N 2 ./metashape.sh --activate <License-number>
srun -N 2 ./metashape --node --host ${master_addr} --root "path-to-project-dir-on-ibex" -platform offscreen

You can find the ip adress of the master node (underlined) in the .out file from this script

After a minute, the worker nodes should be ready

Next we need to setup connection between client and master node

In the metashape client go to tools → preferences → network

Check “enable network processing” box

Enter the master node ip obtained as shown above

Enter the path to project directory as mounted on your workstation

After Applying these settings you should be ready to run your jobs on metashape

Please note that Network processing mode doesn’t support .psz projects, You should use .psx format instead

  • No labels