Skip to content

Commit 4ec3d53

Browse files
committed
Generic input and output in host
1 parent 8a1fe00 commit 4ec3d53

File tree

2 files changed

+10
-4
lines changed

2 files changed

+10
-4
lines changed

hls4ml/templates/vitis_accelerator/myproject_host.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -161,15 +161,15 @@ int main(int argc, char **argv) {
161161
// Print contents of bo0_map
162162
std::cout << "Contents of bo0_map (Input):" << std::endl;
163163
for (int i = 0; i < DATA_SIZE; ++i) {
164-
for (size_t j = 0; j < N_INPUT_1_1; j++) {
164+
for (size_t j = 0; j < myinput; j++) {
165165
std::cout << bo0_map[i][j] << " ";
166166
}
167167
}
168168
std::cout << std::endl;
169169

170170
std::cout << "Contents of bo0_out_map (Output):" << std::endl;
171171
for (int i = 0; i < DATA_SIZE; ++i) {
172-
for (size_t j = 0; j < N_LAYER_8; j++) {
172+
for (size_t j = 0; j < mylayer_out; j++) {
173173
std::cout << bo0_out_map[i][j] << " ";
174174
}
175175
}
@@ -180,7 +180,7 @@ int main(int argc, char **argv) {
180180
if (e % CHECKPOINT == 0) {
181181
std::cout << "Predictions" << std::endl;
182182
// hls-fpga-machine-learning insert predictions
183-
for (int i = 0; i < N_LAYER_8; i++) {
183+
for (int i = 0; i < mylayer_out; i++) {
184184
std::cout << pr[i] << " ";
185185
}
186186
std::cout << std::endl;
@@ -214,7 +214,7 @@ int main(int argc, char **argv) {
214214

215215
std::cout << "Contents of bo0_out_map (Output):" << std::endl;
216216
for (int i = 0; i < DATA_SIZE; ++i) {
217-
for (size_t j = 0; j < N_LAYER_8; j++) {
217+
for (size_t j = 0; j < mylayer_out; j++) {
218218
std::cout << bo0_out_map[i][j] << " ";
219219
}
220220
}

hls4ml/writer/vitis_accelerator_writer.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,8 @@ def write_host(self, model):
119119
filedir = os.path.dirname(os.path.abspath(__file__))
120120
f = open(os.path.join(filedir, '../templates/vitis_accelerator/myproject_host.cpp'))
121121
fout = open(f'{model.config.get_output_dir()}/{model.config.get_project_name()}_host.cpp', 'w')
122+
model_inputs = model.get_input_variables()
123+
model_outputs = model.get_output_variables()
122124

123125
for line in f.readlines():
124126
if 'MYPROJECT' in line:
@@ -131,6 +133,10 @@ def write_host(self, model):
131133
newline = line.replace('output_dir', format(model.config.get_output_dir()))
132134
elif 'myplatform' in line:
133135
newline = line.replace('myplatform', format(vitis_accelerator_config.get_platform()))
136+
elif 'mylayer_out' in line:
137+
newline = line.replace('mylayer_out', format(model_outputs[-1].size_cpp()))
138+
elif 'myinput' in line:
139+
newline = line.replace('myinput', format(model_inputs[-1].size_cpp()))
134140
else:
135141
newline = line
136142
fout.write(newline)

0 commit comments

Comments
 (0)