keep pimsim-nn happy
All checks were successful
Validate Operations / validate-operations (push) Successful in 16m54s
All checks were successful
Validate Operations / validate-operations (push) Successful in 16m54s
This commit is contained in:
@@ -18,7 +18,7 @@ pub fn json_to_executor<'a>(
|
|||||||
mut cores: impl Iterator<Item = &'a Value>,
|
mut cores: impl Iterator<Item = &'a Value>,
|
||||||
) -> Executable {
|
) -> Executable {
|
||||||
let cell_precision = config.get("cell_precision").unwrap().as_i64().unwrap() as i32;
|
let cell_precision = config.get("cell_precision").unwrap().as_i64().unwrap() as i32;
|
||||||
let core_cnt = config.get("core_cnt").unwrap().as_i64().unwrap() as i32;
|
let core_cnt = config.get("core_cnt").unwrap().as_i64().unwrap() as i32 - 1;
|
||||||
let xbar_count = config.get("xbar_array_count").unwrap().as_i64().unwrap() as i32;
|
let xbar_count = config.get("xbar_array_count").unwrap().as_i64().unwrap() as i32;
|
||||||
let xbar_size = config.get("xbar_size").unwrap().as_array().unwrap();
|
let xbar_size = config.get("xbar_size").unwrap().as_array().unwrap();
|
||||||
let rows_crossbar = xbar_size[0].as_i64().unwrap() as i32;
|
let rows_crossbar = xbar_size[0].as_i64().unwrap() as i32;
|
||||||
|
|||||||
@@ -651,7 +651,9 @@ static OnnxMlirCompilerErrorCodes writeConfigJson(func::FuncOp funcOp,
|
|||||||
json::Object xbarsPerArrayGroup,
|
json::Object xbarsPerArrayGroup,
|
||||||
StringRef outputDirPath) {
|
StringRef outputDirPath) {
|
||||||
json::Object configJson;
|
json::Object configJson;
|
||||||
configJson["core_cnt"] = coreCount;
|
|
||||||
|
// +1 because pimsim-nn also considers the host as a core
|
||||||
|
configJson["core_cnt"] = coreCount + 1;
|
||||||
|
|
||||||
// TODO: Should this be based on the floating point type used in the model?
|
// TODO: Should this be based on the floating point type used in the model?
|
||||||
// The 2 following values determine the bitwidth of the vectors' elements: bitwidth = adc_count * cell_precision
|
// The 2 following values determine the bitwidth of the vectors' elements: bitwidth = adc_count * cell_precision
|
||||||
@@ -718,7 +720,8 @@ OnnxMlirCompilerErrorCodes onnx_mlir::compileToPimJson(ModuleOp& moduleOp, std::
|
|||||||
errs() << "Error while opening host core file `" << outputHostCorePath << "`: " << errorCode.message() << '\n';
|
errs() << "Error while opening host core file `" << outputHostCorePath << "`: " << errorCode.message() << '\n';
|
||||||
return InvalidOutputFileAccess;
|
return InvalidOutputFileAccess;
|
||||||
}
|
}
|
||||||
hostFileStream << "[]";
|
// The host core json contains 2 random instructions, just to make pimsim-nn happy
|
||||||
|
hostFileStream << "[{\"imm\":0,\"op\":\"sldi\",\"rd\":0},{\"imm\":0,\"op\":\"sldi\",\"rd\":0}]";
|
||||||
hostFileStream.close();
|
hostFileStream.close();
|
||||||
|
|
||||||
// For each core, specify the number of crossbar per array group.
|
// For each core, specify the number of crossbar per array group.
|
||||||
|
|||||||
Reference in New Issue
Block a user