Python is an interpreted high-level programming language for general-purpose programming. It’s design philosophy emphasizes code readability using significant whitespace. Python features a dynamic type system and automatic memory management. It supports multiple programming paradigms, including object-oriented, imperative, functional and procedural, and has a large and comprehensive standard library. Documentation for Python can be found on its official website. Currently, versions 2.7 and 3.0 of Python are available on the cluster.
python.
Python files end in *.py, and can be run from the command line using
python filename.py
where filename is the name of the Python file.
module load python3/anaconda/5.2.0
conda create -n python-environment python-essentials python-base
source activate python-environment
Once the virtual environment is created, it can be launched at any time by ensuring that the python3 module is
loaded, using the command
module load python3/anaconda/5.2.0
source activate python-environment
pip install package-name
pip install SQLAlchemy
conda install package-name
conda install NumPy
source deactivate
import random
print("Hello World!")
a = 10
b = 3
print("a is %d" % a)
print("b is %d" % b)
print("a*b is %d" % (a*b))
print("Random list: ")
rand_list = []
for x in range(10):
rand_list.append(random.randint(1,100))
print(rand_list)
print("List sorted: ")
print(sorted(rand_list))
3. Prepare the submission script, which is the script that is submitted to the Slurm scheduler as a job in order
to run the Python script. The linked repository provides the script job.sh as an example.
#!/bin/sh
#SBATCH --job-name=py_test
#SBATCH -o py_out%j.out
#SBATCH -e py_err%j.err
#SBATCH -N 1
#SBATCH --ntasks-per-node=1
echo -e '\nsubmitted Python job'
echo 'hostname'
hostname
# creates a python virtual environment
module load python3/anaconda/5.2.0
source activate python-environment
# run python script
python3 test.py
# exit the virtual environment
source deactivate
4. Submit the job using: sbatch job.sh
5. Examine the results.