Skip to content

Commit

Permalink
Merge pull request #421 from GoogleCloudPlatform/develop
Browse files Browse the repository at this point in the history
Merge develop into main for v0.4.0 release

CLAs were all met at commit time.
  • Loading branch information
douglasjacobsen authored Feb 26, 2024
2 parents 9e5a641 + ab92a2e commit 2146246
Show file tree
Hide file tree
Showing 354 changed files with 28,004 additions and 4,864 deletions.
1 change: 1 addition & 0 deletions .flake8
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ max-line-length = 99

per-file-ignores =
var/ramble/repos/*/application.py:F405,F821
var/ramble/repos/*/modifier.py:F405,F821

# exclude things we usually do not want linting for.
# These still get linted when passed explicitly, as when spack flake8 passes
Expand Down
19 changes: 19 additions & 0 deletions .github/workflows/spelling.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: ramble spelling

on:
pull_request: []
push:
branches-ignore:
- main
- gh-pages

jobs:
formatting:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Check Spelling
uses: crate-ci/typos@548ac37a5de9ce84871bf4db3c9b8c462896d480 # v1.16.24
with:
files: ./lib/ramble/ramble ./lib/ramble/docs ./examples ./share ./bin ./etc ./var ./README.md
config: ./.typos.toml
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,4 @@ __pycache__/
*.x
*.txt
var/ramble/cache
var/ramble/workspaces
25 changes: 25 additions & 0 deletions .typos.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
[files]
extend-exclude = [
".git/",
# Copy of https://github.com/spack/spack/tree/develop/lib/spack
"lib/ramble/external/",
"lib/ramble/llnl/",
"lib/ramble/spack/",
]
ignore-hidden = false

[default]
extend-ignore-re = [
"\\bFOMs",
]

[default.extend-words]
"fom" = "fom"
"namd" = "namd"
"reord" = "reord"

[default.extend-identifiers]
"ATPase" = "ATPase"
"cachable" = "cachable"
"clen" = "clen"
"enable_deck_based_FOMs" = "enable_deck_based_FOMs"
2 changes: 1 addition & 1 deletion LICENSE-APACHE
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright 2022-2023 Google LLC.
Copyright 2022-2024 Google LLC.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,21 @@ e.g.

$ pip install -r requirements.txt

We recommend Python >= 3.7 for Ramble, but a best effort attempt is made to
support Python 3.6 as it is used by older operating systems such as Centos7.
Specifically, you might need to update `pip` and downgrade `protobuf` when
using Python 3.6.

Outside of these requirements, ramble requires an existing installation of
spack for some application definition. See
[Spack’s documentation](https://github.com/spack/spack#-spack) to install Spack.

Documentation
----------------

Ramble’s documentation can be viewed at
[https://googlecloudplatform.github.io/ramble/](https://googlecloudplatform.github.io/ramble/).

For help with Ramble’s commands, run `ramble help` or `ramble help --all`.

For more information on concepts in Ramble, see Ramble’s
Expand Down
2 changes: 1 addition & 1 deletion bin/ramble
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/bin/sh
# Copyright 2022-2023 Google LLC
# Copyright 2022-2024 Google LLC
#
# Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
# https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
Expand Down
2 changes: 1 addition & 1 deletion bin/ramble-python
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright 2022-2023 Google LLC
# Copyright 2022-2024 Google LLC
#
# Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
# https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
Expand Down
29 changes: 18 additions & 11 deletions etc/ramble/defaults/config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,21 @@
# ~/.ramble/config.yaml
# -------------------------------------------------------------------------
config:
test_stage: ~/.ramble/test
locks: true
verify_ssl: true
connect_timeout: 10
checksum: true
shell: 'sh'
spack_flags:
install: '--reuse'
concretize: '--reuse'
input_cache: $ramble/var/ramble/cache
workspace_dirs: $ramble/var/ramble/workspaces
test_stage: ~/.ramble/test
locks: true
verify_ssl: true
connect_timeout: 10
checksum: true
shell: sh
input_cache: $ramble/var/ramble/cache
workspace_dirs: $ramble/var/ramble/workspaces
include_phase_dependencies: false
spack:
install:
flags: --reuse
concretize:
flags: --reuse
buildcache:
flags: ''
env_create:
flags: ''
3 changes: 3 additions & 0 deletions etc/ramble/defaults/formatted_executables.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
formatted_executables:
command:
join_separator: '\n'
14 changes: 14 additions & 0 deletions etc/ramble/defaults/modifier_repos.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# -------------------------------------------------------------------------
# This is the default ramble repository configuration. It includes the
# builtin ramble application repository.
#
# Users can override these settings by editing the following files.
#
# Per-ramble-instance settings (overrides defaults):
# $RAMBLE_ROOT/etc/ramble/repos.yaml
#
# Per-user settings (overrides default and site settings):
# ~/.ramble/repos.yaml
# -------------------------------------------------------------------------
modifier_repos:
- $ramble/var/ramble/repos/builtin
8 changes: 4 additions & 4 deletions examples/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ or
```bash
./all_experiments
```
excuted from the root of the workspace.
executed from the root of the workspace.

## Variable syntax:

Expand Down Expand Up @@ -74,7 +74,7 @@ This configuration changes from a pre-existing binary to using spack to build gr
### [Basic Expansion Config](basic_expansion_config.yaml)
The basic expansion configuration file shows some examples of the experiment generation syntax.

It changes from using groamcs to using OpenFoam and WRF.
It changes from using gromacs to using OpenFoam and WRF.

Additionally, it shows how a configuration file can contain experiments for
multiple applications and / or workloads at the same time.
Expand All @@ -84,8 +84,8 @@ multiple applications and / or workloads at the same time.
The full expansion configuration file shows a more complete example of
experiment generation. It extends the basic expansion config file by showing two main aspects:

1) How to define environment variables (`env-vars`)
2) How to generate experiments using different binaries for the same application name (`spec_name`)
1) How to define environment variables (`env_vars`)
2) How to generate experiments using different binaries for the same application name (`env_name`)

## Available Template Files:

Expand Down
65 changes: 33 additions & 32 deletions examples/basic_expansion_config.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
ramble:
variables:
mpi_command: 'mpirun -n {n_ranks} -ppn {processes_per_node} -hosfile hostfile'
mpi_command: 'mpirun -n {n_ranks} -ppn {processes_per_node}'
batch_submit: '{execute_experiment}'
n_ranks: '{processes_per_node}*{n_nodes}'
applications:
Expand All @@ -17,7 +17,7 @@ ramble:
wrf_path: execute_experiment in wrfv4.CONUS_2p5km.new_test
matrices:
- - n_nodes
#^-- (partiton, processes_per_node, n_nodes) ->
#^-- (partition, processes_per_node, n_nodes) ->
#(part1, 16, 2), (part1, 16, 4)
#(part2, 32, 2), (part2, 32, 4)
wrfv4:
Expand All @@ -28,33 +28,34 @@ ramble:
variables:
n_ranks: '1'
n_nodes: '1'
spack:
concretized: true
packages:
gcc9:
spack_spec: gcc@9.3.0 target=x86_64
ompi412:
spack_spec: openmpi@4.1.2 +legacylaunchers +pmi +thread_multiple +cxx target=x86_64
compiler: gcc9
impi2018:
spack_spec: intel-mpi@2018.4.274
compiler: gcc9
openfoam:
spack_spec: openfoam-org@7
compiler: gcc9
flex:
spack_spec: flex@2.6.4
compiler: gcc9
wrfv4:
spack_spec: wrf@4.2 build_type=dm+sm compile_type=em_real nesting=basic ~chem ~pnetcdf
compiler: gcc9
environments:
openfoam:
packages:
- ompi412
- flex
- openfoam
wrfv4:
packages:
- impi2018
- wrfv4
spack:
concretized: true
packages:
gcc9:
spack_spec: gcc@9.3.0 target=x86_64
compiler_spec: gcc@9.3.0
ompi412:
spack_spec: openmpi@4.1.2 +legacylaunchers +pmi +thread_multiple +cxx target=x86_64
compiler: gcc9
impi2018:
spack_spec: intel-mpi@2018.4.274
compiler: gcc9
openfoam:
spack_spec: openfoam-org@7
compiler: gcc9
flex:
spack_spec: flex@2.6.4
compiler: gcc9
wrfv4:
spack_spec: wrf@4.2 build_type=dm+sm compile_type=em_real nesting=basic ~chem ~pnetcdf
compiler: gcc9
environments:
openfoam:
packages:
- ompi412
- flex
- openfoam
wrfv4:
packages:
- impi2018
- wrfv4
22 changes: 13 additions & 9 deletions examples/basic_gromacs_config.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
ramble:
env_vars:
set:
OMP_NUM_THREADS: '{n_threads}'
variables:
processes_per_node: 16
mpi_command: 'mpirun -n {n_ranks} -ppn {processes_per_node} -hostfile hostfile'
mpi_command: 'mpirun -n {n_ranks} -ppn {processes_per_node}'
batch_submit: '{execute_experiment}'
applications:
gromacs: # Application name
Expand All @@ -28,17 +31,18 @@ ramble:
n_threads: '1'
size: '0003'
type: 'pme'
rf_single_rank:
variables:
n_ranks: '1'
n_threads: '1'
size: '0003'
type: 'rf'
spack:
rf_single_rank:
variables:
n_ranks: '1'
n_threads: '1'
size: '0003'
type: 'rf'
spack:
concretized: true
packages:
gcc9:
spack_spec: gcc@9.3.0 target=x86_64
spack_spec: gcc@9.4.0 target=x86_64
compiler_spec: gcc@9.4.0
impi2018:
spack_spec: intel-mpi@2018.4.274 target=x86_64
compiler: gcc9
Expand Down
10 changes: 5 additions & 5 deletions examples/basic_hostname_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
# n_ranks: '{processes_per_node}'

ramble:
env-vars:
env_vars:
set:
OMP_NUM_THREADS: '{n_threads}'
variables:
Expand All @@ -43,7 +43,7 @@ ramble:
n_ranks: '2'
n_nodes: '1'
processes_per_node: '16'
spack:
concretized: true
packages: {}
environments: {}
spack:
concretized: true
packages: {}
environments: {}
Loading

0 comments on commit 2146246

Please sign in to comment.