Skip to content

Instantly share code, notes, and snippets.

@tkphd
Last active January 5, 2017 00:42
Show Gist options
  • Save tkphd/29e7c07825e818ad62de337d395cf5df to your computer and use it in GitHub Desktop.
Save tkphd/29e7c07825e818ad62de337d395cf5df to your computer and use it in GitHub Desktop.
MMSP spinodal decomposition benchmark, periodic domain
---
metadata:
# Describe the runtime environment
summary: MPI parallel workstation benchmark with MMSP, periodic domain
author: Trevor Keller
email: trevor.keller@nist.gov
date: Wed, 04 Jan 2017 19:30:31 -0500
hardware:
# Required hardware details
architecture: x86_64
cores: 6
# Optional hardware details
details:
- name: clock
value: 3600.078
units: MHz
software:
name: Mesoscale Microstructure Simulation Project (MMSP)
url: https://github.com/mesoscale/mmsp
version: 4
repo:
url: https://github.com/mesoscale/mmsp/tree/develop
version: 8f29eb47146b9fbbdcd17b08d12e06fceb3ed728
branch: develop
implementation:
end_condition: time limit
repo:
url: https://github.com/mesoscale/MMSP-spinodal-decomposition-benchmark/tree/master/periodic/
version: 1de1abe6dc9a7d7251ec44e6ee18db907f84543e
branch: master
details:
- name: mesh
value: uniform rectilinear
- name: numerical_method
value: explicit finite difference
- name: compiler
value: GNU mpic++
- name: parallel_model
value: MPI
benchmark:
# Specify the problem
model: spinodal decomposition
boundary_condition: periodic
id: 1a
domain:
- name: geometry
value: square
- name: origin
value: [0, 0]
- name: size
value: [200, 200]
- name: resolution
value: [1, 1]
data:
# Gather simulation output
- name: timestep
value: 0.00195312
- name: free energy
# JSON list of {time, energy} pairs
value: [{"x":0, "y":319.094}, {"x":1.95312, "y":318.909}]
- name: run time
value: 65.48
unit: seconds
- name: memory usage
value: 27280
unit: KB
@tkphd
Copy link
Author

tkphd commented Dec 23, 2016

I put the origin and size in a list of domain details, which should be considered optional. If a pedant wants to include it, there's no harm, right? Same for a lot of the other details, such as clock speed, compiler, numerical method... Only important to someone who's curious enough about particulars to open one of these files.

@tkphd
Copy link
Author

tkphd commented Jan 5, 2017

I'm trying to use the vega data format for free energies. It passes the YAML lint test, but I'm still not 100% sure this is proper syntax. I have a sneaking suspicion that the entire data section belongs in a JSON block, but we can iterate on that.

The pieces are now in a different order since I have the governor script writing metadata, initialization code writing the benchmark, and the timestepper writing the data section. I believe this is irrelevant to the YAML parser, and it makes automatic generation of meta.yml easy (on GNU/Linux systems).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment