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

rename Json Files #315

Open
wants to merge 12 commits into
base: main
Choose a base branch
from
Open

rename Json Files #315

wants to merge 12 commits into from

Conversation

codeamic
Copy link

Renamed the following files
run_config.json -> sequential.json
multicore_parallel_run_config.json -> parallel_turing.json
multicore_parallel_navajo_run_config.json -> parallel_navajo.json
micro_multicore.json -> micro.json

Copy link
Contributor

@Sudha247 Sudha247 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @codeamic! Thanks for the PR.

The renaming looks correct to me. But there are some more changes apart from the four file renames mentioned, could you look into why they show up please?

You will also need to propagate the renaming to other places it is used at. Let's take run_config.json for example; doing git grep run_config.json shows this:

Makefile:RUN_CONFIG_JSON ?= run_config.json
README.md:benchmarks as defined in the `run_config.json`
README.md:   `run_config.json`. This config file is used to generate dune files
README.md:   `run_config.json` and specified via the `RUN_BENCH_TARGET` variable
README.md:and the default value is `run_config.json`. This file lists the executable to
README.md:The `run_config.json` file may be filtered based on the tag. For example,
README.md:filters the `run_config.json` file to only contain the benchmarks tagged as
README.md:    `run_config.json` for sequential benchmarks and
README.md:    `multicore_parallel_run_config.json` for parallel benchmarks.
README.md: - **run_config.json** : Runs sequential benchmarks with stock OCaml variants in CI and sandmark-nightly on the IITM machine(turing)
README.md: - **multicore_parallel_run_config.json** : Runs parallel benchmarks with multicore OCaml in CI and sandmark-nightly on the IITM machine(turing)
README.md: - **multicore_parallel_navajo_run_config.json** : Runs parallel benchmarks with multicore OCaml in sandmark-nightly on Navajo (AMD EPYC 7551 32-Core Processor) machine
README.md:| RUN_CONFIG_JSON | Input file selection that contains the list of benchmarks | `run_config.json` | executing benchmark |

All these instances of run_config.json need to be renamed to sequential.json. Similarly for the other three files.

@codeamic
Copy link
Author

Hi Sudha, i just did the changes, thank you for the support,
some other files are showing i edited them which i didn't.

Copy link
Author

@codeamic codeamic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi Sudha, I just reviewed the files i made changes one, waiting for it to be merged

Copy link
Contributor

@Sudha247 Sudha247 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is great, the spurious diff has disappeared now. Just some minor bits before we merge.

README.md Outdated
@@ -177,13 +177,13 @@ current tags are:
The benchmarking machine `turing` is an Intel Xeon Gold 5120 CPU with 64GB of
RAM housed at IITM.

The `run_config.json` file may be filtered based on the tag. For example,
The `sequential.json` file may be filtered based on the tag. For example,

```bash
$ TAG='"macro_bench"' make run_config_filtered.json
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
$ TAG='"macro_bench"' make run_config_filtered.json
$ TAG='"macro_bench"' make sequential_filtered.json

The filtered files should also be changed to their new names. Leave the filtered as such and edit the name. This needs to be updated in the run_all* scripts too.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi Sudha, thank you for the support, i just did the new changes but couldn't find the run_config_filtered.json file itself.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work! You're right, run_config_filtered.json is created only after we run TAG='"macro_bench"' make run_config_filtered.json, so no need to modify that file.

Are you able to repeat this process for the other three files, like for example run_all_parallel.sh has multicore_parallel_run_config_filtered.json. git grep command should help here too. :)

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah i did git grep run_config.json, you could see the changes in all the files. i made sure i changed that in all files. could you please check?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry if it was unclear; what I meant is the same process of replacing *_filtered.json with the new file name needs to be done for multicore_parallel_run_config_filtered.json, i.e it will be called parallel_turing_filtered.json and multicore_parallel_navajo_run_config_filtered.json will be parallel_navajo_filtered.json.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi Sudha, no worries i just made the changes
could you please review?
Also, there is this file multicore_parallel_run_config_filtered_filtered_2domains, does it need renaming?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, there is this file multicore_parallel_run_config_filtered_filtered_2domains, does it need renaming?

Good point. Yes, we can call it parallel_turing_filtered_filtered_2domains.json. You can see how it's generated here: https://github.com/ocaml-bench/sandmark/blob/main/Makefile#L347-L348. This should make the CI happy I think. You might also want to edit the drone.yml file with the latest names.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi Sudha, thank you so much for your endless support, i just did the changes and modified the drone.yml file too. please review for merge or correction of errors, thank you.

@codeamic
Copy link
Author

codeamic commented Apr 3, 2022 via email

Copy link
Contributor

@Sudha247 Sudha247 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some final bits in the CI before we can merge. The CI should ideally turn green after the changes.

.drone.yml Outdated
@@ -46,8 +46,8 @@ steps:
- export OPAM_DISABLE_SANDBOXING=true
- TAG='"run_in_ci"' make multicore_parallel_run_config_filtered.json
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- TAG='"run_in_ci"' make multicore_parallel_run_config_filtered.json
- TAG='"run_in_ci"' make parallel_turing_filtered.json

.drone.yml Outdated
@@ -46,8 +46,8 @@ steps:
- export OPAM_DISABLE_SANDBOXING=true
- TAG='"run_in_ci"' make multicore_parallel_run_config_filtered.json
- TAG='"macro_bench"' make multicore_parallel_run_config_filtered_filtered.json
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- TAG='"macro_bench"' make multicore_parallel_run_config_filtered_filtered.json
- TAG='"macro_bench"' make parallel_turing_filtered_filtered.json

.drone.yml Outdated
Comment on lines 101 to 102
- TAG='"run_in_ci"' make multicore_parallel_run_config_filtered.json
- TAG='"macro_bench"' make multicore_parallel_run_config_filtered_filtered.json
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as above.

.drone.yml Outdated Show resolved Hide resolved
@codeamic
Copy link
Author

codeamic commented Apr 4, 2022

Hi Sudha, i commited the changes already .

@shakthimaan
Copy link
Contributor

run_config.json -> sequential.json

If the filename is changed to sequential.json, the invocation should use sequential_filtered.json. For example:

$ make clean 
$ TAG='"run_in_ci"' make sequential_filtered.json 
$ USE_SYS_DUNE_HACK=1 RUN_CONFIG_JSON=sequential_filtered.json make ocaml-versions/5.0.0+trunk.bench

multicore_parallel_run_config.json -> parallel_turing.json

Similarly,

$ make clean
$ TAG='"macro_bench"' make parallel_turing_filtered.json 
$ USE_SYS_DUNE_HACK=1 SANDMARK_CUSTOM_NAME=5.0.0 \
    RUN_BENCH_TARGET=run_orunchrt BUILD_BENCH_TARGET=multibench_parallel \
    RUN_CONFIG_JSON=parallel_turing_filtered.json \
    make ocaml-versions/5.0.0+trunk.bench

@codeamic
Copy link
Author

codeamic commented Apr 5, 2022

Hi @shakthimaan , please I don't understand you. do you wand me to add the invocation in the README.md file?

@shakthimaan
Copy link
Contributor

do you wand me to add the invocation in the README.md file?

No. You need to update the .drone.yml with the above mentioned changes so that the CI will build fine. For example, the following entry needs to be changed:

- TAG='"run_in_ci"' make run_config_filtered.json

@codeamic
Copy link
Author

codeamic commented Apr 5, 2022

Ok, i will do that immediately

@codeamic
Copy link
Author

codeamic commented Apr 5, 2022

Hi @shakthimaan , i did the changes already, ould you please review

@shakthimaan
Copy link
Contributor

The parallel run is failing, and that needs to be fixed.

  • TAG='"run_in_ci"' make parallel_turing_filtered.json
    jq '{wrappers : .wrappers, benchmarks: [.benchmarks | .[] | select(.tags | index("run_in_ci") != null)]}' < parallel_turing.json > parallel_turing_filtered.json

The above is fine, and it produces a parallel_turing_filtered.json file.

  • TAG='"macro_bench"' make parallel_turing_filtered.json
    make: 'parallel_turing_filtered.json' is up to date.

This should be updated to:

TAG='"macro_bench"' make parallel_turing_filtered_filtered.json

@codeamic
Copy link
Author

codeamic commented Apr 7, 2022

Ok

@codeamic
Copy link
Author

codeamic commented Apr 7, 2022

Hi @shakthimaan, i made the changes, could you please check .

@shakthimaan
Copy link
Contributor

The change is required for 5.0.0+trunk+parallel, and not for 5.0.0+stable+parallel. Please see the build log at https://cloud.drone.io/ocaml-bench/sandmark/1154/4/2.

@codeamic
Copy link
Author

codeamic commented Apr 8, 2022

Ohh, sorry about that, i just maade the changes. But facing little problem to push

@shakthimaan
Copy link
Contributor

You need to revert the changes for 5.0.0+stable+parallel as in the successful build at line #361:
https://cloud.drone.io/ocaml-bench/sandmark/1083/2/2

The 5.0.0.+trunk+parallel entry still needs to be updated as mentioned in #315 (comment).

@codeamic
Copy link
Author

codeamic commented Apr 8, 2022

All done, could you please check if it is ok now?

Copy link
Contributor

@Sudha247 Sudha247 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The CI changes look fine, just a couple more updates should make it green.

.drone.yml Outdated Show resolved Hide resolved
.drone.yml Outdated Show resolved Hide resolved
@codeamic
Copy link
Author

ok

Copy link
Contributor

@Sudha247 Sudha247 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Are you able to rebase your branch to latest main, so we can merge it please? Please also note that there could be conflicts with #316 depending on which on is merged first.

@codeamic
Copy link
Author

Hi @Sudha247
I just compared my branch with the main branch to make sure there were no conflicts.

@Sudha247
Copy link
Contributor

The GitHub interface tells me these files have merge-conflicts:

multicore_parallel_navajo_run_config.json
multicore_parallel_run_config.json
run_config.json

git pull <upstream> main should fetch the latest changes from the main branch to your branch, after which the merge conflicts will be highlighted. There have been more entries added to the above mentioned files in #322, and the renamed files now need to include those too.

@codeamic
Copy link
Author

this command does not work git pull main. and i don't have files with those names in my branch. i tried git pull from the main branch, moved to my branch and did git merge main and everything works well

@codeamic
Copy link
Author

Please how do i resolve this issue?

@Sudha247
Copy link
Contributor

The merge conflicts are still present unfortunately. Can you try to do git fetch --all before pulling it.

git remote add upstream https://github.com/ocaml-bench/sandmark.git
git fetch --all
git pull upstream main

This should fetch the latest main branch to your local branch.

…enameJsonFile

"rename of json files and updated this rename in all files that it is been referenced in"
@codeamic
Copy link
Author

Hi Sudha, thank you for the help. I think it is all good for merging now.

@shakthimaan
Copy link
Contributor

Sandmark has been updated to build for 5.1.0+trunk. @ElectreAAS Please review the conflicting files and update the same for the CI.

@ElectreAAS
Copy link
Contributor

ElectreAAS commented Jun 27, 2022

Sandmark has been updated to build for 5.1.0+trunk. @ElectreAAS Please review the conflicting files and update the same for the CI.

The only conflict is the .drone.yml file which was removed from main in #354.

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 this pull request may close these issues.

4 participants