Skip to content

Commit 0fad9b9

Browse files
committed
added access and getting started
1 parent bb23612 commit 0fad9b9

12 files changed

Lines changed: 589 additions & 6 deletions

File tree

docs/about/introduction.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ The HPC system plays a vital role in accelerating research across multiple domai
88
## Establishment and Evolution
99
The **HPC cluster** was initiated on **September 1, 2018**, with support from the **Alexander von Humboldt (AvH) Foundation, Germany**, and **Higher Education Reform Project (HERP) of TU**. The system has since evolved, incorporating **multi-core CPU clusters, high-performance GPUs, and optimized software environments** for parallel computing.
1010

11+
1112
## Objectives of TU HPC
1213
The TU HPC infrastructure aims to:
1314

@@ -18,7 +19,7 @@ The TU HPC infrastructure aims to:
1819
- **Support large-scale simulations, machine learning, and data analytics**.
1920

2021
## Research Domains Supported
21-
The HPC cluster at TU facilitates research in the following areas:
22+
The HPC cluster at TU facilitates currently working on research in the following areas:
2223

2324
- **Condensed Matter Physics**: First-principles calculations and quantum simulations.
2425
- **Artificial Intelligence & Machine Learning**: Training and deploying deep learning models.

docs/access/registration.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
Access to the **Tribhuvan University HPC system** is granted to **researchers, faculty, students, and industry collaborators** who require high-performance computing resources for **scientific research and computational projects**. The registration process ensures that users have a **valid research proposal and appropriate infrastructure needs**.
2+
3+
## Registration Process
4+
To request access to TU HPC, follow these steps:
5+
6+
### **1. Prepare a Research Proposal**
7+
Applicants must submit a **detailed research proposal** that includes:
8+
9+
- **Research title and objectives**
10+
- **Computational requirements (CPU, GPU, software dependencies, storage needs, etc.)**
11+
- **Expected duration of HPC usage**
12+
- **Potential research impact and outcomes**
13+
14+
### **2. Recommendation Letter (For Undergraduate Students)**
15+
Undergraduate students must provide a **recommendation letter** from:
16+
17+
- A **faculty advisor or supervisor** supporting their research project.
18+
- The letter should highlight the **student’s capability and need for HPC resources**.
19+
20+
### **3. Send an Email Request**
21+
Applicants should email their request to **Dr. Madhav Prasad Ghimire** at:
22+
23+
📩 **[madhav [dot] ghimire @ cdp [dot] tu [dot] edu [dot] np](mailto:)**
24+
25+
The email should include:
26+
27+
- **Research proposal (PDF format)**
28+
- **Recommendation letter (if applicable)**
29+
- **Requested infrastructure details**
30+
31+
### **4. Review & Approval**
32+
- The **HPC administration team** will review applications.
33+
- Approved users will receive an **HPC account and login credentials**.
34+
- Users must **agree to the HPC usage policies** before accessing the system.
35+
36+
## Important Notes
37+
- **Only approved research projects will be granted access**.
38+
- **HPC resources are limited**, so users must request only what they require.
39+
- Users must **renew access periodically** based on project requirements.
40+
41+
For any inquiries or support, contact **[madhav [dot] ghimire @ cdp [dot] tu [dot] edu [dot] np](mailto:)**.
42+
43+
> _Enabling researchers with high-performance computing power!_ 🚀

docs/access/roles.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
## User Roles
2+
The following user roles define access levels and responsibilities within the HPC system:
3+
4+
### **1. HPC Administrators**
5+
- Responsible for **system management, maintenance, and user support**.
6+
- Have full access to **all system configurations, job scheduling, and software installations**.
7+
- Manage **network security, storage, and system upgrades**.
8+
9+
### **2. Faculty & Principal Investigators (PIs)**
10+
- Can **request access for research projects and student users**.
11+
- Have **priority access** to HPC resources for approved projects.
12+
- Allowed to install **custom software** upon request.
13+
- Responsible for **ensuring ethical usage of HPC resources**.
14+
15+
### **3. Research Scholars & Graduate Students**
16+
- Can submit **jobs to compute nodes** and use **available software**.
17+
- Allowed to use **scratch storage for temporary data processing**.
18+
- Must follow **fair usage policies** to ensure equitable resource distribution.
19+
20+
### **4. Undergraduate Students**
21+
- Allowed access **only under supervision** of a faculty member or PI.
22+
- Required to submit a **recommendation letter** to gain access.
23+
- Can perform **basic computations and coursework-related HPC tasks**.
24+
25+
### **5. External Collaborators & Industry Users**
26+
- Can access **HPC resources through joint research projects**.
27+
- Require **prior approval** from the **HPC administration team**.
28+
- Access is **time-limited and subject to specific project needs**.
29+
30+
## Permissions & Access Levels
31+
The table below outlines the **access privileges** for each user role:
32+
33+
| Permission | Admins | Faculty/PIs | Researchers | Undergraduates | Industry Users |
34+
|--------------------------------|--------|------------|-------------|----------------|----------------|
35+
| Submit Jobs to Compute Nodes |||| ✅ (Limited) | ✅ (Limited) |
36+
| Access Scratch Storage |||| ✅ (Limited) ||
37+
| Install Custom Software || ✅ (Approval Required) ||||
38+
| Modify SLURM Job Scheduler ||||||
39+
| Request Additional Resources ||| ✅ (Limited) |||
40+
| Long-term Storage Allocation ||| ✅ (Approval Required) |||
41+
42+
## Policy Compliance & Violations
43+
Users must comply with **HPC policies** regarding **fair usage, security, and data privacy**. Violations such as **misuse of resources, unauthorized software installations, or security breaches** may result in **account suspension or permanent revocation of access**.
44+
45+
46+
> _Ensuring responsible and efficient use of HPC resources!_ 🚀

docs/access/security.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
The **HPC system at Tribhuvan University** follows **strict security policies** to ensure **data integrity, system stability, and secure access**. All users must follow these security guidelines to maintain a **safe computing environment**.
2+
3+
## 1. User Authentication & Access Control
4+
- **SSH Key-Based Authentication**: Users must use **SSH keys** for remote access; password-based authentication is disabled.
5+
- **Multi-Factor Authentication (MFA)**: If enabled, users must follow the additional authentication steps.
6+
- **User Account Management**:
7+
- Each user must have a unique account.
8+
- **Sharing credentials is strictly prohibited**.
9+
- Users must update their passwords regularly and use **strong password policies**.
10+
11+
## 2. Data Security & Privacy
12+
- Users must **not store sensitive personal data** or proprietary research data without encryption.
13+
- All data must be stored in **designated directories** (`/home`, `/mnt/storage0`) following storage policies.
14+
- **Data backups are the responsibility of the users**; the HPC system provides limited backup capabilities.
15+
- Users should not share or transfer research data without appropriate permissions.
16+
17+
## 3. Network & Remote Access Security
18+
- The HPC system is hosted at **ITIC Tribhuvan University**, and **NAT is managed by TU ITIC and the Registrar Office**.
19+
- **Only authorized users can access the system remotely via SSH**.
20+
- **Public-facing services are restricted**; users cannot expose any services without administrator approval.
21+
- **No unauthorized VPNs, proxies, or tunneling methods** should be used.
22+
23+
## 4. Software Installation & Execution Policies
24+
- Users **cannot install system-level software** without approval.
25+
- All software requests should be made via **[madhav [dot] ghimire @ cdp [dot] tu [dot] edu [dot] np]**.
26+
- Executable files must be **scanned for security risks** before running.
27+
- Users must **not run scripts that consume excessive resources** or cause instability.
28+
29+
## 5. Job Submission & Fair Usage
30+
- Users must ensure **efficient job scheduling** and avoid unnecessary resource hogging.
31+
- Long-running jobs must be **checked and optimized** to minimize impact on shared resources.
32+
- **Priority scheduling is based on fair usage policies**; abusing the system may result in restricted access.
33+
34+
## 6. Incident Reporting & Policy Violations
35+
- Users must report **security incidents or suspicious activities** immediately to **support**.
36+
- Violations of security policies may result in **temporary or permanent suspension**.
37+
- Regular audits are conducted to monitor compliance and ensure the integrity of the HPC system.
38+
39+
## 7. Future Security Enhancements
40+
- Implementation of **enhanced network monitoring tools**.
41+
- Regular **security awareness training** for users.
42+
- Exploring **VPN-based secure access for external researchers**.
43+
44+
For any security concerns or questions, contact **[madhav [dot] ghimire @ cdp [dot] tu [dot] edu [dot] np](mailto:)**.
45+
46+
> _Ensuring a secure and high-performance computing environment!_ 🔒🚀

docs/access/who_can_access.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
2+
The **HPC system at Tribhuvan University** is designed to support **researchers, faculty, and students** engaged in computational research. Access to the HPC infrastructure is **available to national and international collaborators**, subject to approval by the TU HPC administration.
3+
4+
## Eligible Users
5+
The following groups are eligible to apply for access to TU HPC:
6+
7+
### **1. Faculty & Researchers**
8+
- Professors and researchers affiliated with **Tribhuvan University and other academic institutions** in Nepal.
9+
- Researchers from **national and international universities collaborating with TU**.
10+
- Scientists working on **HPC-based projects in material science, AI, computational physics, and related fields** from **Nepal**.
11+
12+
### **2. Students (Graduate & Undergraduate)**
13+
- **Master’s and Ph.D. students** conducting research that requires high-performance computing.
14+
- Undergraduate students participating in **HPC-related coursework, projects, or internships**.
15+
- Students must be supervised by an **approved faculty advisor or research group**.
16+
17+
### **3. Government & Industry Collaborators**
18+
- Researchers from **government organizations** requiring computational resources for policy planning, climate modeling, or engineering simulations.
19+
- **Industry partners and startups** engaged in AI research, data analytics, and scientific computing.
20+
- Collaborators involved in **joint projects with TU HPC or AMRL research groups**.
21+
22+
### **4. Independent & International Researchers**
23+
- Independent researchers may request access for **specific, well-defined projects** from **Nepalese** Origin.
24+
- International collaborations are welcome, subject to approval and partnership agreements.
25+
26+
## How to Apply for Access
27+
To gain access to the TU HPC system, users must:
28+
29+
1. **Submit an HPC Access Request**
30+
- Fill out the application form available at **[TU HPC Registration](../access/registration.md)**.
31+
- Include details of your research project and computing requirements.
32+
33+
2. **Approval & Account Creation**
34+
- Applications will be reviewed by the **HPC administration team**.
35+
- Approved users will receive login credentials and access instructions.
36+
37+
3. **Comply with HPC Usage Policies**
38+
- Users must adhere to the **HPC code of conduct and fair usage policies**.
39+
- Violations of policies may result in account suspension.
40+
41+
## Acknowledging TU HPC in Research
42+
Users publishing research that utilizes **TU HPC resources** must acknowledge the infrastructure in their publications:
43+
44+
> "This research acknowledges IFW-Dresden for providing the large-scale compute nodes to Tribhuvan University for scientific computations."
45+
46+
For more details on applying for access, visit the [HPC Access Guide](../access/registration.md) or contact **[madhav [dot] ghimire @ cdp [dot] tu [dot] edu [dot] np](mailto:)**.
47+
48+
> _Providing equitable access to high-performance computing for Nepal's research community!_ 🚀
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
Users working on **TU HPC** need to transfer files between their local systems and the HPC cluster. **Globus is not available**, so users must use standard **secure file transfer methods** like `scp`, `rsync`, and `sftp` for **safe and efficient data transfer**.
2+
3+
## 1. Secure File Transfer Using SCP
4+
The `scp` (Secure Copy Protocol) command allows users to copy files **securely over SSH**.
5+
6+
### **Uploading a File to HPC**
7+
From your local machine, use:
8+
```bash
9+
scp myfile.txt username@tu-hpc-ip:/home/username/
10+
```
11+
This copies `myfile.txt` from your local system to your **home directory** on TU HPC.
12+
13+
### **Downloading a File from HPC**
14+
```bash
15+
scp username@tu-hpc-ip:/home/username/myfile.txt ./
16+
```
17+
This downloads `myfile.txt` from the HPC system to your local system.
18+
19+
### **Transferring Entire Directories**
20+
```bash
21+
scp -r myfolder username@tu-hpc-ip:/home/username/
22+
```
23+
The `-r` flag copies entire directories recursively.
24+
25+
## 2. Efficient File Transfer with Rsync
26+
For **resumable and optimized** file transfers, `rsync` is recommended.
27+
28+
### **Uploading a Directory with Rsync**
29+
```bash
30+
rsync -avz myfolder username@tu-hpc-ip:/home/username/
31+
```
32+
The `-a` (archive), `-v` (verbose), and `-z` (compression) flags ensure efficient transfer.
33+
34+
### **Downloading Files Using Rsync**
35+
```bash
36+
rsync -avz username@tu-hpc-ip:/home/username/myfolder ./
37+
```
38+
If a transfer is interrupted, simply rerun the same command to resume from where it left off.
39+
40+
## 3. Interactive File Transfer with SFTP
41+
For interactive file transfers, use `sftp`:
42+
```bash
43+
sftp username@tu-hpc-ip
44+
```
45+
Once connected, use:
46+
- `put myfile.txt` (Upload file to HPC)
47+
- `get myfile.txt` (Download file from HPC)
48+
- `ls` (List remote files)
49+
- `bye` (Exit SFTP session)
50+
51+
## 4. Large File Transfers & Storage Guidelines
52+
- **Use Rsync** for large datasets to avoid re-transfers of unchanged files.
53+
- Store files in **appropriate directories** (`/home/username/` for personal data, `/mnt/storage0/` for temporary large-scale computations).
54+
- **Do not store unnecessary files** in `/home/`, as space is limited.
55+
56+
## 5. Automating File Transfers
57+
To automate regular file transfers, add your SSH key for passwordless authentication and create a cron job:
58+
```bash
59+
crontab -e
60+
```
61+
Example cron job to sync a folder daily at midnight:
62+
```bash
63+
0 0 * * * rsync -avz /local/folder username@tu-hpc-ip:/home/username/
64+
```
65+
66+
## 6. Troubleshooting File Transfers
67+
- If `scp` or `rsync` is slow, try adding `-e "ssh -C"` for compression:
68+
```bash
69+
scp -C myfile.txt username@tu-hpc-ip:/home/username/
70+
```
71+
- If the connection fails, ensure your **SSH keys** are correctly set up.
72+
- Check available space using:
73+
```bash
74+
df -h
75+
```
76+
77+
> _Efficient and secure file transfer for HPC workflows!_ 🚀

docs/getting_started/first_job.md

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
After gaining access to the **HPC system at Tribhuvan University**, users can submit jobs using the **SLURM job scheduler**. This guide explains how to run your first job, monitor its status, and optimize job submissions.
2+
3+
## 1. Logging into the HPC System
4+
Before running jobs, connect to the TU HPC system via SSH:
5+
```bash
6+
ssh username@tu-hpc-ip
7+
```
8+
Ensure you are in your **home directory** or an appropriate project folder before submitting jobs.
9+
10+
## 2. Creating a SLURM Job Script
11+
A job script tells the **SLURM scheduler** how to allocate resources and execute your program. Create a job script (e.g., `job.slurm`) using a text editor:
12+
```bash
13+
nano job.slurm
14+
```
15+
Add the following SLURM directives to specify job parameters:
16+
```bash
17+
#!/bin/bash
18+
#SBATCH --job-name=test_job # Job name
19+
#SBATCH --output=output.txt # Output file
20+
#SBATCH --error=error.log # Error file
21+
#SBATCH --ntasks=1 # Number of tasks
22+
#SBATCH --cpus-per-task=4 # Number of CPU cores per task
23+
#SBATCH --time=01:00:00 # Time limit (hh:mm:ss)
24+
#SBATCH --partition=normal # Specify partition (e.g., normal, protein, fplo)
25+
26+
module load python/3.10.12 # Load required module
27+
python my_script.py # Run Python script
28+
```
29+
Save and exit (`CTRL + X`, then `Y` and `ENTER`).
30+
31+
## 3. Submitting the Job
32+
Submit the job to the SLURM scheduler using:
33+
```bash
34+
sbatch job.slurm
35+
```
36+
This will add your job to the queue, and it will execute once resources are available.
37+
38+
## 4. Monitoring Job Status
39+
To check the status of your submitted jobs, use:
40+
```bash
41+
squeue -u $USER
42+
```
43+
To view detailed job information:
44+
```bash
45+
scontrol show job <job_id>
46+
```
47+
To cancel a job:
48+
```bash
49+
scancel <job_id>
50+
```
51+
52+
## 5. Checking Job Output
53+
Once the job is completed, check the output and error files:
54+
```bash
55+
cat output.txt # View job output
56+
cat error.log # View error messages (if any)
57+
```
58+
59+
## 6. Optimizing Job Submissions
60+
- Use **appropriate resource allocation** (CPU, memory, and time) to avoid long queue times.
61+
- Run **test jobs** with small datasets before scaling up computations.
62+
- Use **job dependencies** if running multiple interdependent tasks:
63+
```bash
64+
sbatch --dependency=afterok:<job_id> job2.slurm
65+
```
66+
- Consider using **parallel computing** (MPI, OpenMP) for efficiency.
67+
68+
## 7. Example: Running a GPU Job
69+
For GPU-based workloads, modify the script as follows:
70+
```bash
71+
#!/bin/bash
72+
#SBATCH --job-name=gpu_test
73+
#SBATCH --output=gpu_output.txt
74+
#SBATCH --gres=gpu:1 # Request 1 GPU
75+
#SBATCH --partition=protein # Use GPU-enabled partition
76+
77+
module load cuda/11.2
78+
./gpu_program
79+
80+
```
81+
Submit it using:
82+
83+
```bash
84+
sbatch gpu_job.slurm
85+
```
86+
87+
> _Start computing efficiently on TU HPC!_ 🚀
Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,4 @@ Type : yes, otherwise the system will disconnet.
5151

5252
Note: The typed password is invisible in terminal.
5353

54-
## Forgot Password?
55-
56-
Please raise a ticket regarding this issue under User Support and the system administrator will resolve your problem.
57-
58-
54+
> _Enabling researchers with high-performance computing power!_ 🚀

0 commit comments

Comments
 (0)