CMSIS-DSP: Added config table to test framework.

pull/19/head
Christophe Favergeon 6 years ago
parent d5bf828234
commit 7cab51e3a4

@ -131,9 +131,10 @@ def findInCompilerTable(conn,kind,version):
if result != None:
return(result[0])
else:
conn.execute("INSERT INTO COMPILER(compilerkindid,version) VALUES(?,?)" ,(kind,version))
fullDate = datetime.datetime.now()
conn.execute("INSERT INTO COMPILER(compilerkindid,version,date) VALUES(?,?,?)" ,(kind,version,fullDate))
conn.commit()
r = conn.execute("select compilerid from COMPILER where compilerkindid=? AND version=?" , (kind,version))
r = conn.execute("select compilerid from COMPILER where compilerkindid=? AND version=? AND date=?" , (kind,version,fullDate))
result=r.fetchone()
if result != None:
#print(result)
@ -145,6 +146,9 @@ def findInCompilerTable(conn,kind,version):
def addRows(conn,elem,tableName,full):
# List of columns we have in DB which is
# different from the columns in the table
compilerid = 0
platformid = 0
coreid = 0
keep = getColumns(elem,full)
cols = list(full.columns)
params = list(elem.params.full)
@ -216,9 +220,11 @@ def addRows(conn,elem,tableName,full):
if field == "CORE":
val = findInTable(conn,"CORE","coredef",row[field],"coreid")
keys[field]=val
coreid = val
if field == "PLATFORM":
val = findInTable(conn,"PLATFORM","platform",row[field],"platformid")
keys[field]=val
platformid = val
if field == "TYPE":
val = findInTable(conn,"TYPE","type",keys["TYPE"],"typeid")
keys[field]=val
@ -226,6 +232,7 @@ def addRows(conn,elem,tableName,full):
compilerkind = findInTable(conn,"COMPILERKIND","compiler",row[field],"compilerkindid")
compiler = findInCompilerTable(conn,compilerkind,keys["VERSION"])
keys[field]=compiler
compilerid = compiler
# Generate sql command
start = ""
@ -244,18 +251,25 @@ def addRows(conn,elem,tableName,full):
#print(sql)
conn.execute(sql)
conn.commit()
return({'compilerid':compilerid,'platformid':platformid,'coreid':coreid})
def addConfig(conn,config,fullDate):
conn.execute("INSERT INTO CONFIG(compilerid,platformid,coreid,date) VALUES(?,?,?,?)" ,(config['compilerid'],config['platformid'],config['coreid'],fullDate))
conn.commit()
def addOneBenchmark(elem,fullPath,db,group):
if os.path.isfile(fullPath):
full=pd.read_csv(fullPath,dtype={'OLDID': str} ,keep_default_na = False)
full['DATE'] = datetime.datetime.now()
fullDate = datetime.datetime.now()
full['DATE'] = fullDate
if group:
tableName = group
else:
tableName = elem.data["class"]
conn = sqlite3.connect(db)
createTableIfMissing(conn,elem,tableName,full)
addRows(conn,elem,tableName,full)
#createTableIfMissing(conn,elem,tableName,full)
config = addRows(conn,elem,tableName,full)
addConfig(conn,config,fullDate)
conn.close()

@ -137,9 +137,10 @@ def findInCompilerTable(conn,kind,version):
if result != None:
return(result[0])
else:
conn.execute("INSERT INTO COMPILER(compilerkindid,version) VALUES(?,?)" ,(kind,version))
fullDate = datetime.datetime.now()
conn.execute("INSERT INTO COMPILER(compilerkindid,version,date) VALUES(?,?,?)" ,(kind,version,fullDate))
conn.commit()
r = conn.execute("select compilerid from COMPILER where compilerkindid=? AND version=?" , (kind,version))
r = conn.execute("select compilerid from COMPILER where compilerkindid=? AND version=? AND date=?" , (kind,version,fullDate))
result=r.fetchone()
if result != None:
#print(result)
@ -151,6 +152,9 @@ def findInCompilerTable(conn,kind,version):
def addRows(conn,elem,tableName,full):
# List of columns we have in DB which is
# different from the columns in the table
compilerid = 0
platformid = 0
coreid = 0
keep = getColumns(elem,full)
cols = list(full.columns)
params=diff(elem.params.full , elem.params.summary)
@ -224,9 +228,11 @@ def addRows(conn,elem,tableName,full):
if field == "CORE":
val = findInTable(conn,"CORE","coredef",row[field],"coreid")
keys[field]=val
coreid = val
if field == "PLATFORM":
val = findInTable(conn,"PLATFORM","platform",row[field],"platformid")
keys[field]=val
platformid = val
if field == "TYPE":
val = findInTable(conn,"TYPE","type",keys["TYPE"],"typeid")
keys[field]=val
@ -234,6 +240,7 @@ def addRows(conn,elem,tableName,full):
compilerkind = findInTable(conn,"COMPILERKIND","compiler",row[field],"compilerkindid")
compiler = findInCompilerTable(conn,compilerkind,keys["VERSION"])
keys[field]=compiler
compilerid = compiler
# Generate sql command
start = ""
@ -255,18 +262,25 @@ def addRows(conn,elem,tableName,full):
#print(sql)
conn.execute(sql)
conn.commit()
return({'compilerid':compilerid,'platformid':platformid,'coreid':coreid})
def addConfig(conn,config,fullDate):
conn.execute("INSERT INTO CONFIG(compilerid,platformid,coreid,date) VALUES(?,?,?,?)" ,(config['compilerid'],config['platformid'],config['coreid'],fullDate))
conn.commit()
def addOneBenchmark(elem,fullPath,db,group):
if os.path.isfile(fullPath):
full=pd.read_csv(fullPath,dtype={'OLDID': str} ,keep_default_na = False)
full['DATE'] = datetime.datetime.now()
fullDate = datetime.datetime.now()
full['DATE'] = fullDate
if group:
tableName = group
else:
tableName = elem.data["class"]
conn = sqlite3.connect(db)
createTableIfMissing(conn,elem,tableName,full)
addRows(conn,elem,tableName,full)
config = addRows(conn,elem,tableName,full)
addConfig(conn,config,fullDate)
conn.close()

@ -21,10 +21,13 @@ CREATE TABLE COMPILER (
compilerid INTEGER PRIMARY KEY,
compilerkindid INTEGER ,
version text,
date text,
FOREIGN KEY(compilerkindid) REFERENCES COMPILERKIND(compilerkindid)
);
CREATE INDEX compiler_index ON COMPILER(compilerkindid,version);
CREATE INDEX compiler_date_index ON COMPILER(date);
CREATE INDEX compiler_all_index ON COMPILER(compilerkindid,version,date);
CREATE TABLE TYPE (
typeid INTEGER PRIMARY KEY,
@ -38,6 +41,17 @@ CREATE TABLE CATEGORY (
CREATE INDEX category_index ON CATEGORY(category);
CREATE TABLE CONFIG (
configid INTEGER PRIMARY KEY,
compilerid INTEGER,
platformid INTEGER,
coreid INTEGER,
date text,
FOREIGN KEY(compilerid) REFERENCES COMPILER(compilerid),
FOREIGN KEY(platformid) REFERENCES PLATFORM(platformid),
FOREIGN KEY(coreid) REFERENCES CORE(coreid)
);
INSERT INTO TYPE VALUES(1, "q7");
INSERT INTO TYPE VALUES(2, "q15");
INSERT INTO TYPE VALUES(3, "q31");
@ -56,7 +70,6 @@ INSERT INTO TYPE VALUES(14,"u64");
INSERT INTO COMPILERKIND VALUES(1,"AC6");
INSERT INTO COMPILERKIND VALUES(2,"GCC");
INSERT INTO COMPILER VALUES(1,1,"6120001");
INSERT INTO CORE VALUES(1,"m0","ARMCM0");
INSERT INTO CORE VALUES(2,"m0p","ARMCM0P");

Loading…
Cancel
Save