Python Using pip Packages
Step 1: Installing Python Packages with pip
Section titled “Step 1: Installing Python Packages with pip”Load Environment Module: python/3.12
Install Python Package: Numpy
Installation Path (Pip Packages): /home/$USER/.local
To instal python packages with pip, run below command in the SSH terminal (CLI), for tutorial in accessing CLI, please refer to Shell Access and Useful Command
# Load Python 3.12 Module$ module load python/3.12
# Check Python Version$ python -V
# Install Numpy Package:$ python –m pip install numpyStep 2: Prepare Python Program Source Code
Section titled “Step 2: Prepare Python Program Source Code”Example source code path -> /home/$USER/job_template/python/numpy_test.py
import numpy as np
# Create a 1-dimensional array (vector)array_1d = np.array([1, 2, 3, 4, 5])print("1D Array:", array_1d)
# Create a 2-dimensional array (matrix)array_2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])print("\n2D Array:\n", array_2d)
# Perform element-wise operationssum_array = array_1d + 10print("\n1D Array after adding 10 to each element:", sum_array)
product_array = array_2d * 2print("\n2D Array after multiplying each element by 2:\n", product_array)
# Access elements using indexing and slicingprint("\nElement at index 2 of 1D array:", array_1d[2])print("First row of 2D array:", array_2d[0])print("Elements from index 1 to 3 of 1D array:", array_1d[1:4])
# Get array attributesprint("\nShape of 2D array:", array_2d.shape)print("Number of dimensions of 2D array:", array_2d.ndim)print("Data type of elements in 1D array:", array_1d.dtype)Step 3: Prepare Job Template Script
Section titled “Step 3: Prepare Job Template Script”Pre-configured template script path -> /home/$USER/job_template/slurm_job/numpy_test.sh
Example template script
#!/bin/bash#SBATCH --job-name=numpy_test ## Job Name#SBATCH --partition=shared_cpu ## Partition for Running Job#SBATCH --nodes=1 ## Number of Compute Node#SBATCH --ntasks-per-node=1 # Number of Task per Compute Node#SBATCH --cpus-per-task=2 ## Number of CPU per task#SBATCH --time=60:00 ## Job Time Limit (i.e. 60 Minutes)#SBATCH --mem=10GB ## Total Memory for Job#SBATCH --output=./%x%j.out ## Output File Path#SBATCH --error=./%x%j.err ## Error Log Path
## Initiate Environment Modulesource /usr/share/modules/init/profile.sh
## Reset the Environment Module componentsmodule purge
## Load Modulemodule load python/3.10
## Run user commandpython3 /home/${USER}/job_template/python/numpy_test.py
## Clear Environment Module componentsmodule purgeStep 4: Create Template (Web Interface Feature)
Section titled “Step 4: Create Template (Web Interface Feature)”To submit HPC via web interface a job template is required, details please refer to: Create Template (Web Interface Feature)
For Job submission via CLI Terminal, please skip this step.
Step 5: Submit HPC Job
Section titled “Step 5: Submit HPC Job”Guides for submitting HPC job, please refer to: HPC Job Submission
Step 6: Reset Python (pip) Environment as Default
Section titled “Step 6: Reset Python (pip) Environment as Default”Guides for Reset Python (pip) Environment as Default, please refer to: How to Reset Customized Python Environment as Default?