Περιγραφή¶
Common Workflow Language (CWL) is an open standard for describing how to run command line tools and connect them to create workflows.
Tools and workflows described using CWL are portable across a variety of platforms that support the CWL standards. Using CWL, it is easy to scale complex data analysis and machine learning workflows from a single developer's laptop up to massively parallel cluster, cloud and high performance computing environments.
cwltool¶
Παράδειγμα χρήσης¶
Το script υποβολής της εργασίας θα έχει την ακόλουθη μορφή:
SLURM submission script
#!/bin/bash
#SBATCH --partition=batch
#SBATCH --job-name=cwltool-case
#SBATCH --ntasks-per-node=4
#SBATCH --nodes=1
#SBATCH --time=1:00:00
module load gcc/9.4.0
#activate the virtual environment for cwltool
source /mnt/apps/prebuilt/cwltool_venv/bin/activate
#run your commands
cwltool hello_world.cwl
cwltool hello_world.cwl --message="Hola mundo"
deactivate
Στο $HOME
μας στο login node, δημιουργούμε ένα νέο φάκελο όπου τοποθετούμε τα αρχεία εισόδου, εδώ έχουμε χρησιμοποιήσει ένα απλό παράδειγμα hello_world.cwl
και το script υποβολής της εργασίας, cwltool-case.sh
.
# mkdir cwltool-case
# cd cwltool-case
Η υποβολή της εργασίας γίνεται με την εντολή sbatch <filename.sh>
ως εξής:
# sbatch cwltool-case.sh
Παρακολουθούμε με την εντολή squeue
την εξέλιξη της εργασίας.
Eφόσον η εργασία έχει εκκινήσει μπορούμε να ελέγχουμε την πρόοδο της επίλυσης μέσω των αρχείων εξόδου. Π.χ.:
# tail -f *.out
Πληροφορίες εγκατάστασης¶
Για την εγκατάσταση εχουν χρησιμοποιηθεί οι μεταγλωττιστές:
gcc/9.4.0
Επιπλέον βιβλιοθήκες που χρησιμοποιήθηκαν είναι οι εξής:
libxslt
libxml2