Documentation ¶
Index ¶
- Constants
- func CreateJSON() ([]byte, error)
- func GetAllApplications() []string
- func GetCATRuntimes(application string) *map[int]RuntimeT
- func GetCATRuntimesNormalized(application string) *map[int]RuntimeT
- func GetCoSchedCATRuntimes(application string, cosched string) *map[int]RuntimeT
- func GetCoSchedCATRuntimesNormalized(application string, cosched string) *map[int]RuntimeT
- func ReadFromFile(filename string) error
- func SetCommandline(cat bool, catBitChunk uint64, catDirs []string, cpus [2]string, ...)
- func StoreJSON(raw []byte) error
- func StoreToFile(filename string) error
- type CommandlineT
- type DataPerRun
- type RuntimePerAppT
- type RuntimeT
- func AddCATRuntime(application string, CATMask uint64, data []DataPerRun) RuntimeT
- func AddCoSchedCATRuntime(application string, coSchedApplication string, CATMask uint64, ...) RuntimeT
- func AddCoSchedRuntime(application string, coSchedApplication string, data []DataPerRun) RuntimeT
- func AddReferenceRuntime(application string, data []DataPerRun) RuntimeT
- func GetCoSchedRuntimes(application string, cosched string) *RuntimeT
- func GetCoSchedRuntimesNormalized(application string, cosched string) *RuntimeT
- func GetReferenceRuntime(application string) *RuntimeT
- func GetReferenceRuntimeNormalized(application string) *RuntimeT
- type StatsT
Constants ¶
const NoCATMask = 0
NoCATMask is used as a special value when CAT is not used
Variables ¶
This section is empty.
Functions ¶
func CreateJSON ¶
CreateJSON creates a JSON representation of the current state
func GetAllApplications ¶
func GetAllApplications() []string
GetAllApplications returns a string slice containing all applications that are currently stored
func GetCATRuntimes ¶
GetCATRuntimes returns all cat individual runtimes with CAT
func GetCATRuntimesNormalized ¶
GetCATRuntimesNormalized returns all cat individual runtimes with CAT normalized
func GetCoSchedCATRuntimes ¶
GetCoSchedCATRuntimes returns the runtime of application when running in parallel to cosched with CAT
func GetCoSchedCATRuntimesNormalized ¶
GetCoSchedCATRuntimes returns the runtime of application when running in parallel to cosched with CAT
func ReadFromFile ¶
ReadFromFile reads a json file stored by StoreToFile and updates the local state of the package
func SetCommandline ¶
func SetCommandline(cat bool, catBitChunk uint64, catDirs []string, cpus [2]string, commands []string, hermitcore bool, resctrlPath string, runs int, threads string, varianceDiff float64)
SetCommandline stores the command line options in the config struct
func StoreToFile ¶
StoreToFile stores the current stats as json in a file
Types ¶
type CommandlineT ¶
type CommandlineT struct { Runs int VarianceDiff float64 CPUs [2]string Threads string HermitCore bool CAT bool CATChunk uint64 CATDirs []string ResctrlPath string Commands []string }
CommandlineT is used to store all command line parameters
type DataPerRun ¶
DataPerRun is the data we store for every run
type RuntimePerAppT ¶
type RuntimePerAppT struct { // individual run ReferenceRuntimes RuntimeT // individual runtime with number of bits set in CAT mask CATRuntimes *map[int]RuntimeT // runtime coScheduling without CAT CoSchedRuntimes *map[string]RuntimeT // runtime coScheduling with CAT CoSchedCATRuntimes *map[string]map[int]RuntimeT }
RuntimePerAppT store runtime values with different combinations for one application
type RuntimeT ¶
type RuntimeT struct { Mean float64 Stddev float64 Vari float64 RuntimeSum float64 Runs int RawRuntimesByMask *map[uint64][]DataPerRun }
RuntimeT contains a set of runtimes and statistic values
func AddCATRuntime ¶
func AddCATRuntime(application string, CATMask uint64, data []DataPerRun) RuntimeT
AddCATRuntime adds the individual runtime with CAT
func AddCoSchedCATRuntime ¶
func AddCoSchedCATRuntime(application string, coSchedApplication string, CATMask uint64, data []DataPerRun) RuntimeT
AddCoSchedCATRuntime adds the co-scheduling runtime of 'application' co-scheduled with coSchedApplication with CAT
func AddCoSchedRuntime ¶
func AddCoSchedRuntime(application string, coSchedApplication string, data []DataPerRun) RuntimeT
AddCoSchedRuntime adds the co-scheduling runtime of 'application' co-scheduled with coSchedApplication without CAT
func AddReferenceRuntime ¶
func AddReferenceRuntime(application string, data []DataPerRun) RuntimeT
AddReferenceRuntime adds the individual runtime without CAT
func GetCoSchedRuntimes ¶
GetCoSchedRuntimes returns the runtime of application when running in parallel to cosched without CAT
func GetCoSchedRuntimesNormalized ¶
GetCoSchedRuntimesNormalized returns the normalized runtime of application when running in parallel to cosched without CAT
func GetReferenceRuntime ¶
GetReferenceRuntime returns the individual runtime without CAT
func GetReferenceRuntimeNormalized ¶
GetReferenceRuntimeNormalized returns the individual runtime without CAT normalized
type StatsT ¶
type StatsT struct { // Application command line as a key Runtimes map[string]*RuntimePerAppT // Command line options passed to coBench Commandline CommandlineT }
StatsT contains every information of a benchmark run