#pragma once #include "mlir/Dialect/Func/IR/FuncOps.h" #include "llvm/ADT/DenseMap.h" #include "llvm/ADT/SmallVector.h" #include "llvm/ADT/StringRef.h" #include #include #include "src/Accelerators/PIM/Common/IR/WeightUtils.hpp" namespace onnx_mlir { struct WeightFileRequest { size_t coreId = 0; llvm::SmallVector weights; }; struct WeightEmissionResult { llvm::DenseMap> mapCoreWeightToFileName; uint64_t totalWeightBytes = 0; }; WeightEmissionResult createAndPopulateWeightFolder(llvm::ArrayRef requests, llvm::StringRef outputDirPath); } // namespace onnx_mlir