Shahzeb Siddiqui (LBNL)�Sijie Xiang (Carnegie Mellon University)�PEARC22�July 11th, 2022
Testing your HPC System with Buildtest
Tutorial Logistics
2
Register for Training Account at NERSC
3
Connecting to NERSC system
4
Getting Help with NERSC resources
5
What will you be learning today?
6
Agenda
Topics | Time (EST) |
Logistics | 8:30am – 8:40am |
Buildtest concepts | 8:40am – 8:50am |
Buildtest Tutorial Part 1 | 8:50am – 10:00am |
Morning Break | 10:00am – 10:15am |
Writing Test in buildtest | 10:15am – 10:30am |
Buildtest Tutorial Part 2 | 10:30am – 11:30am |
Using buildtest at NERSC | 11:30am – 12:00pm |
Slides |
Tutorial |
Break |
7
What is buildtest
Installation
8
Design Goals
9
Terminology
Name | Description |
Buildspec | Is a YAML file that buildtest interprets when building and running the test. |
Global Schema | Is a JSON schema that defines top-level structure for buildspec and validates the buildspec file. All buildspecs are validated with global schema. |
Sub Schema | A test instance in buildspec file is validated with one sub-schema defined by type field. Sub-schemas are versioned schema. |
Executor | Is responsible for running the test. Executors are defined in your buildtest configuration. |
10
Preview of buildtest
11
General Pipeline
12
Buildspec Validation Process
13
Buildtest Tutorial Part 1
14
Buildspec Script Schema
Name of Test
Schema Type
Description of Test
Name of Executor
Tag Name
Script
Declaration of tests
15
What is an Executors
Name of System
Declaration of Local Executors
Declaration of ‘bash’ executor
16
Return Code Matching
17
Buildspec Compiler Schema
Source File
Compiler Schema
Start of Compiler Block
Select Compilers based on Regular Expression
Default Section for compilers organized by compiler groups
Default Section for gcc compilers
Set cflags
Set ldflags
18
Override Compiler Default
Compiler Names
19
Scheduler Support
Slurm
Cobalt
LSF
PBS
20
Buildtest Tutorial Part 2
21
How is buildtest used at NERSC
22
Scheduled Pipelines
23
24
Buildtest at NERSC Tutorial
25
Closing Remarks
26
How to get involved
27