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

Strong/weak/throughput experiments #338

Open
pearce8 opened this issue Aug 20, 2024 · 0 comments
Open

Strong/weak/throughput experiments #338

pearce8 opened this issue Aug 20, 2024 · 0 comments
Labels
experiment New or modified experiment feature New feature or request

Comments

@pearce8
Copy link
Collaborator

pearce8 commented Aug 20, 2024

We want to be able to specify strong and weak scaling experiments:

  • what stays constant,
  • what gets zipped,
  • what range of process counts to use (i.e., 2 nodes to 16 nodes),
  • scaling_factor: either double the problem size when doubling resources, or keep the problem size the same.

We also want to record the experiment name/specification to hand off to Caliper.

Example: https://github.com/LLNL/benchpark/tree/develop/experiments/kripke/cuda

        experiments:
            kripke_cuda_strong_{n_nodes}_{ngroups}_{gs}_{nquad}_{ds}_{lorder}_{nzx}_{nzy}_{nzz}_{npx}_{npy}_{npz}:
              variants:
                package_manager: spack
              variables:
                ngroups: 64
                gs: 1
                nquad: 128
                ds: 128
                lorder: 4
                nzx: '64'
                nzy: '64'
                nzz: '32'
                npx: ['2', '2', '4', '4']
                npy: ['2', '2', '2', '4']
                npz: ['1', '2', '2', '2']
            kripke_cuda_weak_{n_nodes}_{ngroups}_{gs}_{nquad}_{ds}_{lorder}_{nzx}_{nzy}_{nzz}_{npx}_{npy}_{npz}:
              variants:
                package_manager: spack
              variables:
                ngroups: 64
                gs: 1
                nquad: 128
                ds: 128
                lorder: 4
                nzx: ['64', '64', '128', '128']
                nzy: ['64', '64', '64', '128']
                nzz: ['32', '64', '64', '64']
                npx: ['2', '2', '4', '4']
                npy: ['2', '2', '2', '4']
                npz: ['1', '2', '2', '2']

The Ramble command below outputs a json file with the experiment name expanded and not expanded:

ramble -D . workspace analyze --format json    

Experiments are variables in Ramble:

application.expander._variables
._variables['experiment_template_name']
application.expander.experiment_name
@pearce8 pearce8 added feature New feature or request experiment New or modified experiment labels Aug 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
experiment New or modified experiment feature New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant