Skip to content

Commit 76ba74f

Browse files
committed
imported hpc-in-a-day
1 parent 37fd563 commit 76ba74f

File tree

477 files changed

+35115
-2
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

477 files changed

+35115
-2
lines changed

AUTHORS

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
lesson-template was written by:
2+
Aaron O'Leary <aaron.oleary@gmail.com>
3+
Abigail Cabunoc <abigail.cabunoc@oicr.on.ca>
4+
Andy Boughton <abought@gmail.com>
5+
Bill Mills <mills.wj@gmail.com>
6+
Francois Michonneau <francois.michonneau@gmail.com>
7+
Greg Wilson <gvwilson@software-carpentry.org>
8+
James Allen <jamesallen0108@gmail.com>
9+
John Blischak <jdblischak@gmail.com>
10+
Jon Pipitone <jon.pipitone@utoronto.ca>
11+
Michael Hansen <hansen.mike@gmail.com>
12+
Piotr Banaszkiewicz <piotr@banaszkiewicz.org>
13+
Raniere Silva <raniere@ime.unicamp.br>
14+
Rémi Emonet <remi.emonet@reverse--com.heeere>
15+
Timothée Poisot <tim@poisotlab.io>
16+
Trevor Bekolay <tbekolay@gmail.com>
17+
W. Trevor King <wking@tremily.us>

CONDUCT.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
---
2+
layout: page
3+
title: "Contributor Code of Conduct"
4+
permalink: /conduct/
5+
---
6+
As contributors and maintainers of this project,
7+
we pledge to respect all people who contribute through reporting issues,
8+
posting feature requests,
9+
updating documentation,
10+
submitting pull requests or patches,
11+
and other activities.
12+
13+
We are committed to making participation in this project a harassment-free experience for everyone,
14+
regardless of level of experience,
15+
gender,
16+
gender identity and expression,
17+
sexual orientation,
18+
disability,
19+
personal appearance,
20+
body size,
21+
race,
22+
ethnicity,
23+
age,
24+
or religion.
25+
26+
Examples of unacceptable behavior by participants include the use of sexual language or imagery,
27+
derogatory comments or personal attacks,
28+
trolling,
29+
public or private harassment,
30+
insults,
31+
or other unprofessional conduct.
32+
33+
Project maintainers have the right and responsibility to remove, edit, or reject
34+
comments, commits, code, wiki edits, issues, and other contributions
35+
that are not aligned to this Code of Conduct.
36+
Project maintainers who do not follow the Code of Conduct may be removed from the project team.
37+
38+
Instances of abusive, harassing, or otherwise unacceptable behavior
39+
may be reported by opening an issue or contacting one or more of the project maintainers.
40+
41+
This Code of Conduct is adapted from
42+
the [Contributor Covenant][contrib-covenant] Version 1.0.0.
43+
44+
[contrib-covenant]: http://contributor-covenant.org/

CONTRIBUTING.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
Software Carpentry is an open source project,
2+
and we welcome contributions of all kinds:
3+
new lessons,
4+
fixes to existing material,
5+
bug reports,
6+
and reviews of proposed changes are all equally welcome.
7+
8+
By contributing,
9+
you are agreeing that Software Carpentry may redistribute your work under
10+
[these licenses][license].
11+
You also agree to abide by our
12+
[contributor code of conduct][conduct].
13+
14+
## Getting Started
15+
16+
1. We use GitHub flow to manage changes,
17+
which is explained in the chapter [Contributing to a Project][pro-git-chapter]
18+
in Scott Chacon's book *Pro Git*.
19+
20+
2. For our lessons,
21+
you should branch from and submit pull requests against the `gh-pages` branch.
22+
23+
3. When editing lesson pages, you need only commit changes to the Markdown source files.
24+
25+
4. If you're looking for things to work on,
26+
please see [the list of issues for this repository][issues],
27+
or for [our other lessons][swc-lessons].
28+
Comments on issues and reviews of pull requests are equally welcome.
29+
30+
## Other Resources
31+
32+
1. This lesson is based on the template found at
33+
[https://github.com/swcarpentry/lesson-template](https://github.com/swcarpentry/lesson-template).
34+
That repository has instructions on formatting and previewing lessons.
35+
36+
2. For a list of helpful commands run `make` in this directory.
37+
38+
[conduct]: CONDUCT.md
39+
[issues]: https://github.com/swcarpentry/lesson-template/issues
40+
[license]: LICENSE.md
41+
[pro-git-chapter]: http://git-scm.com/book/en/v2/GitHub-Contributing-to-a-Project
42+
[swc-lessons]: http://software-carpentry.org/lessons.html

LICENSE.md

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
---
2+
layout: page
3+
title: "Licenses"
4+
permalink: /license/
5+
---
6+
## Instructional Material
7+
8+
All Software Carpentry and Data Carpentry instructional material is
9+
made available under the [Creative Commons Attribution
10+
license][cc-by-human]. The following is a human-readable summary of
11+
(and not a substitute for) the [full legal text of the CC BY 4.0
12+
license][cc-by-legal].
13+
14+
You are free:
15+
16+
* to **Share**---copy and redistribute the material in any medium or format
17+
* to **Adapt**---remix, transform, and build upon the material
18+
19+
for any purpose, even commercially.
20+
21+
The licensor cannot revoke these freedoms as long as you follow the
22+
license terms.
23+
24+
Under the following terms:
25+
26+
* **Attribution**---You must give appropriate credit (mentioning that
27+
your work is derived from work that is Copyright © Software
28+
Carpentry and, where practical, linking to
29+
http://software-carpentry.org/), provide a [link to the
30+
license][cc-by-human], and indicate if changes were made. You may do
31+
so in any reasonable manner, but not in any way that suggests the
32+
licensor endorses you or your use.
33+
34+
**No additional restrictions**---You may not apply legal terms or
35+
technological measures that legally restrict others from doing
36+
anything the license permits. With the understanding that:
37+
38+
Notices:
39+
40+
* You do not have to comply with the license for elements of the
41+
material in the public domain or where your use is permitted by an
42+
applicable exception or limitation.
43+
* No warranties are given. The license may not give you all of the
44+
permissions necessary for your intended use. For example, other
45+
rights such as publicity, privacy, or moral rights may limit how you
46+
use the material.
47+
48+
## Software
49+
50+
Except where otherwise noted, the example programs and other software
51+
provided by Software Carpentry and Data Carpentry are made available under the
52+
[OSI][osi]-approved
53+
[MIT license][mit-license].
54+
55+
Permission is hereby granted, free of charge, to any person obtaining
56+
a copy of this software and associated documentation files (the
57+
"Software"), to deal in the Software without restriction, including
58+
without limitation the rights to use, copy, modify, merge, publish,
59+
distribute, sublicense, and/or sell copies of the Software, and to
60+
permit persons to whom the Software is furnished to do so, subject to
61+
the following conditions:
62+
63+
The above copyright notice and this permission notice shall be
64+
included in all copies or substantial portions of the Software.
65+
66+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
67+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
68+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
69+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
70+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
71+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
72+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
73+
74+
## Trademark
75+
76+
"Software Carpentry" and "Data Carpentry" and their respective logos
77+
are registered trademarks of [NumFOCUS][numfocus].
78+
79+
[cc-by-human]: https://creativecommons.org/licenses/by/4.0/
80+
[cc-by-legal]: https://creativecommons.org/licenses/by/4.0/legalcode
81+
[mit-license]: http://opensource.org/licenses/mit-license.html
82+
[numfocus]: http://numfocus.org/
83+
[osi]: http://opensource.org

Makefile

Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
## ========================================
2+
## Commands for both workshop and lesson websites.
3+
4+
# Settings
5+
MAKEFILES=Makefile $(wildcard *.mk)
6+
JEKYLL=jekyll
7+
PARSER=bin/markdown_ast.rb
8+
DST=_site
9+
10+
# Controls
11+
.PHONY : commands clean files
12+
.NOTPARALLEL:
13+
all : commands
14+
15+
## commands : show all commands.
16+
commands :
17+
@grep -h -E '^##' ${MAKEFILES} | sed -e 's/## //g'
18+
19+
## serve : run a local server.
20+
serve : lesson-md
21+
${JEKYLL} serve
22+
23+
## site : build files but do not run a server.
24+
site : lesson-md
25+
${JEKYLL} build
26+
27+
# repo-check : check repository settings.
28+
repo-check :
29+
@bin/repo_check.py -s .
30+
31+
## clean : clean up junk files.
32+
clean :
33+
@rm -rf ${DST}
34+
@rm -rf .sass-cache
35+
@rm -rf bin/__pycache__
36+
@find . -name .DS_Store -exec rm {} \;
37+
@find . -name '*~' -exec rm {} \;
38+
@find . -name '*.pyc' -exec rm {} \;
39+
40+
## clean-rmd : clean intermediate R files (that need to be committed to the repo).
41+
clear-rmd :
42+
@rm -rf ${RMD_DST}
43+
@rm -rf fig/rmd-*
44+
45+
## ----------------------------------------
46+
## Commands specific to workshop websites.
47+
48+
.PHONY : workshop-check
49+
50+
## workshop-check : check workshop homepage.
51+
workshop-check :
52+
@bin/workshop_check.py .
53+
54+
## ----------------------------------------
55+
## Commands specific to lesson websites.
56+
57+
.PHONY : lesson-check lesson-md lesson-files lesson-fixme
58+
59+
# RMarkdown files
60+
RMD_SRC = $(wildcard _episodes_rmd/??-*.Rmd)
61+
RMD_DST = $(patsubst _episodes_rmd/%.Rmd,_episodes/%.md,$(RMD_SRC))
62+
63+
# Lesson source files in the order they appear in the navigation menu.
64+
MARKDOWN_SRC = \
65+
index.md \
66+
CONDUCT.md \
67+
setup.md \
68+
$(wildcard _episodes/*.md) \
69+
reference.md \
70+
$(wildcard _extras/*.md) \
71+
LICENSE.md
72+
73+
# Generated lesson files in the order they appear in the navigation menu.
74+
HTML_DST = \
75+
${DST}/index.html \
76+
${DST}/conduct/index.html \
77+
${DST}/setup/index.html \
78+
$(patsubst _episodes/%.md,${DST}/%/index.html,$(wildcard _episodes/*.md)) \
79+
${DST}/reference/index.html \
80+
$(patsubst _extras/%.md,${DST}/%/index.html,$(wildcard _extras/*.md)) \
81+
${DST}/license/index.html
82+
83+
## lesson-md : convert Rmarkdown files to markdown
84+
lesson-md : ${RMD_DST}
85+
86+
# Use of .NOTPARALLEL makes rule execute only once
87+
${RMD_DST} : ${RMD_SRC}
88+
@bin/knit_lessons.sh ${RMD_SRC}
89+
90+
## lesson-check : validate lesson Markdown.
91+
lesson-check :
92+
@bin/lesson_check.py -s . -p ${PARSER} -r _includes/links.md
93+
94+
## lesson-check-all : validate lesson Markdown, checking line lengths and trailing whitespace.
95+
lesson-check-all :
96+
@bin/lesson_check.py -s . -p ${PARSER} -l -w
97+
98+
## lesson-figures : re-generate inclusion displaying all figures.
99+
lesson-figures :
100+
@bin/extract_figures.py -p ${PARSER} ${MARKDOWN_SRC} > _includes/all_figures.html
101+
102+
## unittest : run unit tests on checking tools.
103+
unittest :
104+
python bin/test_lesson_check.py
105+
106+
## lesson-files : show expected names of generated files for debugging.
107+
lesson-files :
108+
@echo 'RMD_SRC:' ${RMD_SRC}
109+
@echo 'RMD_DST:' ${RMD_DST}
110+
@echo 'MARKDOWN_SRC:' ${MARKDOWN_SRC}
111+
@echo 'HTML_DST:' ${HTML_DST}
112+
113+
## lesson-fixme : show FIXME markers embedded in source files.
114+
lesson-fixme :
115+
@fgrep -i -n FIXME ${MARKDOWN_SRC} || true
116+
117+
#-------------------------------------------------------------------------------
118+
# Include extra commands if available.
119+
#-------------------------------------------------------------------------------
120+
121+
-include commands.mk

README.md

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,21 @@
1-
# hpc-parallel-novice
2-
Introductory material on parallelization using python with a focus on HPC platforms
1+
# HPC-in-a-day [![DOI](https://zenodo.org/badge/83803821.svg)](https://zenodo.org/badge/latestdoi/83803821)
2+
3+
Novice introduction to high performance computing. This material was conceived as a sandbox project for [swcarpentry/hpc-novice](https://github.com/psteinb/hpc-in-a-day). Parts of it will be contributed to [swcarpentry/hpc-novice](https://github.com/psteinb/hpc-in-a-day) in due course.
4+
5+
## Material
6+
7+
The material can be viewed [here](https://psteinb.github.io/hpc-in-a-day)!
8+
9+
## Audience
10+
11+
The material as such targets future users of a HPC infrastructure of any discipline. The learners are expected to have an introductory level of programming skills and should know their way around the UNIX command line on a beginners level as well.
12+
13+
## Scheduler
14+
15+
hpc-in-a-day is scheduler agnostic. Currently, it supports LSF and SLURM. The job scheduler type can be set with the `workshop_scheduler` variable in [_config.yaml](https://github.com/psteinb/hpc-in-a-day/blob/711cf3f309a04d4a6e955e39c701444733194fed/_config.yml#L40).
16+
17+
# How to build
18+
19+
## Dependencies
20+
21+
The material is based on the [software carpentry lesson template](https://github.com/swcarpentry/styles). It hence depends on a fairly recent version of [jekyll](jekyllrb.org). Just give building it with `make site` in the root directory a try. If you find any problems, please open an issue.

0 commit comments

Comments
 (0)