| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- .headers ON
- /*
- Select the core to be used as reference. Only last day of measurements is used.
- */
- CREATE TEMP VIEW if not exists refCore AS select *
- from Unary
- where coreid=5 AND DATE BETWEEN datetime('now','localtime','-23 hours') AND datetime('now', 'localtime');
- ;
- /*
- Select the cores to be benchmarked compared with the reference. Only last day of measurements is used.
- */
- CREATE TEMP VIEW if not exists otherCores AS select *
- from Unary
- where coreid != 5 AND DATE BETWEEN datetime('now','localtime','-23 hours') AND datetime('now', 'localtime');
- ;
- /*
- Using regression database, compute the ratio using max cycles
- and max degree regression coefficient.
- Change name of columns for result
- USING(ID,categoryid,NAME) : would have to be extended with any parameter defining the regression
- formula.
- For instamce, for FFT, if ifft is an external parameter then ifft flag should be
- here.
- Here we assume ref and others are generated with same settings and currentConfig.csv
- If not the case, the parameters which may be different (like LOOPUNROLL, OPTIMIZED...)
- should be added here so that we join the ref and other cores on common benchmark definition.
- We should not compute ratio between configuration of benchmarks which are
- not matching.
- If we want to compute ratio between CORE AND PLATFORM then the view above should
- be using CORE AND PLATFORM to filter and define the references.
- */
- select otherCores.ID as ID,
- CATEGORY.category as CATEGORY,
- otherCores.NAME as NAME,
- (1.0*refCore.MAX / otherCores.MAX) as MAXRATIO,
- (1.0*refCore.MAXREGCOEF / otherCores.MAXREGCOEF) as REGRESSIONRATIO,
- PLATFORM.platform as PLATFORM,
- CORE.core as CORE,
- COMPILERKIND.compiler as COMPILER,
- COMPILER.version as COMPILERVERSION,
- TYPE.type as TYPE,
- otherCores.DATE as DATE
- from otherCores
- INNER JOIN refCore ON refCore.ID = otherCores.ID AND refCore.categoryid = otherCores.categoryid AND refCore.NAME = otherCores.NAME
- INNER JOIN CATEGORY ON CATEGORY.categoryid = otherCores.categoryid
- INNER JOIN PLATFORM ON PLATFORM.platformid = otherCores.platformid
- INNER JOIN CORE ON CORE.coreid = otherCores.coreid
- INNER JOIN COMPILER ON COMPILER.compilerid = otherCores.compilerid
- INNER JOIN COMPILERKIND ON COMPILERKIND.compilerkindid = COMPILER.compilerkindid
- INNER JOIN TYPE ON TYPE.typeid = otherCores.typeid;
|