Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove dependence on build3.sh #138

Closed
SeanBryan51 opened this issue Sep 14, 2023 · 0 comments · Fixed by #139
Closed

Remove dependence on build3.sh #138

SeanBryan51 opened this issue Sep 14, 2023 · 0 comments · Fixed by #139
Assignees

Comments

@SeanBryan51
Copy link
Collaborator

Currently benchcab uses the offline/build3.sh script to build the CABLE executable. The build3.sh is a wrapper around Makefile, parallel_cable and serial_cable scripts. Using build3.sh is convenient for CABLE developers, however it has its draw backs when building executables for benchcab, these include:

  • hard coded environment modules - we currently have to manually remove all hard coded dependencies from the build script so that we use the correct modules specified in config.yaml
  • serial build and MPI build - we currently cannot build both the MPI executable and serial executable and have both builds cached, i.e. we have to rebuild every time regardless if the source code has been modified
  • building serial and MPI in parallel - we currently cannot build both the MPI and serial executables in parallel
  • adding compiler flags - working with build3.sh makes it difficult to build with different compiler flags, we will need this for enabling code coverage with the intel compiler as well as testing different compiler flags in the future

We should remove the dependence on build3.sh and instead invoke the Makefile, parallel_cable and serial_cable scripts directly.

@SeanBryan51 SeanBryan51 self-assigned this Sep 14, 2023
SeanBryan51 added a commit that referenced this issue Sep 15, 2023
Currently benchcab uses the `offline/build3.sh` script to build the
CABLE executable. The `build3.sh` is a wrapper around `Makefile`,
`parallel_cable` and `serial_cable` scripts. Using `build3.sh` is
convenient for CABLE developers, however it has its draw backs when
building executables for benchcab, these are outlined in #138.

This change removes the dependence on `build3.sh` from the build and
instead invokes the `Makefile`, `parallel_cable` and `serial_cable`
scripts directly.

Fixes #138
@SeanBryan51 SeanBryan51 linked a pull request Sep 15, 2023 that will close this issue
SeanBryan51 added a commit that referenced this issue Sep 15, 2023
Currently benchcab uses the `offline/build3.sh` script to build the
CABLE executable. The `build3.sh` is a wrapper around `Makefile`,
`parallel_cable` and `serial_cable` scripts. Using `build3.sh` is
convenient for CABLE developers, however it has its draw backs when
building executables for benchcab, these are outlined in #138.

This change removes the dependence on `build3.sh` from the build and
instead invokes the `Makefile`, `parallel_cable` and `serial_cable`
scripts directly.

Fixes #138
SeanBryan51 added a commit that referenced this issue Sep 15, 2023
Currently benchcab uses the `offline/build3.sh` script to build the
CABLE executable. The `build3.sh` is a wrapper around `Makefile`,
`parallel_cable` and `serial_cable` scripts. Using `build3.sh` is
convenient for CABLE developers, however it has its draw backs when
building executables for benchcab, these are outlined in #138.

This change removes the dependence on `build3.sh` from the build and
instead invokes the `Makefile`, `parallel_cable` and `serial_cable`
scripts directly.

Fixes #138
SeanBryan51 added a commit that referenced this issue Sep 15, 2023
Currently benchcab uses the `offline/build3.sh` script to build the
CABLE executable. The `build3.sh` is a wrapper around `Makefile`,
`parallel_cable` and `serial_cable` scripts. Using `build3.sh` is
convenient for CABLE developers, however it has its draw backs when
building executables for benchcab, these are outlined in #138.

This change removes the dependence on `build3.sh` from the build and
instead invokes the `Makefile`, `parallel_cable` and `serial_cable`
scripts directly.

Fixes #138
SeanBryan51 added a commit that referenced this issue Sep 15, 2023
Currently benchcab uses the `offline/build3.sh` script to build the
CABLE executable. The `build3.sh` is a wrapper around `Makefile`,
`parallel_cable` and `serial_cable` scripts. Using `build3.sh` is
convenient for CABLE developers, however it has its draw backs when
building executables for benchcab, these are outlined in #138.

This change removes the dependence on `build3.sh` from the build and
instead invokes the `Makefile`, `parallel_cable` and `serial_cable`
scripts directly.

Fixes #138
SeanBryan51 added a commit that referenced this issue Sep 15, 2023
Currently benchcab uses the `offline/build3.sh` script to build the
CABLE executable. The `build3.sh` is a wrapper around `Makefile`,
`parallel_cable` and `serial_cable` scripts. Using `build3.sh` is
convenient for CABLE developers, however it has its draw backs when
building executables for benchcab, these are outlined in #138.

This change removes the dependence on `build3.sh` from the build and
instead invokes the `Makefile`, `parallel_cable` and `serial_cable`
scripts directly.

Fixes #138
SeanBryan51 added a commit that referenced this issue Sep 15, 2023
Currently benchcab uses the `offline/build3.sh` script to build the
CABLE executable. The `build3.sh` is a wrapper around `Makefile`,
`parallel_cable` and `serial_cable` scripts. Using `build3.sh` is
convenient for CABLE developers, however it has its draw backs when
building executables for benchcab, these are outlined in #138.

This change removes the dependence on `build3.sh` from the build and
instead invokes the `Makefile`, `parallel_cable` and `serial_cable`
scripts directly.

Fixes #138
SeanBryan51 added a commit that referenced this issue Sep 15, 2023
Currently benchcab uses the `offline/build3.sh` script to build the
CABLE executable. The `build3.sh` is a wrapper around `Makefile`,
`parallel_cable` and `serial_cable` scripts. Using `build3.sh` is
convenient for CABLE developers, however it has its draw backs when
building executables for benchcab, these are outlined in #138.

This change removes the dependence on `build3.sh` from the build and
instead invokes the `Makefile`, `parallel_cable` and `serial_cable`
scripts directly.

Fixes #138
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant