Skip to content

Commit dfdd3a1

Browse files
authored
Merge pull request #35 from sbryngelson/refac
2 parents e5f60ae + 17e86a6 commit dfdd3a1

27 files changed

+815
-0
lines changed

.github/workflows/pages.yml

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
name: Deploy Jekyll site to Pages
2+
3+
on:
4+
push:
5+
branches: ["master"]
6+
workflow_dispatch:
7+
8+
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
9+
permissions:
10+
contents: read
11+
pages: write
12+
id-token: write
13+
14+
# Allow only one concurrent deployment
15+
concurrency:
16+
group: "pages"
17+
cancel-in-progress: true
18+
19+
jobs:
20+
# Build job
21+
build:
22+
runs-on: ubuntu-latest
23+
steps:
24+
- name: Checkout
25+
uses: actions/checkout@v3
26+
- name: Setup Ruby
27+
uses: ruby/setup-ruby@v1
28+
with:
29+
ruby-version: '3.1'
30+
bundler-cache: true
31+
- name: Setup Pages
32+
id: pages
33+
uses: actions/configure-pages@v3
34+
- name: Build with Jekyll
35+
run: |
36+
gem install bundler
37+
bundle init
38+
echo 'gem "jekyll", "~> 4.3.2"' >> Gemfile
39+
echo 'gem "just-the-docs"' >> Gemfile
40+
bundle install
41+
bundle exec jekyll build --baseurl "${{ steps.pages.outputs.base_path }}"
42+
env:
43+
JEKYLL_ENV: production
44+
- name: Upload artifact
45+
uses: actions/upload-pages-artifact@v2
46+
47+
# Deployment job
48+
deploy:
49+
environment:
50+
name: github-pages
51+
url: ${{ steps.deployment.outputs.page_url }}
52+
runs-on: ubuntu-latest
53+
needs: build
54+
steps:
55+
- name: Deploy to GitHub Pages
56+
id: deployment
57+
uses: actions/deploy-pages@v2

SEARCH_README.md

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
# Search Functionality for Group Syllabus
2+
3+
This document explains how to use and maintain the search functionality for the Georgia Tech Computational Physics Group Syllabus.
4+
5+
## How It Works
6+
7+
The search functionality is implemented using GitHub Pages with the Just the Docs Jekyll theme, which includes built-in search capabilities. This allows students and researchers to quickly find information across all documentation pages.
8+
9+
## Features
10+
11+
- Full-text search across all documentation pages
12+
- Search by headings, content, and keywords
13+
- Highlighting of search terms in results
14+
- Search results ranked by relevance
15+
16+
## Setting Up GitHub Pages
17+
18+
1. **Enable GitHub Pages in your repository settings**:
19+
- Go to Settings > Pages
20+
- Set the source to "GitHub Actions"
21+
22+
2. **Verify the workflow is running**:
23+
- Check the Actions tab to ensure the "Deploy Jekyll site to Pages" workflow is running
24+
- The first build may take a few minutes
25+
26+
## Adding New Content
27+
28+
When adding new content to be searchable:
29+
30+
1. Create markdown files in the appropriate collection directory:
31+
- `_syllabus/` - For general syllabus content
32+
- `_papers/` - For writing and publication guidance
33+
- `_details/` - For specific details and resources
34+
35+
2. Add front matter to each markdown file:
36+
```yaml
37+
---
38+
layout: page
39+
title: Your Page Title
40+
nav_order: 1
41+
description: "Brief description of the page content"
42+
permalink: /collection-name/page-name
43+
---
44+
```
45+
46+
3. Push changes to the repository, and GitHub Actions will automatically rebuild the site with updated search index
47+
48+
## Search Tips for Users
49+
50+
Share these tips with your students:
51+
52+
- Use the search bar in the top navigation to find content
53+
- Use quotes for exact phrase matching: `"research meeting"`
54+
- Use multiple terms to narrow results: `funding conference`
55+
- Results are ranked by relevance
56+
57+
## Maintenance
58+
59+
- The search index is automatically updated when changes are pushed to the repository
60+
- No manual maintenance is required
61+
- To modify search behavior, edit the `search` section in `_config.yml`
62+
63+
## Troubleshooting
64+
65+
If search isn't working properly:
66+
67+
1. Check that the GitHub Pages site is properly deployed
68+
2. Verify that front matter is correctly formatted in all markdown files
69+
3. Ensure the `search_enabled: true` setting is in `_config.yml`
70+
4. Check the GitHub Actions logs for any build errors

_config.yml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
title: Computational Physics @ GT Group Documentation
2+
description: Documentation and resources for the Computational Physics research group at Georgia Tech
3+
theme: just-the-docs
4+
5+
url: https://comp-physics.github.io/group-shb
6+
7+
aux_links:
8+
"Group GitHub":
9+
- "https://github.com/comp-physics"
10+
11+
# Enable search
12+
search_enabled: true
13+
search:
14+
# Split pages into sections that can be searched individually
15+
heading_level: 2
16+
# Maximum amount of previews per search result
17+
previews: 3
18+
# Maximum amount of words to display before a matched word in the preview
19+
preview_words_before: 5
20+
# Maximum amount of words to display after a matched word in the preview
21+
preview_words_after: 10
22+
23+
# Footer content
24+
footer_content: "CC BY-NC 4.0"
25+
26+
# Collections for website structure
27+
collections:
28+
syllabus:
29+
permalink: "/:collection/:path/"
30+
output: true
31+
papers:
32+
permalink: "/:collection/:path/"
33+
output: true
34+
details:
35+
permalink: "/:collection/:path/"
36+
output: true

_details/computers.md

Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
---
2+
layout: page
3+
title: Available Computers
4+
nav_order: 1
5+
description: "Information about computing resources available to the group"
6+
permalink: /details/computers
7+
---
8+
9+
# Computers
10+
11+
This page provides information about the computing resources available to our research group.
12+
13+
## Georgia Tech
14+
15+
* GT PACE Phoenix
16+
* User guide [here](https://docs.pace.gatech.edu/phoenix_cluster/gettingstarted_phnx/)
17+
* Login via `ssh <GTusername>@login-phoenix-rh9.pace.gatech.edu` to get the RHEL9 nodes
18+
* Purpose: All-purpose campus resource of CPU and GPU jobs with a variety of hardware.
19+
* "Rules": Use the `embers` queue type to use idle nodes at zero cost.
20+
* To get access, let Spencer know, and he will fill out [this form](https://gatech.service-now.com/home?id=sc_cat_item&sys_id=61bc5e351b37f994a8622f4b234bcbf0).
21+
22+
* GT ICE
23+
* [Resources/User guide](https://gatech.service-now.com/home?id=kb_article_view&sysparm_article=KB0042095) (click `Available Resources`, e.g.)
24+
* This looks like ~40 V100s, 8 A100s, 4 A40s, 20 RTX6000s, and 4 MI210s.
25+
* May need to contact Spencer for access.
26+
* __Most GPU nodes sit idle__
27+
* On those nodes: `MaxNodes=UNLIMITED MaxTime=18:00:00`
28+
29+
* GT Rogues Gallery
30+
* User guide [here](https://gt-crnch-rg.readthedocs.io/en/main/)
31+
* Purpose: Use of brand-new, forward-looking, or weird hardware. At the time of writing, it includes an NV H100 server, GH200 nodes, AMD MI210 GPU server, Bluefield-2/3 SmartNICs, RISC-V and Arm CPUs, etc.
32+
* "Rules": There are few rules; just follow the guidelines in the documentation. There are no limitations on hardware access/node hours.
33+
* Get access via [this link](https://crnch-rg.cc.gatech.edu/request-rogues-gallery-access/)
34+
35+
* GT Wingtip-gpu3
36+
* User guide [here](https://github.gatech.edu/cse-computing/compute-resources/blob/main/docs/systems/wingtip-gpu.md)
37+
* Purpose: Small (but possibly very long) GPU jobs, hosts 5x NV A100-80GB PCIe at the moment
38+
* "Rules": Be mindful of others' use of this machine as it does not have a scheduler.
39+
* Get access by emailing [Will Powell](mailto:will.powell@cc.gatech.edu), cc me.
40+
41+
## University Clusters
42+
43+
* ACCESS-CI computers
44+
* These are a set of university supercomputers listed [here](https://access-ci.org/resource-providers/). Each has its own user guide. At the time of writing, we have access to NCSA Delta (A100 GPUs), PSC Bridges2 (V100 GPUs), Purdue Anvil, and Texas A&M ACES (H100 GPUs), but we can change to others as needed. We primarily use NCSA Delta.
45+
* Purpose: All-purpose resources for CPU and GPU simulation.
46+
* "Rules": Be mindful of the available node hours. Queue times might be long.
47+
* Our account number:
48+
* `PHY240200` (ACCESS-CI Maximize, NCSA Delta only)
49+
* `PHY210084` (ACCESS-CI Accelerate; Bridges2, Delta, and so on)
50+
* Get access by
51+
* Creating an account [here](https://identity.access-ci.org/new-user.html)
52+
* Then, message Spencer on Slack with your username
53+
* On [NCSA Delta](https://docs.ncsa.illinois.edu/systems/delta/en/latest/)
54+
* The account name is `bdiy-delta-gpu` (ACCESS-CI Maximize) or `bbsc-delta-gpu` (ACCESS-CI Accelerate) for GPU resources
55+
* Replace `-gpu` with `-cpu` for CPU resources
56+
57+
## DOE Labs
58+
59+
* Oak Ridge National Lab OLCF: Frontier/Wombat/Andes/etc.
60+
* Purpose
61+
* Frontier: Very large-scale GPU simulation on AMD MI250X GPUs.
62+
* Wombat: Testbed for next-gen HPC platforms, including ARM nodes and soon next-generation NVIDIA nodes (GraceHopper).
63+
* Andes: For postprocessing
64+
* Our account number: `CFD154`
65+
* "Rules": Ask Spencer before running any jobs that use a very large number of node hours
66+
* Get access by
67+
* Create an account by following [these instructions](https://docs.olcf.ornl.gov/accounts/accounts_and_projects.html#applying-for-a-user-account)
68+
* The account/allocation number is `CFD154`.
69+
70+
* Sandia National Lab (SNL)
71+
* Purpose: Resources for DOE-sponsored/funded research projects are only available to those students working on these projects. You will only have access to non-restricted resources.
72+
* "Rules": Usually, there are not many rules aside from the very many that they will impute onto you as you acquire access to these machines.
73+
* Login process (Sandia National Lab-specific)
74+
* Onto the DaaS
75+
* VMware Horizon ([download online](https://customerconnect.vmware.com/en/downloads/info/slug/desktop_end_user_computing/vmware_horizon_clients/horizon_8))
76+
* URL: `daas.sandia.gov`
77+
* Passcode: `[PIN] + [your yubikey1timepassword]`
78+
* Password: `[kerberos pw]`
79+
* 3 options
80+
* badge update
81+
* conference room
82+
* daas <- open this one
83+
* Can complete training and do other things here, like look at your WebCARS to get `WC_ID` (which you need to submit jobs)
84+
* Onto a computer remotely
85+
* https://hpc.sandia.gov/access/ssh/
86+
* Can do the below with DaaS (using my example username, `[usrname]`)
87+
* `ssh [usrname]@srngate.sandia.gov`
88+
* Passcode: `[PIN] + [yubikey one time pw]`
89+
* Choose a computer: e.g., Skybridge, Attaway, Weaver, etc.
90+
* Press `1` - `ssh session`
91+
* Default user name (`[usrname]`)
92+
* Password is (usually) the Kerberos one
93+
* If it asks for token OTP (e.g., on Weaver) then this is `[PIN] + [yubikey1timepassword]`
94+
95+
* LLNL Livermore Computing: Lassen, Tioga, etc.
96+
* Anyone working on a specific LLNL project can use [LLNL CZ](https://lc.llnl.gov/) (non-restricted) resources
97+
* Talk to Spencer about getting access to CZ (collaboration zone) if you are working on a LLNL project
98+
* "Rules": Usually not many rules aside from the very many that they will impute onto you as you acquire access to these machines.
99+
* Login process (Lawrence Livermore National Lab-specific)
100+
* Onto LC-idm
101+
* URL: `ic-idm.llnl.gov`
102+
* Passcode: `[PIN] + [rsa one time password]`
103+
* Can use to view user profile and request roles (ask for resources on specific machines)
104+
* Onto the LC
105+
* URL: `lc.llnl.gov`
106+
* Passcode: `[PIN] + [rsa one time password]`
107+
* Requires three logins to fully log in
108+
* Can be used to access collaboration tools such as Confluence and Gitlab, user documentation, and MyLC for alerts, machine status, and job status
109+
* Onto a computer remotely
110+
* Can do the below with ssh (using my example username, `[usrname]`, for a specific LLNL machine, `[llnlmachine]`)
111+
* `ssh [usrname]@[llnlmachine].llnl.gov`
112+
* Passcode: `[PIN] + [rsa one time password]`
113+
114+
## DOD Labs
115+
116+
* Department of Defense
117+
* Anyone working on a DOD project can use [DOD HPCMP](https://www.hpc.mil/) (non-restricted) resources
118+
* The process of getting permissions to the non-restricted systems is a bit tedious but usually worth it
119+
* See [here](https://centers.hpc.mil/) for information on the available supercomputers
120+
* In particular, it's useful to keep an eye on [upcoming systems](https://centers.hpc.mil/systems/hardware.html#upcoming)
121+
* Current unclassified systems are [here](https://centers.hpc.mil/systems/unclassified.html)
122+
* Talk to Spencer about getting access to a DOD machine if you are working on a DOD project
123+
* Subproject: `ONRDC51242690`, Group: `5124D690`, Project: `5124`
124+
* Site: `NAVY`
125+
* nautilus
126+
* narwhal
127+
* Site: `ERDC`
128+
* carpenter
129+
* [Docs available here](https://centers.hpc.mil/users/docs/index.html#general)

_details/hardware.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
layout: page
3+
title: Hardware Ownership
4+
nav_order: 3
5+
description: "Information about hardware ownership and policies"
6+
permalink: /details/hardware
7+
---
8+
9+
{% include_relative ../group-syllabus/hardware.md %}

_details/index.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
layout: page
3+
title: Details
4+
nav_order: 4
5+
description: "Specific details about resources and policies"
6+
permalink: /details
7+
has_children: true
8+
---
9+
10+
# Details
11+
12+
This section contains specific information about resources, policies, and guidelines for undergraduate researchers and hardware usage.
13+
14+
## Available Documents
15+
16+
* [Undergraduate specifics](/details/undergraduate-specifics) - Information specific to undergraduate researchers
17+
* [Available computers](/details/computers) - Information about computing resources available to the group
18+
* [Whose hardware is this, anyway?](/details/hardware) - Information about hardware ownership and policies
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
layout: page
3+
title: Undergraduate Specifics
4+
nav_order: 1
5+
description: "Information specific to undergraduate researchers"
6+
permalink: /details/undergraduate-specifics
7+
---
8+
9+
{% include_relative ../group-syllabus/undergraduate-specifics.md %}

_papers/figures.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
layout: page
3+
title: Making Figures
4+
nav_order: 3
5+
description: "Guidelines for creating effective figures for publications"
6+
permalink: /papers/figures
7+
---
8+
9+
{% include_relative ../group-syllabus/figures.md %}

_papers/formatting.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
layout: page
3+
title: Formatting Your Documents
4+
nav_order: 2
5+
description: "Guidelines for formatting academic papers and documents"
6+
permalink: /papers/formatting
7+
---
8+
9+
{% include_relative ../group-syllabus/formatting.md %}

_papers/improving-your-writing.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
layout: page
3+
title: Academic Writing
4+
nav_order: 1
5+
description: "Guidelines for improving academic writing skills"
6+
permalink: /papers/improving-your-writing
7+
---
8+
9+
{% include_relative ../group-syllabus/improving-your-writing.md %}

0 commit comments

Comments
 (0)