diff --git a/docs/assets/images/userguides/secdiagram.png b/docs/assets/images/userguides/secdiagram.png new file mode 100644 index 00000000..06dc886a Binary files /dev/null and b/docs/assets/images/userguides/secdiagram.png differ diff --git a/docs/userguides/hammer/accounts.md b/docs/userguides/hammer/accounts.md new file mode 100644 index 00000000..38a331ed --- /dev/null +++ b/docs/userguides/hammer/accounts.md @@ -0,0 +1,65 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +# Accounts on Hammer + +### Obtaining an Account + +To obtain an account, you must be part of a research group which has purchased access to Hammer. Refer to the [Accounts / Access](https://www.rcac.purdue.edu/account/request) page for more details on how to request access. + +!!! note + External (non-Purdue) collaborators can be granted access to Hammer, provided the collaborator has a valid Purdue career account. If the collaborator does not have a Purdue career account, a current Purdue faculty or staff member must file a [Request for Privileges (R4P)](https://www.purdue.edu/apps/account/r4p) to have the career account created. + +## Logging In To Hammer + +### Thinlinc + +One can login to the Hammer front-end with a full desktop environment via the [ThinLinc web client](https://desktop.hammer.rcac.purdue.edu). + +!!! important + Your full password is needed to trigger the MFA notification that is sent to your phone for approval. + +{{ thinlinc_snippet("hammer") }} + +### SSH + +*Secure Shell* or *SSH* is a way of establishing a secure connection between two computers. It uses public-key cryptography to authenticate the user with the remote computer and to establish a secure connection. Its usual function involves logging in to a remote machine and executing commands. There are many SSH clients available for all operating systems. + +!!! note + Hammer supports either Purdue's MFA two-factor authentication or SSH keys. + +#### SSH Client Software + +Linux / Solaris / AIX / HP-UX / Unix: + +- The `ssh` command is pre-installed. Log in using `ssh username@hammer.rcac.purdue.edu` from a terminal. + +Microsoft Windows: + +- [MobaXterm](https://mobaxterm.mobatek.net/download.html) is a small, easy to use, full-featured SSH client. It includes X11 support for remote displays, SFTP capabilities, and limited SSH authentication forwarding for keys. + +Mac OS X: + +- The `ssh` command is pre-installed. You may start a local terminal window from "Applications->Utilities". Log in by typing the command `ssh username@hammer.rcac.purdue.edu`. + +!!! important + When prompted to enter a password, enter your Purdue career account password. Your MFA app will then receive a notification to approve the login. + +## SSH Keys +{{ ssh_keys_snippet("hammer") }} + +## SSH X11 Forwarding +{{ ssh_x11_snippet("hammer") }} + +## Purchasing Nodes + +--8<-- "docs/snippets/purchase_nodes.md" + +[**Back to Hammer User Guide**](index.md) diff --git a/docs/userguides/hammer/compile.md b/docs/userguides/hammer/compile.md new file mode 100644 index 00000000..76fe3870 --- /dev/null +++ b/docs/userguides/hammer/compile.md @@ -0,0 +1,22 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +# Compiling Source Code + +Documentation on compiling source code on Hammer. + +## In This Section + +- [Compiling Serial Programs](compile/serial.md) +- [Compiling OpenMP Programs](compile/openmp.md) +- [Intel MKL Library](compile/intel_mkl.md) +- [Compiling MPI Programs](compile/mpi.md) + +[**Back to Hammer User Guide**](index.md) diff --git a/docs/userguides/hammer/compile/intel_mkl.md b/docs/userguides/hammer/compile/intel_mkl.md new file mode 100644 index 00000000..8d71ac33 --- /dev/null +++ b/docs/userguides/hammer/compile/intel_mkl.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/compile_intel_mkl.md" + +[**Back to the Compiling Source Code section**](../compile.md) diff --git a/docs/userguides/hammer/compile/mpi.md b/docs/userguides/hammer/compile/mpi.md new file mode 100644 index 00000000..f3f4b78d --- /dev/null +++ b/docs/userguides/hammer/compile/mpi.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/compile_mpi.md" + +[**Back to the Compiling Source Code section**](../compile.md) diff --git a/docs/userguides/hammer/compile/openmp.md b/docs/userguides/hammer/compile/openmp.md new file mode 100644 index 00000000..1f890950 --- /dev/null +++ b/docs/userguides/hammer/compile/openmp.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/compile_openmp.md" + +[**Back to the Compiling Source Code section**](../compile.md) diff --git a/docs/userguides/hammer/compile/serial.md b/docs/userguides/hammer/compile/serial.md new file mode 100644 index 00000000..ed2d7ed5 --- /dev/null +++ b/docs/userguides/hammer/compile/serial.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/compile_serial.md" + +[**Back to the Compiling Source Code section**](../compile.md) diff --git a/docs/userguides/hammer/faqs.md b/docs/userguides/hammer/faqs.md new file mode 100644 index 00000000..4a045d78 --- /dev/null +++ b/docs/userguides/hammer/faqs.md @@ -0,0 +1,335 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +# Frequently Asked Questions + +Some common questions, errors, and problems are categorized below. You can also use the search box above to search the user guide for any issues you are seeing. + +## About Hammer + +### Can you remove me from the Hammer mailing list? + +Your subscription in the Hammer mailing list is tied to your account on Hammer. If you are no longer using your account on Hammer, your account can be deleted from the [My Accounts](https://www.rcac.purdue.edu/account/myinfo) page. Hover over the resource you wish to remove yourself from and click the red 'X' button. Your account and mailing list subscription will be removed overnight. Be sure to make a copy of any data you wish to keep first. + +### How is Hammer different than other Community Clusters? + +Hammer differs from the other Community Clusters in several significant aspects: + +* Hammer is optimized for loosely-coupled, high-throughput computing (HTC), rather than tightly-coupled parallel applications. This makes it ideal for workloads consisting of many independent, single-node jobs. The **maximum job size is 8 processor cores**. +* By default, SLURM jobs on Hammer receive exclusive access to compute nodes. Jobs requiring fewer than a full node's cores still occupy the entire node unless node sharing is explicitly requested. +* Hammer home directories are entirely separate from other Community Clusters home directories. There is no automatic copying or synchronization between the two. At their discretion, users can copy parts or all of another Community Cluster home directory into Hammer. [Instructions are provided](storage.md#file-transfer). +* Hammer uses a named queue system where each research partner gets a dedicated queue. All users also have access to the `standby` queue for lower-priority work and the `debug` queue for short interactive debugging sessions. +* Users of `hsi` and `htar` commands may encounter Fortress keytab- and authentication-related error messages due to the dedicated nature of Hammer home directories. A [temporary workaround is provided](#hsihtar-unable-to-authenticate-user-with-remote-gateway-error-2-or-9) while a permanent solution is being developed. + +### Do I need to do anything to my firewall to access Hammer? + +No firewall changes are needed to access Hammer. However, to access data through Network Drives (i.e., CIFS, "Z: Drive"), you must be on a Purdue campus network or connected through [VPN](http://www.itap.purdue.edu/connections/vpn/). + +## Logging In & Accounts + +### /usr/bin/xauth: error in locking authority file + +**Problem** + +I receive this message when logging in: + +`/usr/bin/xauth: error in locking authority file` + +**Solution** + +Your home directory disk quota is full. You may check your quota with `myquota`. + +You will need to free up space in your home directory. + +`ncdu` command is a convenient interactive tool to examine disk usage. Consider running `ncdu $HOME` to analyze where the bulk of the usage is. With this knowledge, you could then archive your data elsewhere (e.g. your research group's Data Depot space, or Fortress tape archive), or delete files you no longer need. + +There are several common locations that tend to grow large over time and are merely cached downloads. The following are safe to delete if you see them in the output of `ncdu $HOME`: + +``` +/home/myusername/.local/share/Trash +/home/myusername/.cache/pip +/home/myusername/.conda/pkgs +/home/myusername/.apptainer/cache +``` + +### My SSH connection hangs + +**Problem** + +Your console hangs while trying to connect to a RCAC Server. + +**Solution** + +This can happen due to various reasons. Most common reasons for hanging SSH terminals are: + +* **Network:** If you are connected over wifi, make sure that your Internet connection is fine. +* **Busy front-end server:** When you connect to a cluster, you SSH to one of the front-end login nodes. Due to transient user loads, one or more of the front-ends may become unresponsive for a short while. To avoid this, try reconnecting to the cluster or wait until the login node you have connected to has reduced load. +* **File system issue:** If a server has issues with one or more of the file systems (`home`, `scratch`, or `depot`) it may freeze your terminal. To avoid this you can connect to another front-end. + +If neither of the suggestions above work, please [contact support](https://www.rcac.purdue.edu/help) specifying the name of the server where your console is hung. + +### ThinLinc session frozen + +**Problem** + +Your ThinLinc session is frozen and you can not launch any commands or close the session. + +**Solution** + +This can happen due to various reasons. The most common reason is that you ran something memory-intensive inside that ThinLinc session on a front-end, so parts of the ThinLinc session got killed by Cgroups, and the entire session got stuck. + +* **If you are using a web-version ThinLinc remote desktop (inside the browser):** + + The web version does not have the capability to kill the existing session, only the standalone client does. Please install the standalone client and follow the steps below: + + [ThinLinc](accounts.md#thinlinc) + +* **If you are using a ThinLinc client:** + + Close the ThinLinc client, reopen the client login popup, and select `End existing session`. + +

+ ThinLinc Login Popup +

+ + Select "End existing session" and try "Connect" again. + +### ThinLinc session unreachable + +**Problem** + +When trying to login to ThinLinc and re-connect to your existing session, you receive an error *"Your ThinLinc session is currently unreachable"*. + +**Solution** + +This can happen if the specific login node your existing remote desktop session was residing on is currently offline or down, so ThinLinc can not reconnect to your existing session. Most often the session is non-recoverable at this point, so the solution is to terminate your existing ThinLinc desktop session and start a new one. + +* **If you are using a web-version ThinLinc remote desktop (inside the browser):** + + The web version does not have the capability to kill the existing session, only the standalone client does. Please install the standalone client and follow the steps below: + + [ThinLinc](accounts.md#thinlinc) + +* **If you are using a ThinLinc client:** + + Close the ThinLinc client, reopen the client login popup, and select `End existing session`. + +

+ ThinLinc Login Popup +

+ + Select "End existing session" and try "Connect" again. + +### I worked on Hammer after I graduated/left Purdue, but can not access it anymore + +**Problem** + +You have graduated or left Purdue but continue collaboration with your Purdue colleagues. You find that your access to Purdue resources has suddenly stopped and your password is no longer accepted. + +**Solution** + +Access to all resources depends on having a valid Purdue Career Account. Expired Career Accounts are removed twice a year, during Spring and October breaks (more details at the [official page](https://www.purdue.edu/apps/account/IAMO/Purdue_CareerAccount_Expiration.jsp)). If your Career Account was purged due to expiration, you will not be be able to access the resources. + +To provide remote collaborators with valid Purdue credentials, the University provides a special procedure called [Request for Privileges (R4P)](https://www.purdue.edu/apps/account/r4p). If you need to continue your collaboration with your Purdue PI, the PI will have to submit or renew an R4P request on your behalf. + +After your R4P is completed and Career Account is restored, please note two additional necessary steps: + +* **Access:** Restored Career Accounts by default do **not** have any RCAC resources enabled for them. **Your PI will have to login to the [Manage Users](https://www.rcac.purdue.edu/account/groups) tool and explicitly re-enable your access by un-checking and then ticking back checkboxes for desired queues/Unix groups resources.** +* **Email:** Restored Career Accounts by default do **not** have their *@purdue.edu* email service enabled. While this does not preclude you from using RCAC resources, any email messages (be that generated on the clusters, or any service announcements) would not be delivered - which may cause inconvenience or loss of compute jobs. To avoid this, we recommend setting your restored *@purdue.edu* email service to "Forward" (to an actual address you read). The easiest way to ensure it is to go through the [Account Setup process](https://www.purdue.edu/apps/account/AccountSetup). + +## Jobs + +### cannot connect to X server / cannot open display + +**Problem** + +You receive the following message after entering a command to bring up a graphical window + +`cannot connect to X server` `cannot open display` + +**Solution** + +This can happen due to multiple reasons: + +1. Reason: Your SSH client software does not support graphical display by itself (e.g. SecureCRT or PuTTY). + * Solution: Try using a client software like ThinLinc or MobaXterm as described in the [SSH X11 Forwarding guide](accounts.md#ssh-x11-forwarding). +2. Reason: You did not enable X11 forwarding in your SSH connection. + * Solution: If you are in a Windows environment, make sure that X11 forwarding is enabled in your connection settings (e.g. in MobaXterm or PuTTY). If you are in a Linux environment, try + `ssh -Y -l username hostname` +3. Reason: If you are trying to open a graphical window within an interactive SLURM job, make sure you are using the `--x11` option with `srun` or `salloc` after following the previous step(s) for connecting to the front-end. Please see the example in the [Interactive Jobs guide](run_jobs/examples/slurm/interactive.md). +4. Reason: If none of the above apply, make sure that you are [within quota of your home directory](#usrbinxauth-error-in-locking-authority-file). + +### bash: command not found + +**Problem** + +You receive the following message after typing a command + +`bash: command not found` + +**Solution** + +This means the system doesn't know how to find your command. Typically, you need to load a module to do it. + +### bash: module command not found + +**Problem** + +You receive the following message after typing a command, e.g. module load intel + +`bash: module command not found` + +**Solution** + +The system cannot find the module command. You need to source the modules.sh file as below + +`source /etc/profile.d/modules.sh` + +or + +`#!/bin/bash -i` + +### What is the "debug" queue? + +The `debug` queue allows you to quickly start small, short, interactive jobs in order to debug code, test programs, or test configurations. You are limited to one running job at a time in the queue, and you may run up to two compute nodes for 30 minutes. + +### Can I extend the walltime on a job? + +In some circumstances, yes. Walltime extensions must be requested of and completed by staff. Walltime extension requests will be considered on named (your advisor or research lab) queues. **`standby` or `debug` queue jobs cannot be extended.** + +Extension requests are at the discretion of staff based on factors such as any upcoming maintenance or resource availability. Extensions can be made past the normal maximum walltime on named queues but these jobs are subject to early termination should a conflicting maintenance downtime be scheduled. + +Please be mindful of time remaining on your job when making requests and make requests at least 24 hours before the end of your job AND during business hours. We cannot guarantee jobs will be extended in time with less than 24 hours notice, after-hours, during weekends, or on a holiday. + +We ask that you make accurate walltime requests during job submissions. Accurate walltimes will allow the job scheduler to efficiently and quickly schedule jobs on the cluster. Please consider that extensions can impact scheduling efficiency for all users of the cluster. + +Requests can be made by [contacting support](mailto:rcac-help@purdue.edu). We ask that you: + +* Provide numerical job IDs, cluster name, and your desired extension amount. +* Provide at least 24 hours notice before job will end (more if request is made on a weekend or holiday). +* Consider making requests during business hours. We may not be able to respond in time to requests made after-hours, on a weekend, or on a holiday. + +### How do I know Non-uniform Memory Access (NUMA) layout on Hammer? + +* You can learn about processor layout on Hammer nodes using the following command: + ```bash + hammer-f003:~$ lstopo-no-graphics + ``` +* For detailed IO connectivity: + ```bash + hammer-f003:~$ lstopo-no-graphics --physical --whole-io + ``` +* Please note that NUMA information is useful for advanced MPI/OpenMP/GPU optimizations. For most users, using default NUMA settings in MPI or OpenMP would give you the best performance. + +### Why cannot I use --mem=0 when submitting jobs? + +**Question** + +Why can't I specify `--mem=0` for my job? + +**Answer** + +We no longer support requesting unlimited memory (`--mem=0`) as it has an adverse effect on the way scheduler allocates job, and could lead to large amount of nodes being blocked from usage. + +Most often we suggest relying on default memory allocation (cluster-specific). But if you have to request custom amounts of memory, you can do it explicitly. For example `--mem=20G`. + +If you want to use the entire node's memory, you can submit the job with the `--exclusive` option. + +## Data + +### My scratch files were purged. Can I retrieve them? + +Unfortunately, once files are purged, they are purged permanently and cannot be retrieved. Notices of pending purges are sent one week in advance to your Purdue email address. Be sure to regularly check your Purdue email or set up forwarding to an account you do frequently check. + +**Can you tell me what files were purged?** + +You can see a list of files removed with the command `lastpurge`. The command accepts a `-n` option to specify how many weeks/purges ago you want to look back at. + +### How is my Data Secured on Hammer? + +Hammer is operated in line with policies, standards, and best practices as described within [Secure Purdue](https://www.purdue.edu/securepurdue), and specific to [RCAC Resources](https://www.rcac.purdue.edu/policies). + +Security controls for Hammer are based on ones defined in NIST cybersecurity standards. + +Hammer supports research at the L1 fundamental and L2 sensitive levels. +Hammer is not approved for storing data at the L3 restricted (covered by HIPAA) or L4 Export Controlled (ITAR), or any Controlled Unclassified Information (CUI). + +For resources designed to support research with heightened security requirements, please look for resources within the [REED+ Ecosystem](https://www.rcac.purdue.edu/services/reedplus). + +**High Level Data Security Diagram** + +![System Security Diagram](/assets/images/userguides/secdiagram.png) + +**Notes on Data Security Configuration** + +* Only research groups that have purchased access may access Hammer. +* All access to Hammer is through [Purdue Career Accounts](https://www.purdue.edu/securepurdue/iamoServices/index.php), managed by Purdue's identity and access management office. +* Scratch storage on Hammer is private only to the individual user, using POSIX file permissions. +* Scratch storage on Hammer is not encrypted at rest or in flight. +* Scratch storage on Hammer is not backed up. We recommend using Fortress and the Data Depot as part of your lab's data management strategy. +* Access to the PI's Data Depot space is only possible from HPC systems, or with the use of the Purdue VPN. +* Access to the PI's Data Depot space is directly controlled by the PI via UNIX groups, POSIX file permissions and ACLs. +* [Globus](https://transfer.rcac.purdue.edu) is provided as a tool for secure, high-performance file transfer and sharing. +* All compute nodes on Hammer are firewalled and accessible only from within the boundaries of research computing resources. +* Access to a compute node is limited to the specific user assigned to the node via the job scheduler. No more than 1 user may access any one compute node at a time. +* The Purdue research network is monitored with an intrustion detection system. +* Purdue system administrators use two-factor authentication for administrative access to research systems. +* All research systems are manged with version control, configuration management software and patched at regular intervals. +* Usage, access, system, and application data is centrally logged and reviewed. +* Physical access to data center facilties is restricted by swipe card access to data center and systems staff. + +### Can I share data with outside collaborators? + +Yes! Globus allows convenient sharing of data with outside collaborators. Data can be shared with collaborators' personal computers or directly with many other computing resources at other institutions. See the Globus documentation on how to share data: +* https://docs.globus.org/how-to/share-files/ + +### Can I access Fortress from Hammer? + +Yes. While Fortress directories are not directly mounted on Hammer for performance and archival protection reasons, they can be accessed from Hammer front-ends and nodes using any of the recommended methods of HSI, HTAR or Globus. + +## Software + +### Cannot use pip after loading ml-toolkit modules + +**Question** + +`pip` throws an error after loading the machine learning modules. How can I fix it? + +**Answer** + +Machine learning modules (`tensorflow`, `pytorch`, `opencv` etc.) include a version of `pip` that is newer than the one installed with Anaconda. As a result it will throw an error when you try to use it. + +```bash +$ pip --version +Traceback (most recent call last): + File "/apps/cent7/anaconda/5.1.0-py36/bin/pip", line 7, in + from pip import main +ImportError: cannot import name 'main' +``` + +The preferred way to use pip with the machine learning modules is to invoke it via Python as shown below. + +```bash +$ python -m pip --version +``` + +### How can I get access to Sentaurus software? + +**Question** + +How can I get access to Sentaurus tools for micro- and nano-electronics design? + +**Answer** + +Sentaurus software license requires a signed NDA. Please contact [Dr. Mark Johnson, Director of ECE Instructional Laboratories](https://engineering.purdue.edu/Mark-Johnson) to complete the process. + +Once the licensing process is complete and you have been added into a `cae2` Unix group, you could use Sentaurus on RCAC community clusters by loading the corresponding environment module: + +`module load sentaurus` \ No newline at end of file diff --git a/docs/userguides/hammer/index.md b/docs/userguides/hammer/index.md new file mode 100644 index 00000000..a5ff0473 --- /dev/null +++ b/docs/userguides/hammer/index.md @@ -0,0 +1,26 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +# Hammer User Guide + +
+ Remote Desktop (ThinLinc) + Launch +
+ +Hammer is optimized for Purdue's communities utilizing loosely-coupled, high-throughput computing. + +- [**Hammer Overview**](overview.md) +- [**Accounts**](accounts.md) +- [**File Storage and Transfer**](storage.md) +- [**Software**](software.md) +- [**Compiling Source Code**](compile.md) +- [**Running Jobs**](run_jobs/index.md) +- [**Frequently Asked Questions**](faqs.md) diff --git a/docs/userguides/hammer/overview.md b/docs/userguides/hammer/overview.md new file mode 100644 index 00000000..0450a04f --- /dev/null +++ b/docs/userguides/hammer/overview.md @@ -0,0 +1,39 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +# Hammer Overview + +Hammer is optimized for Purdue's communities utilizing loosely-coupled, high-throughput computing. Hammer was established in April 2015 through a partnership with HP and Intel and has been expanded annually, with each year's nodes kept in production for five years. Hammer was expanded again in late 2016. Hammer will be expanded annually, with each year's purchase of nodes to remain in production for 5 years from their initial purchase. + +To purchase access to Hammer today, go to the [Cluster Access Purchase](https://www.rcac.purdue.edu/purchase) page. Please subscribe to our Community Cluster Program Mailing List to stay informed on the latest purchasing developments or contact us via email at [rcac-cluster-purchase@lists.purdue.edu](mailto:rcac-cluster-purchase@lists.purdue.edu) if you have any questions. + +## Hammer Specifications + +Currently, all Hammer nodes consist of identical hardware with the exception for some of them hosting an Nvidia T4 GPU. All Hammer nodes have 128 HT-enabled processor cores, 512 GB of RAM, and 10 Gbps Ethernet interconnects. + +Hammer Front-Ends + +| Front-Ends | Number of Nodes | Processors per Node | Cores per Node | Memory per Node | +| --- | --- | --- | --- | --- | +| | 2 | Two Sky Lake CPUs @ 2.60GHz | 48 (Logical) | 192 GB | + +Hammer Sub-Clusters + +| Sub-Cluster | Number of Nodes | Processors per Node | Cores per Node | Memory per Node | +| --- | --- | --- | --- | --- | +| F [000-012] | 13 | Two AMD EPYC 7702 @ 2GHz, one Nvidia Tesla T4 GPU | 256 | 512GB | +| F [013-015] | 3 | Two AMD EPYC 7702 @ 2GHz | 256 | 512GB | +| G | 40 | Two AMD EPYC 7702 @ 2GHz | 256 | 512GB | + +Hammer nodes run Rocky Linux 8 and use Slurm (Simple Linux Utility for Resource Management) as the batch scheduler for resource and job management. The application of operating system patches occurs as security needs dictate. All nodes allow for unlimited stack usage, as well as unlimited core dump size (though disk space and server quotas may still be a limiting factor). + +By default, the `rcac` module is loaded on login, which provides a standard set of compilers and message-passing libraries. Use `module list` to see currently loaded modules. + +[**Back to Hammer User Guide**](index.md) diff --git a/docs/userguides/hammer/run_jobs/examples/apps.md b/docs/userguides/hammer/run_jobs/examples/apps.md new file mode 100644 index 00000000..765e6321 --- /dev/null +++ b/docs/userguides/hammer/run_jobs/examples/apps.md @@ -0,0 +1,27 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +# Specific Applications + +The following examples demonstrate job submission files for some common real-world applications. See the [Generic SLURM Examples](slurm.md) section for more examples on job submissions that can be adapted for use. + +## In This Section + +- [Gaussian](apps/gaussian.md) +- [Machine Learning](apps/learning.md) +- [Matlab](apps/matlab.md) +- [Python](apps/python.md) +- [R](apps/r.md) +- [Apptainer](apps/apptainer.md) +- [Windows](apps/windows.md) +- [Mathematica](apps/mathematica.md) +- [Octave](apps/octave.md) + +[**Back to the Running Jobs section**](../index.md) diff --git a/docs/userguides/hammer/run_jobs/examples/apps/apptainer.md b/docs/userguides/hammer/run_jobs/examples/apps/apptainer.md new file mode 100644 index 00000000..f31aa4be --- /dev/null +++ b/docs/userguides/hammer/run_jobs/examples/apps/apptainer.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +{{ apptainer_snippet("hammer") }} + +[**Back to the Specific Applications section**](../apps.md) diff --git a/docs/userguides/hammer/run_jobs/examples/apps/gaussian.md b/docs/userguides/hammer/run_jobs/examples/apps/gaussian.md new file mode 100644 index 00000000..3336d795 --- /dev/null +++ b/docs/userguides/hammer/run_jobs/examples/apps/gaussian.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/examples/apps/gaussian.md" + +[**Back to the Specific Applications section**](../apps.md) diff --git a/docs/userguides/hammer/run_jobs/examples/apps/learning.md b/docs/userguides/hammer/run_jobs/examples/apps/learning.md new file mode 100644 index 00000000..39b67c6a --- /dev/null +++ b/docs/userguides/hammer/run_jobs/examples/apps/learning.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/examples/apps/learning.md" + +[**Back to the Specific Applications section**](../apps.md) diff --git a/docs/userguides/hammer/run_jobs/examples/apps/learning/customml.md b/docs/userguides/hammer/run_jobs/examples/apps/learning/customml.md new file mode 100644 index 00000000..c34620b1 --- /dev/null +++ b/docs/userguides/hammer/run_jobs/examples/apps/learning/customml.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/examples/apps/learning/customml.md" + +[**Back to the Machine Learning section**](../learning.md) diff --git a/docs/userguides/hammer/run_jobs/examples/apps/learning/ml_batch.md b/docs/userguides/hammer/run_jobs/examples/apps/learning/ml_batch.md new file mode 100644 index 00000000..ae82645a --- /dev/null +++ b/docs/userguides/hammer/run_jobs/examples/apps/learning/ml_batch.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/examples/apps/learning/ml_batch.md" + +[**Back to the Machine Learning section**](../learning.md) diff --git a/docs/userguides/hammer/run_jobs/examples/apps/learning/mltoolkit.md b/docs/userguides/hammer/run_jobs/examples/apps/learning/mltoolkit.md new file mode 100644 index 00000000..fdd23a7d --- /dev/null +++ b/docs/userguides/hammer/run_jobs/examples/apps/learning/mltoolkit.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/examples/apps/learning/mltoolkit.md" + +[**Back to the Machine Learning section**](../learning.md) diff --git a/docs/userguides/hammer/run_jobs/examples/apps/mathematica.md b/docs/userguides/hammer/run_jobs/examples/apps/mathematica.md new file mode 100644 index 00000000..b274fa1b --- /dev/null +++ b/docs/userguides/hammer/run_jobs/examples/apps/mathematica.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/examples/apps/mathematica.md" + +[**Back to the Specific Applications section**](../apps.md) diff --git a/docs/userguides/hammer/run_jobs/examples/apps/matlab.md b/docs/userguides/hammer/run_jobs/examples/apps/matlab.md new file mode 100644 index 00000000..32b2301f --- /dev/null +++ b/docs/userguides/hammer/run_jobs/examples/apps/matlab.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/examples/apps/matlab.md" + +[**Back to the Specific Applications section**](../apps.md) diff --git a/docs/userguides/hammer/run_jobs/examples/apps/matlab/implicit_parallelism.md b/docs/userguides/hammer/run_jobs/examples/apps/matlab/implicit_parallelism.md new file mode 100644 index 00000000..94767169 --- /dev/null +++ b/docs/userguides/hammer/run_jobs/examples/apps/matlab/implicit_parallelism.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/examples/apps/matlab/implicit_parallelism.md" + +[**Back to the Matlab section**](../matlab.md) diff --git a/docs/userguides/hammer/run_jobs/examples/apps/matlab/interpreter.md b/docs/userguides/hammer/run_jobs/examples/apps/matlab/interpreter.md new file mode 100644 index 00000000..9e463d98 --- /dev/null +++ b/docs/userguides/hammer/run_jobs/examples/apps/matlab/interpreter.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/examples/apps/matlab/interpreter.md" + +[**Back to the Matlab section**](../matlab.md) diff --git a/docs/userguides/hammer/run_jobs/examples/apps/matlab/mdcs_parallel.md b/docs/userguides/hammer/run_jobs/examples/apps/matlab/mdcs_parallel.md new file mode 100644 index 00000000..9adc9e8f --- /dev/null +++ b/docs/userguides/hammer/run_jobs/examples/apps/matlab/mdcs_parallel.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/examples/apps/matlab/mdcs_parallel.md" + +[**Back to the Matlab section**](../matlab.md) diff --git a/docs/userguides/hammer/run_jobs/examples/apps/matlab/parfor.md b/docs/userguides/hammer/run_jobs/examples/apps/matlab/parfor.md new file mode 100644 index 00000000..294be9e4 --- /dev/null +++ b/docs/userguides/hammer/run_jobs/examples/apps/matlab/parfor.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/examples/apps/matlab/parfor.md" + +[**Back to the Matlab section**](../matlab.md) diff --git a/docs/userguides/hammer/run_jobs/examples/apps/matlab/profile_manager.md b/docs/userguides/hammer/run_jobs/examples/apps/matlab/profile_manager.md new file mode 100644 index 00000000..e377b77c --- /dev/null +++ b/docs/userguides/hammer/run_jobs/examples/apps/matlab/profile_manager.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/examples/apps/matlab/profile_manager.md" + +[**Back to the Matlab section**](../matlab.md) diff --git a/docs/userguides/hammer/run_jobs/examples/apps/matlab/spmd.md b/docs/userguides/hammer/run_jobs/examples/apps/matlab/spmd.md new file mode 100644 index 00000000..392e741b --- /dev/null +++ b/docs/userguides/hammer/run_jobs/examples/apps/matlab/spmd.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/examples/apps/matlab/spmd.md" + +[**Back to the Matlab section**](../matlab.md) diff --git a/docs/userguides/hammer/run_jobs/examples/apps/octave.md b/docs/userguides/hammer/run_jobs/examples/apps/octave.md new file mode 100644 index 00000000..afb506ce --- /dev/null +++ b/docs/userguides/hammer/run_jobs/examples/apps/octave.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/examples/apps/octave.md" + +[**Back to the Specific Applications section**](../apps.md) diff --git a/docs/userguides/hammer/run_jobs/examples/apps/python.md b/docs/userguides/hammer/run_jobs/examples/apps/python.md new file mode 100644 index 00000000..1da9bc74 --- /dev/null +++ b/docs/userguides/hammer/run_jobs/examples/apps/python.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/examples/apps/python.md" + +[**Back to the Specific Applications section**](../apps.md) diff --git a/docs/userguides/hammer/run_jobs/examples/apps/python/conda.md b/docs/userguides/hammer/run_jobs/examples/apps/python/conda.md new file mode 100644 index 00000000..1a2e939e --- /dev/null +++ b/docs/userguides/hammer/run_jobs/examples/apps/python/conda.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/examples/apps/python/conda.md" + +[**Back to the Python section**](../python.md) diff --git a/docs/userguides/hammer/run_jobs/examples/apps/python/environment_example.md b/docs/userguides/hammer/run_jobs/examples/apps/python/environment_example.md new file mode 100644 index 00000000..2bf78bbe --- /dev/null +++ b/docs/userguides/hammer/run_jobs/examples/apps/python/environment_example.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/examples/apps/python/environment_example.md" + +[**Back to the Python section**](../python.md) diff --git a/docs/userguides/hammer/run_jobs/examples/apps/python/examples.md b/docs/userguides/hammer/run_jobs/examples/apps/python/examples.md new file mode 100644 index 00000000..47574b19 --- /dev/null +++ b/docs/userguides/hammer/run_jobs/examples/apps/python/examples.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/examples/apps/python/examples.md" + +[**Back to the Python section**](../python.md) diff --git a/docs/userguides/hammer/run_jobs/examples/apps/python/numpy.md b/docs/userguides/hammer/run_jobs/examples/apps/python/numpy.md new file mode 100644 index 00000000..def75f68 --- /dev/null +++ b/docs/userguides/hammer/run_jobs/examples/apps/python/numpy.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/examples/apps/python/numpy.md" + +[**Back to the Python section**](../python.md) diff --git a/docs/userguides/hammer/run_jobs/examples/apps/python/packages.md b/docs/userguides/hammer/run_jobs/examples/apps/python/packages.md new file mode 100644 index 00000000..343c218d --- /dev/null +++ b/docs/userguides/hammer/run_jobs/examples/apps/python/packages.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/examples/apps/python/packages.md" + +[**Back to the Python section**](../python.md) diff --git a/docs/userguides/hammer/run_jobs/examples/apps/python/pip.md b/docs/userguides/hammer/run_jobs/examples/apps/python/pip.md new file mode 100644 index 00000000..676da1f1 --- /dev/null +++ b/docs/userguides/hammer/run_jobs/examples/apps/python/pip.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/examples/apps/python/pip.md" + +[**Back to the Python section**](../python.md) diff --git a/docs/userguides/hammer/run_jobs/examples/apps/python/source.md b/docs/userguides/hammer/run_jobs/examples/apps/python/source.md new file mode 100644 index 00000000..6b31c96f --- /dev/null +++ b/docs/userguides/hammer/run_jobs/examples/apps/python/source.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/examples/apps/python/source.md" + +[**Back to the Python section**](../python.md) diff --git a/docs/userguides/hammer/run_jobs/examples/apps/r.md b/docs/userguides/hammer/run_jobs/examples/apps/r.md new file mode 100644 index 00000000..11e6bcd5 --- /dev/null +++ b/docs/userguides/hammer/run_jobs/examples/apps/r.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/examples/apps/r.md" + +[**Back to the Specific Applications section**](../apps.md) diff --git a/docs/userguides/hammer/run_jobs/examples/apps/r/data.md b/docs/userguides/hammer/run_jobs/examples/apps/r/data.md new file mode 100644 index 00000000..bc29b608 --- /dev/null +++ b/docs/userguides/hammer/run_jobs/examples/apps/r/data.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/examples/apps/r/data.md" + +[**Back to the R section**](../r.md) diff --git a/docs/userguides/hammer/run_jobs/examples/apps/r/job.md b/docs/userguides/hammer/run_jobs/examples/apps/r/job.md new file mode 100644 index 00000000..67a6de13 --- /dev/null +++ b/docs/userguides/hammer/run_jobs/examples/apps/r/job.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/examples/apps/r/job.md" + +[**Back to the R section**](../r.md) diff --git a/docs/userguides/hammer/run_jobs/examples/apps/r/package.md b/docs/userguides/hammer/run_jobs/examples/apps/r/package.md new file mode 100644 index 00000000..eb7991a1 --- /dev/null +++ b/docs/userguides/hammer/run_jobs/examples/apps/r/package.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/examples/apps/r/package.md" + +[**Back to the R section**](../r.md) diff --git a/docs/userguides/hammer/run_jobs/examples/apps/r/rprofile.md b/docs/userguides/hammer/run_jobs/examples/apps/r/rprofile.md new file mode 100644 index 00000000..84795823 --- /dev/null +++ b/docs/userguides/hammer/run_jobs/examples/apps/r/rprofile.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/examples/apps/r/rprofile.md" + +[**Back to the R section**](../r.md) diff --git a/docs/userguides/hammer/run_jobs/examples/apps/r/rstudio.md b/docs/userguides/hammer/run_jobs/examples/apps/r/rstudio.md new file mode 100644 index 00000000..816bca11 --- /dev/null +++ b/docs/userguides/hammer/run_jobs/examples/apps/r/rstudio.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/examples/apps/r/rstudio.md" + +[**Back to the R section**](../r.md) diff --git a/docs/userguides/hammer/run_jobs/examples/apps/r/server.md b/docs/userguides/hammer/run_jobs/examples/apps/r/server.md new file mode 100644 index 00000000..0594a030 --- /dev/null +++ b/docs/userguides/hammer/run_jobs/examples/apps/r/server.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/examples/apps/r/server.md" + +[**Back to the R section**](../r.md) diff --git a/docs/userguides/hammer/run_jobs/examples/apps/windows.md b/docs/userguides/hammer/run_jobs/examples/apps/windows.md new file mode 100644 index 00000000..3e47129b --- /dev/null +++ b/docs/userguides/hammer/run_jobs/examples/apps/windows.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/examples/apps/windows.md" + +[**Back to the Specific Applications section**](../apps.md) diff --git a/docs/userguides/hammer/run_jobs/examples/apps/windows/cmd.md b/docs/userguides/hammer/run_jobs/examples/apps/windows/cmd.md new file mode 100644 index 00000000..d280d4c2 --- /dev/null +++ b/docs/userguides/hammer/run_jobs/examples/apps/windows/cmd.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/examples/apps/windows/cmd.md" + +[**Back to the Windows section**](../windows.md) diff --git a/docs/userguides/hammer/run_jobs/examples/apps/windows/launcher.md b/docs/userguides/hammer/run_jobs/examples/apps/windows/launcher.md new file mode 100644 index 00000000..346d5b0a --- /dev/null +++ b/docs/userguides/hammer/run_jobs/examples/apps/windows/launcher.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/examples/apps/windows/launcher.md" + +[**Back to the Windows section**](../windows.md) diff --git a/docs/userguides/hammer/run_jobs/examples/slurm.md b/docs/userguides/hammer/run_jobs/examples/slurm.md new file mode 100644 index 00000000..12032994 --- /dev/null +++ b/docs/userguides/hammer/run_jobs/examples/slurm.md @@ -0,0 +1,27 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +# Generic SLURM Jobs + +The following examples demonstrate the basics of SLURM jobs, and are designed to cover common job request scenarios. These example jobs will need to be modified to run your application or code. + +## In This Section + +- [Simple Job](slurm/batch.md) +- [Multiple Node](slurm/multiple.md) +- [Directives](slurm/directives.md) +- [Specific Types of Nodes](slurm/specific.md) +- [Interactive Jobs](slurm/interactive.md) +- [Serial Jobs](slurm/serial.md) +- [OpenMP](slurm/openmp.md) +- [MPI](slurm/mpi.md) +- [Monitoring Resources](slurm/monitor.md) + +[**Back to the Running Jobs section**](../index.md) diff --git a/docs/userguides/hammer/run_jobs/examples/slurm/batch.md b/docs/userguides/hammer/run_jobs/examples/slurm/batch.md new file mode 100644 index 00000000..d8e9cace --- /dev/null +++ b/docs/userguides/hammer/run_jobs/examples/slurm/batch.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/examples/slurm/batch.md" + +[**Back to the Generic SLURM Jobs section**](../slurm.md) diff --git a/docs/userguides/hammer/run_jobs/examples/slurm/directives.md b/docs/userguides/hammer/run_jobs/examples/slurm/directives.md new file mode 100644 index 00000000..e0d3fcad --- /dev/null +++ b/docs/userguides/hammer/run_jobs/examples/slurm/directives.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/examples/slurm/directives.md" + +[**Back to the Generic SLURM Jobs section**](../slurm.md) diff --git a/docs/userguides/hammer/run_jobs/examples/slurm/interactive.md b/docs/userguides/hammer/run_jobs/examples/slurm/interactive.md new file mode 100644 index 00000000..3717ede3 --- /dev/null +++ b/docs/userguides/hammer/run_jobs/examples/slurm/interactive.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/examples/slurm/interactive.md" + +[**Back to the Generic SLURM Jobs section**](../slurm.md) diff --git a/docs/userguides/hammer/run_jobs/examples/slurm/monitor.md b/docs/userguides/hammer/run_jobs/examples/slurm/monitor.md new file mode 100644 index 00000000..2bd9f231 --- /dev/null +++ b/docs/userguides/hammer/run_jobs/examples/slurm/monitor.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/examples/slurm/monitor.md" + +[**Back to the Generic SLURM Jobs section**](../slurm.md) diff --git a/docs/userguides/hammer/run_jobs/examples/slurm/mpi.md b/docs/userguides/hammer/run_jobs/examples/slurm/mpi.md new file mode 100644 index 00000000..f84fbc8e --- /dev/null +++ b/docs/userguides/hammer/run_jobs/examples/slurm/mpi.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/examples/slurm/mpi.md" + +[**Back to the Generic SLURM Jobs section**](../slurm.md) diff --git a/docs/userguides/hammer/run_jobs/examples/slurm/multiple.md b/docs/userguides/hammer/run_jobs/examples/slurm/multiple.md new file mode 100644 index 00000000..72ed4957 --- /dev/null +++ b/docs/userguides/hammer/run_jobs/examples/slurm/multiple.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/examples/slurm/multiple.md" + +[**Back to the Generic SLURM Jobs section**](../slurm.md) diff --git a/docs/userguides/hammer/run_jobs/examples/slurm/openmp.md b/docs/userguides/hammer/run_jobs/examples/slurm/openmp.md new file mode 100644 index 00000000..ddfdd318 --- /dev/null +++ b/docs/userguides/hammer/run_jobs/examples/slurm/openmp.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/examples/slurm/openmp.md" + +[**Back to the Generic SLURM Jobs section**](../slurm.md) diff --git a/docs/userguides/hammer/run_jobs/examples/slurm/serial.md b/docs/userguides/hammer/run_jobs/examples/slurm/serial.md new file mode 100644 index 00000000..5c2c3260 --- /dev/null +++ b/docs/userguides/hammer/run_jobs/examples/slurm/serial.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/examples/slurm/serial.md" + +[**Back to the Generic SLURM Jobs section**](../slurm.md) diff --git a/docs/userguides/hammer/run_jobs/examples/slurm/specific.md b/docs/userguides/hammer/run_jobs/examples/slurm/specific.md new file mode 100644 index 00000000..32930350 --- /dev/null +++ b/docs/userguides/hammer/run_jobs/examples/slurm/specific.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/examples/slurm/specific.md" + +[**Back to the Generic SLURM Jobs section**](../slurm.md) diff --git a/docs/userguides/hammer/run_jobs/index.md b/docs/userguides/hammer/run_jobs/index.md new file mode 100644 index 00000000..64f34818 --- /dev/null +++ b/docs/userguides/hammer/run_jobs/index.md @@ -0,0 +1,43 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +# Running Jobs + +Jobs are submitted on Hammer via the SLURM (Simple Linux Utility for Resource Management) scheduler, which is responsible for allocating resources and scheduling the start time of a job. You may use either the batch or interactive mode to run your jobs. The batch mode is ideal for finished programs, and the interactive mode is useful for debugging your job. + +!!! important + Do NOT run large, long, multi-threaded, parallel, or CPU-intensive jobs on a front-end login host. All users share the front-end hosts, and running anything but the smallest test job will negatively impact everyone's ability to use Hammer. Always use SLURM to submit your work as a job. + +Before creating your submission script, learn more about how to use Slurm accounts and queues on Hammer: + +- [**Basics of using Slurm accounts and queues**](slurm/queues.md) + +Batch jobs submitted via SLURM have four main steps: + +* [Create job submission script](slurm/creating_the_submission_script.md) +* [Submit job script](slurm/submit_script.md) +* [Monitor job status](slurm/monitoring_job.md) +* [Check output](slurm/checking_output.md) + +## Other useful topics + +- [Canceling a Job](slurm/cancelling_job.md) +- [Job Dependencies](slurm/job_dependencies.md) +- [Holding a Job](slurm/holding_job.md) + + +## Example Jobs + +A number of example jobs are available for you to look over and adapt to your own needs. The first few are generic examples, and latter ones go into specifics for particular software packages. + +- [Generic SLURM Jobs](examples/slurm.md) +- [Specific Applications](examples/apps.md) + +[**Back to Hammer User Guide**](../index.md) diff --git a/docs/userguides/hammer/run_jobs/slurm/cancelling_job.md b/docs/userguides/hammer/run_jobs/slurm/cancelling_job.md new file mode 100644 index 00000000..224b4e0a --- /dev/null +++ b/docs/userguides/hammer/run_jobs/slurm/cancelling_job.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/cancelling_job.md" + +[**Back to the Running Jobs section**](../index.md) diff --git a/docs/userguides/hammer/run_jobs/slurm/checking_output.md b/docs/userguides/hammer/run_jobs/slurm/checking_output.md new file mode 100644 index 00000000..98ae54bb --- /dev/null +++ b/docs/userguides/hammer/run_jobs/slurm/checking_output.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/checking_output.md" + +[**Back to the Running Jobs section**](../index.md) diff --git a/docs/userguides/hammer/run_jobs/slurm/creating_the_submission_script.md b/docs/userguides/hammer/run_jobs/slurm/creating_the_submission_script.md new file mode 100644 index 00000000..8fd6916e --- /dev/null +++ b/docs/userguides/hammer/run_jobs/slurm/creating_the_submission_script.md @@ -0,0 +1,45 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +# Job Submission Script + +To submit work to a SLURM queue, you must first create a *job submission file*. This job submission file is essentially a simple shell script. It will set any required environment variables, load any necessary modules, create or modify files and directories, and run any applications that you need: + +``` +#!/bin/bash +# FILENAME: myjobsubmissionfile + +# Loads Matlab and sets the application up +module load matlab + +# Change to the directory from which you originally submitted this job. +cd $SLURM_SUBMIT_DIR + +# Runs a Matlab script named 'myscript' +matlab -nodisplay -singleCompThread -r myscript +``` + +Once your script is prepared, you are ready to [submit your job](submit_script.md). + +## Job Script Environment Variables + +SLURM sets several potentially useful environment variables which you may use within your job submission files. Here is a list of some: + +| Name | Description | +| --- | --- | +| SLURM\_SUBMIT\_DIR | Absolute path of the current working directory when you submitted this job | +| SLURM\_JOBID | Job ID number assigned to this job by the batch system | +| SLURM\_JOB\_NAME | Job name supplied by the user | +| SLURM\_JOB\_NODELIST | Names of nodes assigned to this job | +| SLURM\_CLUSTER\_NAME | Name of the cluster executing the job | +| SLURM\_SUBMIT\_HOST | Hostname of the system where you submitted this job | +| SLURM\_JOB\_PARTITION | Name of the original queue to which you submitted this job | + +[**Back to the Running Jobs section**](../index.md) diff --git a/docs/userguides/hammer/run_jobs/slurm/holding_job.md b/docs/userguides/hammer/run_jobs/slurm/holding_job.md new file mode 100644 index 00000000..b92426de --- /dev/null +++ b/docs/userguides/hammer/run_jobs/slurm/holding_job.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/holding_job.md" + +[**Back to the Running Jobs section**](../index.md) diff --git a/docs/userguides/hammer/run_jobs/slurm/job_dependencies.md b/docs/userguides/hammer/run_jobs/slurm/job_dependencies.md new file mode 100644 index 00000000..b477228a --- /dev/null +++ b/docs/userguides/hammer/run_jobs/slurm/job_dependencies.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/job_dependencies.md" + +[**Back to the Running Jobs section**](../index.md) diff --git a/docs/userguides/hammer/run_jobs/slurm/monitoring_job.md b/docs/userguides/hammer/run_jobs/slurm/monitoring_job.md new file mode 100644 index 00000000..b505d02c --- /dev/null +++ b/docs/userguides/hammer/run_jobs/slurm/monitoring_job.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/monitoring_job.md" + +[**Back to the Running Jobs section**](../index.md) diff --git a/docs/userguides/hammer/run_jobs/slurm/queues.md b/docs/userguides/hammer/run_jobs/slurm/queues.md new file mode 100644 index 00000000..78b8161a --- /dev/null +++ b/docs/userguides/hammer/run_jobs/slurm/queues.md @@ -0,0 +1,32 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +# Queues + +On Hammer, jobs are submitted to named queues (also called accounts). Each research partner who has purchased access to Hammer receives a dedicated queue named after their research group. In addition, all users have access to the `standby` and `debug` queues. + +## "mylab" Queues + +Hammer, as a community cluster, has one or more queues dedicated to and named after each partner who has purchased access to the cluster. These queues provide partners and their researchers with priority access to their portion of the cluster. Jobs in these queues are typically limited to 336 hours. **The expectation is that any jobs submitted to your research lab queues will start within 4 hours, assuming the queue currently has enough capacity for the job** (that is, your lab mates aren't using all of the cores currently). + +## Standby Queue + +Additionally, community clusters provide a "standby" queue which is available to all cluster users. This "standby" queue allows users to utilize portions of the cluster that would otherwise be idle, but at a lower priority than partner-queue jobs, and with a relatively short time limit, to ensure "standby" jobs will not be able to tie up resources and prevent partner-queue jobs from running quickly. Jobs in standby are limited to 12 hours. **There is no expectation of job start time.** If the cluster is very busy with partner queue jobs, or you are requesting a very large job, jobs in standby may take hours or days to start. + +## Debug Queue + +The debug queue allows you to quickly start small, short, interactive jobs in order to debug code, test programs, or test configurations. You are limited to one running job at a time in the queue, and you may run up to two compute nodes for 30 minutes. The expectation is that debug jobs should start within a couple of minutes, assuming all of its dedicated nodes are not taken by others. + +## List of Queues + +To see a list of all queues on Hammer that you may submit to, use the `slist` command + +This lists each queue you can submit to, the number of nodes allocated to the queue, how many are available to run jobs, and the maximum walltime you may request. Options to the command will give more detailed information. This command can be used to get a general idea of how busy an individual queue is and how long you may have to wait for your job to start. + diff --git a/docs/userguides/hammer/run_jobs/slurm/submit_script.md b/docs/userguides/hammer/run_jobs/slurm/submit_script.md new file mode 100644 index 00000000..581d0a31 --- /dev/null +++ b/docs/userguides/hammer/run_jobs/slurm/submit_script.md @@ -0,0 +1,76 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +# Submitting a Job + +Once you have a [job submission file](creating_the_submission_script.md), you may submit this script to SLURM using the `sbatch` command. SLURM will find, or wait for, available resources matching your request and run your job there. + +On Hammer, you specify the queue (account) using the `-A` option. To check the queues available to you, use the `slist` command. For a description of Hammer's queues, visit [Hammer Queues](queues.md). + +!!! note + Each Hammer compute node has 20 processor cores. SLURM jobs on Hammer receive exclusive access to compute nodes by default. + +To submit a job to one compute node: + +``` +$ sbatch --nodes=1 myjobsubmissionfile +``` + +To submit a job to the standby queue: + +``` +$ sbatch --nodes=1 -A standby myjobsubmissionfile +``` + +## General Information + +By default, each job receives 30 minutes of *wall time*, or clock time. If you know that your job will not need more than a certain amount of time to run, request less than the maximum wall time, as this may allow your job to run sooner. To request 1 hour and 30 minutes of wall time: + +``` +$ sbatch -t 1:30:00 --nodes=1 -A standby myjobsubmissionfile +``` + +The `--nodes=` or `-N` value indicates how many compute nodes you would like for your job, and `--ntasks=` or `-n` value indicates the number of tasks you want to run. + +In some cases, you may want to request multiple nodes. To utilize multiple nodes, you will need to have a program or code that is specifically programmed to use multiple nodes such as with MPI. Simply requesting more nodes will not make your work go faster. Your code must support this ability. + +To request 2 compute nodes: + +``` +$ sbatch --nodes=2 myjobsubmissionfile +``` + +To request GPU resources: + +``` +$ sbatch --nodes=1 --ntasks=4 --gpus-per-node=1 myjobsubmissionfile +``` + +If more convenient, you may also specify any command line options to `sbatch` from within your job submission file, using a special form of comment: + +``` +#!/bin/sh -l +# FILENAME: myjobsubmissionfile + +#SBATCH -A myqueuename +#SBATCH --nodes=1 +#SBATCH --time=1:30:00 +#SBATCH --job-name myjobname + +/bin/hostname +``` + +If an option is present in both your job submission file and on the command line, the option on the command line will take precedence. + +After you submit your job with `sbatch`, it may wait in queue for minutes, hours, or even longer depending on the queue and current load. How long it takes for a job to start depends on the specific queue, the resources and time requested, and other jobs already waiting. It is impossible to say for sure when any given job will start. For best results, request no more resources than your job requires. + +Once your job is submitted, you can [monitor the job status](monitoring_job.md), wait for the job to complete, and [check the job output](checking_output.md). + +[**Back to the Running Jobs section**](../index.md) diff --git a/docs/userguides/hammer/software.md b/docs/userguides/hammer/software.md new file mode 100644 index 00000000..b9f40e5c --- /dev/null +++ b/docs/userguides/hammer/software.md @@ -0,0 +1,50 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +# Software + +## Software Catalog + +A comprehensive list of centrally installed software applications can be found here: + +[Software Catalog](../../software/app_catalog.md) + +Software can also be explored by popular domains and categories on the main [Software](../../software/index.md) page. + +## Module system + +{% set resource = "hammer" %} + +{{ module_system(resource) }} + +## Running the Apps +### Find available apps in the terminal +In addition to searching the software catalog for available applications, one can generate a list via the terminal: + +``` bash +$ module avail +``` +### View module prequisites and license information +After finding the module that you want to load, use 'module spider' to find any prerequisites or license information, if applicable: + +``` bash +$ module spider +``` +### Load the module +Use the command specified in the 'module spider' output to load your software module: + +``` bash +module load +``` + +### Running GUI versions of apps +If the app you want to use has a GUI, you can also login to {{ resource }} via Thinlinc. More information on this process can be found [here](accounts.md#thinlinc). + +[**Back to Hammer User Guide**](index.md) diff --git a/docs/userguides/hammer/storage.md b/docs/userguides/hammer/storage.md new file mode 100644 index 00000000..b5f178c0 --- /dev/null +++ b/docs/userguides/hammer/storage.md @@ -0,0 +1,46 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +# File Storage and Transfer + +Learn more about file storage transfer for Hammer. + +## Storage Options + +File storage options on RCAC systems include long-term storage (home directories, depot, Fortress) and short-term storage (scratch directories, /tmp directory). Each option has different performance and intended uses, and some options vary from system to system as well. Daily snapshots of home directories are provided for a limited time for accidental deletion recovery. Scratch directories and temporary storage are not backed up and old files are regularly purged from scratch and /tmp directories. More details about each storage option appear below. + +- [Home Directory](storage/home_directory.md) +- [Scratch Space](storage/scratch_space.md) +- [/tmp Directory](storage/tmp_directory.md) +- [Long-Term Storage](storage/long_term_storage.md) + +### Other Storage Topics + +- [Storage Quota / Limits](storage/storage_quota.md) +- [Storage Environment Variables](storage/environment_variables.md) +- [Archive and Compression](storage/archive_and_compression.md) +- [Sharing](storage/sharing.md) + +## File Transfer + +Hammer supports several methods for file transfer. Use the links below to learn more about these methods. + +- [Globus](storage/globus.md) +- [Windows Network Drive / SMB](storage/windows_network_drive.md) +- [SCP](storage/scp.md) +- [FTP / SFTP](storage/ftp_sftp.md) +- [HSI](storage/hsi.md) +- [HTAR](storage/htar.md) + +## Lost File Recovery + +- [Lost File Recovery](storage/recover.md) + +[**Back to Hammer User Guide**](index.md) diff --git a/docs/userguides/hammer/storage/archive_and_compression.md b/docs/userguides/hammer/storage/archive_and_compression.md new file mode 100644 index 00000000..f7f30632 --- /dev/null +++ b/docs/userguides/hammer/storage/archive_and_compression.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/archive_and_compression.md" + +[**Back to the Storage section**](../storage.md) diff --git a/docs/userguides/hammer/storage/environment_variables.md b/docs/userguides/hammer/storage/environment_variables.md new file mode 100644 index 00000000..d46cb977 --- /dev/null +++ b/docs/userguides/hammer/storage/environment_variables.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- +{% set resource = "hammer" %} +{{ environment_variables(resource) }} + +[**Back to the Storage section**](../storage.md) diff --git a/docs/userguides/hammer/storage/ftp_sftp.md b/docs/userguides/hammer/storage/ftp_sftp.md new file mode 100644 index 00000000..0d9e042d --- /dev/null +++ b/docs/userguides/hammer/storage/ftp_sftp.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +{{ ftp_sftp_snippet("hammer") }} + +[**Back to the Storage section**](../storage.md) diff --git a/docs/userguides/hammer/storage/globus.md b/docs/userguides/hammer/storage/globus.md new file mode 100644 index 00000000..ae1977f7 --- /dev/null +++ b/docs/userguides/hammer/storage/globus.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/globus.md" + +[**Back to the Storage section**](../storage.md) diff --git a/docs/userguides/hammer/storage/home_directory.md b/docs/userguides/hammer/storage/home_directory.md new file mode 100644 index 00000000..8984b047 --- /dev/null +++ b/docs/userguides/hammer/storage/home_directory.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/home_directory.md" + +[**Back to the Storage section**](../storage.md) diff --git a/docs/userguides/hammer/storage/hsi.md b/docs/userguides/hammer/storage/hsi.md new file mode 100644 index 00000000..fb7b1bc9 --- /dev/null +++ b/docs/userguides/hammer/storage/hsi.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +{{ hsi_snippet(resource) }} + +[**Back to the Storage section**](../storage.md) diff --git a/docs/userguides/hammer/storage/htar.md b/docs/userguides/hammer/storage/htar.md new file mode 100644 index 00000000..2e0a5e5f --- /dev/null +++ b/docs/userguides/hammer/storage/htar.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +{{ htar_snippet(resource) }} + +[**Back to the Storage section**](../storage.md) diff --git a/docs/userguides/hammer/storage/long_term_storage.md b/docs/userguides/hammer/storage/long_term_storage.md new file mode 100644 index 00000000..5ad4c526 --- /dev/null +++ b/docs/userguides/hammer/storage/long_term_storage.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/long_term_storage.md" + +[**Back to the Storage section**](../storage.md) diff --git a/docs/userguides/hammer/storage/recover.md b/docs/userguides/hammer/storage/recover.md new file mode 100644 index 00000000..4b2b7096 --- /dev/null +++ b/docs/userguides/hammer/storage/recover.md @@ -0,0 +1,31 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +# Lost File Recovery + +Hammer is protected against accidental file deletion through a series of snapshots taken every night just after midnight. Each snapshot provides the state of your files at the time the snapshot was taken. It does so by storing only the files which have changed between snapshots. A file that has not changed between snapshots is only stored once but will appear in every snapshot. This is an efficient method of providing snapshots because the snapshot system does not have to store multiple copies of every file. + +These snapshots are kept for a limited time at various intervals. RCAC keeps nightly snapshots for 7 days, weekly snapshots for 4 weeks, and monthly snapshots for 3 months. This means you will find snapshots from the last 7 nights, the last 4 Sundays, and the last 3 first of the months. Files are available going back between two and three months, depending on how long ago the last first of the month was. Snapshots beyond this are not kept. + +**Only files which have been saved during an overnight snapshot are recoverable.** If you lose a file the same day you created it, the file is **not** recoverable because the snapshot system has not had a chance to save the file. + +**Snapshots are not a substitute for regular backups.** It is the responsibility of the researchers to back up any important data to the [Fortress Archive](https://www.rcac.purdue.edu/storage/fortress). Hammer **does** protect against hardware failures or physical disasters through other means however these other means are also **not** substitutes for backups. + +!!! Warning + Files in scratch directories are not recoverable. Files in scratch directories are not backed up. If you accidentally delete a file, a disk crashes, or old files are purged, they cannot be restored. + +Hammer offers several ways for researchers to access snapshots of their files. + +- [flost](recover/flost.md) +- [Manual Browsing](recover/manual.md) +- [Windows](recover/windows.md) +- [Mac OS X](recover/mac.md) + +[**Back to the Storage section**](../storage.md) diff --git a/docs/userguides/hammer/storage/recover/flost.md b/docs/userguides/hammer/storage/recover/flost.md new file mode 100644 index 00000000..858c6215 --- /dev/null +++ b/docs/userguides/hammer/storage/recover/flost.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- +{% set resource = "hammer" %} +{{ recover_flost_snippet(resource) }} + +[**Back to the Lost File Recovery section**](../recover.md) diff --git a/docs/userguides/hammer/storage/recover/mac.md b/docs/userguides/hammer/storage/recover/mac.md new file mode 100644 index 00000000..70a2aee2 --- /dev/null +++ b/docs/userguides/hammer/storage/recover/mac.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- +{% set resource = "hammer" %} +{{ recover_mac_snippet(resource) }} + +[**Back to the Lost File Recovery section**](../recover.md) diff --git a/docs/userguides/hammer/storage/recover/manual.md b/docs/userguides/hammer/storage/recover/manual.md new file mode 100644 index 00000000..ecfc4192 --- /dev/null +++ b/docs/userguides/hammer/storage/recover/manual.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- +{% set resource = "hammer" %} +{{ recover_manual_snippet(resource) }} + +[**Back to the Lost File Recovery section**](../recover.md) diff --git a/docs/userguides/hammer/storage/recover/windows.md b/docs/userguides/hammer/storage/recover/windows.md new file mode 100644 index 00000000..25a1b7f7 --- /dev/null +++ b/docs/userguides/hammer/storage/recover/windows.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- +{% set resource = "hammer" %} +{{ recover_windows_snippet(resource) }} + +[**Back to the Lost File Recovery section**](../recover.md) diff --git a/docs/userguides/hammer/storage/scp.md b/docs/userguides/hammer/storage/scp.md new file mode 100644 index 00000000..513c4ad5 --- /dev/null +++ b/docs/userguides/hammer/storage/scp.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +{{ scp_file_snippet("hammer") }} + +[**Back to the Storage section**](../storage.md) diff --git a/docs/userguides/hammer/storage/scratch_space.md b/docs/userguides/hammer/storage/scratch_space.md new file mode 100644 index 00000000..c49dfea5 --- /dev/null +++ b/docs/userguides/hammer/storage/scratch_space.md @@ -0,0 +1,14 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- +{% set resource = "hammer" %} +{{ scratch_space(resource) }} + + +[**Back to the Storage section**](../storage.md) diff --git a/docs/userguides/hammer/storage/sharing.md b/docs/userguides/hammer/storage/sharing.md new file mode 100644 index 00000000..e5692cea --- /dev/null +++ b/docs/userguides/hammer/storage/sharing.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +{{ sharing_snippet("hammer") }} + +[**Back to the Storage section**](../storage.md) diff --git a/docs/userguides/hammer/storage/storage_quota.md b/docs/userguides/hammer/storage/storage_quota.md new file mode 100644 index 00000000..d77267b3 --- /dev/null +++ b/docs/userguides/hammer/storage/storage_quota.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- +{% set resource = "hammer" %} +{{ storage_quota(resource) }} + +[**Back to the Storage section**](../storage.md) diff --git a/docs/userguides/hammer/storage/tmp_directory.md b/docs/userguides/hammer/storage/tmp_directory.md new file mode 100644 index 00000000..844a8b52 --- /dev/null +++ b/docs/userguides/hammer/storage/tmp_directory.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +--8<-- "docs/snippets/tmp_directory.md" + +[**Back to the Storage section**](../storage.md) diff --git a/docs/userguides/hammer/storage/windows_network_drive.md b/docs/userguides/hammer/storage/windows_network_drive.md new file mode 100644 index 00000000..141e5c0e --- /dev/null +++ b/docs/userguides/hammer/storage/windows_network_drive.md @@ -0,0 +1,13 @@ +--- +tags: + - Hammer +authors: + - jin456 +resource: Hammer +search: + boost: 2 +--- + +{{ windows_network_drive("hammer") }} + +[**Back to the Storage section**](../storage.md) diff --git a/mkdocs.yml b/mkdocs.yml index 0ad4a467..d5ca2c43 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -180,8 +180,16 @@ nav: - Web Server: userguides/geddes/examples/webserver.md - R Shiny: userguides/geddes/examples/r-shiny.md - Troubleshooting: userguides/geddes/troubleshooting.md + - Hammer: + - userguides/hammer/index.md + - Hammer Overview: userguides/hammer/overview.md + - Accounts: userguides/hammer/accounts.md + - File Storage and Transfer: userguides/hammer/storage.md + - Software: userguides/hammer/software.md + - Compiling Source Code: userguides/hammer/compile.md + - Running Jobs: userguides/hammer/run_jobs/index.md + - Frequently Asked Questions: userguides/hammer/faqs.md - Negishi: https://www.rcac.purdue.edu/knowledge/negishi - - Hammer: https://www.rcac.purdue.edu/knowledge/hammer - Rossmann: https://www.rcac.purdue.edu/knowledge/rossmann - Weber: https://www.rcac.purdue.edu/knowledge/weber - Storage User Guides: