Skip to content

Commit abd46ca

Browse files
Allowing flexibility with platforms
1 parent 8409d0c commit abd46ca

File tree

4 files changed

+19
-6
lines changed

4 files changed

+19
-6
lines changed

hls4ml/backends/vitis_accelerator/supported_boards.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,25 +2,25 @@
22
"alveo-u55c": {
33
"board_type": "alveo",
44
"part": "xcu55c-fsvh2892-2L-e",
5-
"platform": "xilinx_u55c_gen3x16_xdma_3_202210_1",
5+
"platform": ["xilinx_u55c_gen3x16_xdma_3_202210_1"],
66
"memory": {"type": "hbm", "channels": 32, "capacity": 16}
77
},
88
"alveo-u50": {
99
"board_type": "alveo",
1010
"part": "xcu50-fsvh2104-2-e",
11-
"platform": "xilinx_u50_gen3x16_xdma_5_202210_1",
11+
"platform": ["xilinx_u50_gen3x16_xdma_5_202210_1"],
1212
"memory": {"type": "hbm", "channels": 32, "capacity": 8}
1313
},
1414
"alveo-u250": {
1515
"board_type": "alveo",
1616
"part": "xcu250-figd2104-2L-e",
17-
"platform": "xilinx_u250_xdma_201830_2",
17+
"platform": ["xilinx_u250_xdma_201830_2"],
1818
"memory": {"type": "ddr", "channels": 4, "capacity": 64}
1919
},
2020
"vck5000": {
2121
"board_type": "versal",
2222
"part": "xcvc1902-vsvd1760-2MP-e-S",
23-
"platform": "xilinx_vck5000_gen4x8_qdma_2_202220_1",
23+
"platform": ["xilinx_vck5000_gen4x8_qdma_2_202220_1"],
2424
"memory":{"type": "ddr", "channels": 3, "capacity": 12}
2525
}
2626
}

hls4ml/backends/vitis_accelerator/vitis_accelerator_backend.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ def __init__(self):
1717
def create_initial_config(
1818
self,
1919
board="alveo-u55c",
20+
platform=None,
2021
part=None,
2122
clock_period=5,
2223
clock_uncertainty='27%',
@@ -46,6 +47,7 @@ def create_initial_config(
4647
config = super().create_initial_config(part, clock_period, clock_uncertainty, io_type)
4748
config["AcceleratorConfig"] = {}
4849
config["AcceleratorConfig"]["Board"] = board
50+
config["AcceleratorConfig"]["Platform"] = platform
4951
config["AcceleratorConfig"]["Num_Kernel"] = num_kernel
5052
config["AcceleratorConfig"]["Num_Worker"] = num_worker
5153
config["AcceleratorConfig"]["Batchsize"] = batchsize

hls4ml/backends/vitis_accelerator/vitis_accelerator_config.py

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,18 @@ def __init__(self, config):
1515
board_info = self.supported_boards[self.board]
1616
self.board_type = board_info["board_type"]
1717
self.part = board_info["part"]
18-
self.platform = board_info["platform"]
18+
if accel_config.get("Platform") is not None:
19+
if accel_config.get("Platform") in board_info["platform"]:
20+
self.platform = accel_config.get("Platform")
21+
else:
22+
print(
23+
"WARNING: You set an unrecognized Platform."
24+
"Using " + board_info["platform"][0] + " platform instead"
25+
)
26+
self.platform = board_info["platform"][0]
27+
else:
28+
print("Using " + board_info["platform"][0] + " platform")
29+
self.platform = board_info["platform"][0]
1930
self.memory_type = board_info["memory"]["type"]
2031
self.memory_channel_count = board_info["memory"]["channels"]
2132
else:

hls4ml/writer/vitis_accelerator_writer.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -275,7 +275,7 @@ def write_accelerator_card_cfg(self, model):
275275
elif memory_type == "ddr":
276276
for i in range(0, num_kernels):
277277
newline += f"sp=kernel_wrapper_{i + 1}.in:DDR[{i}]\n"
278-
newline += f"sp=kernel_wrapper_{i + 1}.out:HBM[{i}]\n"
278+
newline += f"sp=kernel_wrapper_{i + 1}.out:DDR[{i}]\n"
279279
newline += "\n"
280280
for i in range(0, num_kernels):
281281
newline += f"slr=kernel_wrapper_{i + 1}:SLR{i}\n"

0 commit comments

Comments
 (0)