Skip to content

Commit 9e5a641

Browse files
Release version v0.3.0
This merge represents the release of v0.3.0 of Ramble. This release includes 75 pull requests from 3 contributors.
2 parents 225f8b4 + b3a6fdd commit 9e5a641

File tree

131 files changed

+11629
-3658
lines changed

Some content is hidden

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

131 files changed

+11629
-3658
lines changed

.github/workflows/sphinx.yml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: Sphinx build
2+
3+
on: push
4+
5+
jobs:
6+
build:
7+
runs-on: ubuntu-latest
8+
steps:
9+
- uses: actions/checkout@v3
10+
- name: Build docs
11+
run: |
12+
pip install -r ./lib/ramble/docs/requirements.txt
13+
sphinx-build -b html ./lib/ramble/docs ./docs
14+
#uses: ammaraskar/[email protected]
15+
#with:
16+
#docs-folder: "./lib/ramble/docs/"
17+
- name: Upload artifacts
18+
uses: actions/upload-artifact@v3
19+
with:
20+
name: html-docs
21+
path: ./docs/
22+
- name: Deploy
23+
uses: peaceiris/actions-gh-pages@v3
24+
if: github.ref == 'refs/heads/develop'
25+
with:
26+
github_token: ${{ secrets.GITHUB_TOKEN }}
27+
publish_dir: "docs"

.pre-commit-config.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
repos:
2+
- repo: local
3+
hooks:
4+
- id: flake8
5+
name: flake8
6+
entry: share/ramble/qa/run-flake8-tests
7+
language: system
8+
- id: short-unit-tests
9+
name: short-unit-tests
10+
entry: share/ramble/qa/run-unit-tests
11+
language: system
12+
stages: [push]

README.md

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@ These can include anything from:
99
- Performance focused scalaing studies
1010
- Compiler flag sweeps
1111

12-
To install ramble and configure your experiment workspace, make sure you have Python.
12+
To install ramble and configure your experiment workspace, make sure you have
13+
Python, and Ramble’s dependencies are installed as per the dependency section
14+
below.
1315
Then:
1416

1517
$ git clone -c feature.manyFiles=true https://github.com/GoogleCloudPlatform/ramble.git
@@ -35,7 +37,7 @@ Documentation
3537
For help with Ramble’s commands, run `ramble help` or `ramble help --all`.
3638

3739
For more information on concepts in Ramble, see Ramble’s
38-
[Getting Started](./docs/Getting_Started.md) guide.
40+
[Getting Started](./lib/ramble/docs/getting_started.rst) guide.
3941

4042
Example configuration files are also contained in the
4143
[examples](./examples) directory.
@@ -60,10 +62,12 @@ When you send your request, make ``develop`` the destination branch on the
6062

6163
Your PR must pass Ramble's unit tests and documentation tests, and must be
6264
[PEP 8](https://www.python.org/dev/peps/pep-0008/) compliant. We enforce
63-
these guidelines with our CI process. To run these tests locally,
64-
please use the test runners:
65-
- share/ramble/qa/run-unit-tests
66-
- share/ramble/qa/run-flake8-tests
65+
these guidelines with our CI process.
66+
67+
These tests can be run locally through test runners in the share/ramble/qa/
68+
directory. Alternatively, [pre-commit](https://pre-commit.com/#install) can be
69+
used to manage our git hooks. To install the hooks, simply run:
70+
- pre-commit install
6771

6872
For additional requirements about contributing, including Google’s CLA, see our
6973
[Contribution Guide](.github/CONTRIBUTING.md).

bin/ramble

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
#!/bin/sh
12
# Copyright 2022-2023 Google LLC
23
#
34
# Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or

etc/ramble/defaults/spack.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
spack:
2+
concretized: false
3+
packages: {}
4+
environments: {}

examples/README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,5 +106,6 @@ The slurm execute experiment script shows an example of creating an
106106
`execute_experiment` script for use in a slurm cluster.
107107

108108
To use this, place it in the configs directory for your workspace, and change
109-
the `ramble:batch:submit` definition in your ramble.yaml to: `sbatch {slurm_execute_experiment}`.
110-
Then when performing `ramble workspace setup`, the `all_experiments` script will submit to slurm.
109+
the `ramble:variables:batch_submit` definition in your ramble.yaml to:
110+
`sbatch {slurm_execute_experiment}`. Then when performing `ramble workspace
111+
setup`, the `all_experiments` script will submit to slurm.
Lines changed: 26 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,7 @@
11
ramble:
2-
mpi:
3-
command: mpirun
4-
args:
5-
- -n
6-
- '{n_ranks}'
7-
- -ppn
8-
- '{processes_per_node}'
9-
- -hostfile
10-
- hostfile
11-
batch:
12-
submit: '{execute_experiment}'
132
variables:
3+
mpi_command: 'mpirun -n {n_ranks} -ppn {processes_per_node} -hosfile hostfile'
4+
batch_submit: '{execute_experiment}'
145
n_ranks: '{processes_per_node}*{n_nodes}'
156
applications:
167
openfoam:
@@ -23,6 +14,7 @@ ramble:
2314
processes_per_node: ['16', '32']
2415
#^-- (partition, processes_per_node) -> (part1, 16), (part2, 32)
2516
n_nodes: ['2', '4']
17+
wrf_path: execute_experiment in wrfv4.CONUS_2p5km.new_test
2618
matrices:
2719
- - n_nodes
2820
#^-- (partiton, processes_per_node, n_nodes) ->
@@ -38,38 +30,31 @@ ramble:
3830
n_nodes: '1'
3931
spack:
4032
concretized: true
41-
compilers:
33+
packages:
4234
gcc9:
43-
base: gcc
44-
version: 9.3.0
45-
target: x86_64
46-
mpi_libraries:
35+
spack_spec: [email protected] target=x86_64
4736
ompi412:
48-
base: openmpi
49-
version: 4.1.2
50-
variants: +legacylaunchers +pmi +thread_multiple +cxx
51-
target: x86_64
37+
spack_spec: [email protected] +legacylaunchers +pmi +thread_multiple +cxx target=x86_64
38+
compiler: gcc9
5239
impi2018:
53-
base: intel-mpi
54-
version: 2018.4.274
55-
applications:
40+
spack_spec: [email protected]
41+
compiler: gcc9
42+
openfoam:
43+
spack_spec: openfoam-org@7
44+
compiler: gcc9
45+
flex:
46+
spack_spec: [email protected]
47+
compiler: gcc9
48+
wrfv4:
49+
spack_spec: [email protected] build_type=dm+sm compile_type=em_real nesting=basic ~chem ~pnetcdf
50+
compiler: gcc9
51+
environments:
5652
openfoam:
57-
flex:
58-
base: flex
59-
version: 2.6.4
60-
compiler: gcc9
61-
openfoam:
62-
base: openfoam-org
63-
version: '7'
64-
compiler: gcc9
65-
mpi: ompi412
66-
dependencies:
67-
- flex
53+
packages:
54+
- ompi412
55+
- flex
56+
- openfoam
6857
wrfv4:
69-
wrf:
70-
base: wrf
71-
version: '4.2'
72-
variants: build_type=dm+sm compile_type=em_real nesting=basic ~chem ~pnetcdf
73-
compiler: gcc9
74-
mpi: impi2018
75-
required: true
58+
packages:
59+
- impi2018
60+
- wrfv4

examples/basic_gromacs_config.yaml

Lines changed: 49 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -1,64 +1,52 @@
11
ramble:
2-
variables:
3-
processes_per_node: 16
4-
mpi:
5-
command: mpirun
6-
args:
7-
- '-n'
8-
- '{n_ranks}'
9-
- -ppn
10-
- '{processes_per_node}'
11-
- -hostfile
12-
- hostfile
13-
batch:
14-
submit: '{execute_experiment}'
15-
applications:
16-
gromacs: # Application name
17-
workloads:
18-
water_gmx50: # Workload name from application
19-
experiments:
20-
pme_single_rank: # Arbitrary experiment name
21-
variables:
22-
n_ranks: '1'
23-
n_threads: '1'
24-
size: '0003'
25-
type: 'pme'
26-
rf_single_rank:
27-
variables:
28-
n_ranks: '1'
29-
n_threads: '1'
30-
size: '0003'
31-
type: 'rf'
32-
water_bare:
33-
experiments:
34-
pme_single_rank:
35-
variables:
36-
n_ranks: '1'
37-
n_threads: '1'
38-
size: '0003'
39-
type: 'pme'
40-
rf_single_rank:
41-
variables:
42-
n_ranks: '1'
43-
n_threads: '1'
44-
size: '0003'
45-
type: 'rf'
2+
variables:
3+
processes_per_node: 16
4+
mpi_command: 'mpirun -n {n_ranks} -ppn {processes_per_node} -hostfile hostfile'
5+
batch_submit: '{execute_experiment}'
6+
applications:
7+
gromacs: # Application name
8+
workloads:
9+
water_gmx50: # Workload name from application
10+
experiments:
11+
pme_single_rank: # Arbitrary experiment name
12+
variables:
13+
n_ranks: '1'
14+
n_threads: '1'
15+
size: '0003'
16+
type: 'pme'
17+
rf_single_rank:
18+
variables:
19+
n_ranks: '1'
20+
n_threads: '1'
21+
size: '0003'
22+
type: 'rf'
23+
water_bare:
24+
experiments:
25+
pme_single_rank:
26+
variables:
27+
n_ranks: '1'
28+
n_threads: '1'
29+
size: '0003'
30+
type: 'pme'
31+
rf_single_rank:
32+
variables:
33+
n_ranks: '1'
34+
n_threads: '1'
35+
size: '0003'
36+
type: 'rf'
4637
spack:
4738
concretized: true
48-
compilers:
49-
gcc9:
50-
base: gcc
51-
version: 9.3.0
52-
target: x86_64
53-
mpi_libraries:
54-
impi2018:
55-
base: intel-mpi
56-
version: 2018.4.274
57-
target: x86_64
58-
applications:
59-
gromacs: # Application name
60-
gromacs: # Spec name. Semi-abstract, but could be required
61-
base: gromacs
62-
version: '2021.6'
63-
compiler: gcc9
64-
mpi: impi2018
39+
packages:
40+
gcc9:
41+
spack_spec: [email protected] target=x86_64
42+
impi2018:
43+
spack_spec: [email protected] target=x86_64
44+
compiler: gcc9
45+
gromacs:
46+
spack_spec: [email protected]
47+
compiler: gcc9
48+
environments:
49+
gromacs:
50+
packages:
51+
- gromacs
52+
- impi2018

examples/basic_hostname_config.yaml

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,12 @@
2020
# n_ranks: '{processes_per_node}'
2121

2222
ramble:
23-
mpi:
24-
command: mpirun
25-
args: []
26-
batch:
27-
submit: '{execute_experiment}'
2823
env-vars:
2924
set:
3025
OMP_NUM_THREADS: '{n_threads}'
3126
variables:
27+
mpi_command: 'mpirun'
28+
batch_submit: '{execute_experiment}'
3229
processes_per_node: -1
3330
applications:
3431
hostname:
@@ -48,10 +45,5 @@ ramble:
4845
processes_per_node: '16'
4946
spack:
5047
concretized: true
51-
compilers: {}
52-
mpi_libraries: {}
53-
applications: {}
54-
# app_name
55-
# spec_name:
56-
# base: ''
57-
# version: ''
48+
packages: {}
49+
environments: {}

0 commit comments

Comments
 (0)