Closed Pythagoras21 closed 3 years ago
/home/gegerin/Vivado_HLS/Vivado/2019.2/bin/rdiArgs.sh: line 280: 2555 Killed "$RDI_PROG" "$@"
This error usually means Vivado HLS has used all of the available memory and died. The memory requirement depends on the model size, but something in the 16 GB - 64 GB range is usually advised.
You could also try switching to Strategy: Resource
, which may have a smaller memory requirement.
Can you please help walk me through it. I am lost rn. I would appreciate it
Your config looks like this:
{'OutputDir': 'my-hls-test',
'ProjectName': 'myproject', '
XilinxPart': 'xcku115-flvb2104-2-i',
'ClockPeriod': 5,
'Backend': 'Vivado',
'IOType': 'io_parallel',
'HLSConfig': {'Model': {'Precision': 'ap_fixed<16,6>', 'ReuseFactor': '1'}},
'KerasJson': 'KERAS_3layer.json',
'KerasH5': 'KERAS_3layer_weights.h5'}
I'd suggest updating it to:
{'OutputDir': 'my-hls-test',
'ProjectName': 'myproject',
'XilinxPart': 'xcku115-flvb2104-2-i',
'ClockPeriod': 5,
'Backend': 'Vivado',
'IOType': 'io_parallel',
'HLSConfig': {'Model': {'Precision': 'ap_fixed<16,6>', 'ReuseFactor': '64', 'Strategy':'Resource'}},
'KerasJson': 'KERAS_3layer.json',
'KerasH5': 'KERAS_3layer_weights.h5'}
The documentation on configuration is here.
Also, could you please close any issues that are now resolved, thanks 🙏
I tried your suggestion and also replaced IO type to io_serial but still it returned "$RDI_PROG" "$@". I am running this on 4GB of RAM.
How can I tackle this problem
Is there any way to make vivado consume less RAM or avail free service to run vivado on a server .
AWS has F1 servers that allow you to run Vivado, and should have enough RAM, but it's not free.
In general, it seems 8 GB is better, and maybe even 16+ GB is needed for UltraScale(+) devices (like the Kintex UltraScale 115 that you're targeting). Maybe it'll work better if you target a smaller device like a PYNQ-Z2 (xc7z020clg400-1
), but even for this 4 GB may not be enough. Ultimately, you may just need access to a computer with more RAM.
Update: Synthesis achieved with RAM upgrade to 8GB
HI! I ran hls_model.build() and hls4ml.report.read_vivado_report('my-hls-test') However after 5-10 mins, i got the output as Synthesis report not found. Co-simulation report not found.
Python version- Python 3.8.10
What i did:
===================================================================================
Fetch a keras model from our example repository
This will download our example model to your working directory and return an example configuration file
config = hls4ml.utils.fetch_example_model('KERAS_3layer.json')
print(config) #You can print the configuration to see some default parameters
Convert it to a hls project
hls_model = hls4ml.converters.keras_to_hls(config)
Print full list of example models if you want to explore more
hls4ml.utils.fetch_example_list()
Use Vivado HLS to synthesize the model
This might take several minutes
import os
os.environ['PATH'] = '/home/gegerin/Vivado_HLS/Vivado/2019.2/bin' + os.environ['PATH']
os.environ['PATH'] += os.pathsep + '/home/gegerin/Vivado_HLS/Vivado/2019.2/bin'
hls_model.build()
Print out the report if you want
hls4ml.report.read_vivado_report('my-hls-test')
/home/gegerin/Vivado_HLS/Vivado/2019.2/bin/rdiArgs.sh: line 280: 2555 Killed "$RDI_PROG" "$@" Synthesis report not found. Found 1 solution(s) in my-hls-test/myproject_prj. Reports for solution "solution1":