Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Running PipeCNN on U200 #165

Open
Alsumbjip opened this issue Sep 20, 2021 · 7 comments
Open

Running PipeCNN on U200 #165

Alsumbjip opened this issue Sep 20, 2021 · 7 comments

Comments

@Alsumbjip
Copy link

Hi,
I had tried to run PipeCNN on Xilinx Alveo U200, I'd modified Makefile and config file for U200 and TEST_CASE_1, but it's not worked for HW-Emulation (SW-Emulation is working).

Modified PipeCNN had stopped at CoreConv, and I guess it was waiting for stream input about 'weight_in' and 'data_in'.

And I found arguments 'output_num' and 'conv_loop_cnt' value was zero in waveform profile data.

memRead, memWrite module was working correctly, and arguments 'frac_din', 'frac_w' in coreConv had correct value, but only arguments 'output_num'~'frac_dout' was wrong.

I'd like to get a hint for fixing this problem.

I modified:

  • project_xilinx/Makefile: CNN_TYPE->TEST_CASE_1, DEVICE->xilinx_u200_xdma_201830_2
  • config_sp.u50: comment/uncomment stream connect for TEST_CASE_1

I working at:

  • Ubuntu 18.04
  • Vivado 2020.1 / Vitis 2020.1 / Vitis HLS 2020.1 / XRT version 2.9.317

Thank you.

@doonny
Copy link
Owner

doonny commented Oct 30, 2021

Could you run sw emulation ?

@lloo099
Copy link

lloo099 commented Nov 24, 2021

@Alsumbjip Hi, do u deploy PipeCNN successfully in U200? I am also want to try it. thanks,

@lloo099
Copy link

lloo099 commented Nov 24, 2021

Hi Prof. Dong, @doonny I also try to deploy your NN on U200. sw_emu is well implement on U200 platform. But hw and hw_emu are failed, you may check below information:
(I just modify platform to U200 in makefile, and doesn't change config which means it use U50 config for my U200. As I don't know how to define ur config file for U200, and could you help me with that? Many thanks!)

INFO: [v++ 60-1306] Additional information associated with this v++ link can be found at:
	Reports: /home/enai/Desktop/project/enai0/PipeCNN/project_xilinx/build.hw_emu/reports/link
	Log files: /home/enai/Desktop/project/enai0/PipeCNN/project_xilinx/build.hw_emu/logs/link
INFO: [v++ 60-1657] Initializing dispatch client.
Running Dispatch Server on port:45307
INFO: [v++ 60-1548] Creating build summary session with primary output /home/enai/Desktop/project/enai0/PipeCNN/project_xilinx/build.hw_emu/conv.xclbin.link_summary, at Wed Nov 24 22:11:00 2021
INFO: [v++ 60-1316] Initiating connection to rulecheck server, at Wed Nov 24 22:11:00 2021
Running Rule Check Server on port:46179
INFO: [v++ 60-1315] Creating rulecheck session with output '/home/enai/Desktop/project/enai0/PipeCNN/project_xilinx/build.hw_emu/reports/link/v++_link_conv_guidance.html', at Wed Nov 24 22:11:01 2021
INFO: [v++ 60-895]   Target platform: /tools/Xilinx/Vitis/2020.1/platforms/xilinx_u200_xdma_201830_2/xilinx_u200_xdma_201830_2.xpfm
INFO: [v++ 60-1578]   This platform contains Device Support Archive '/tools/Xilinx/Vitis/2020.1/platforms/xilinx_u200_xdma_201830_2/hw/xilinx_u200_xdma_201830_2.dsa'
INFO: [v++ 60-1302] Platform 'xilinx_u200_xdma_201830_2.xpfm' has been explicitly enabled for this release.
INFO: [v++ 60-629] Linking for hardware emulation target
INFO: [v++ 60-423]   Target device: xilinx_u200_xdma_201830_2
WARNING: [v++ 60-889] User-specified kernel frequency for ID 0 is the same as the default frequency 300 MHz, so it will be ignored
INFO: [v++ 60-1332] Run 'run_link' status: Not started
INFO: [v++ 60-1443] [22:11:08] Run run_link: Step system_link: Started
INFO: [v++ 60-1453] Command Line: system_link --xo /home/enai/Desktop/project/enai0/PipeCNN/project_xilinx/tmp.hw_emu/memRead.xo --xo /home/enai/Desktop/project/enai0/PipeCNN/project_xilinx/tmp.hw_emu/coreConv.xo --xo /home/enai/Desktop/project/enai0/PipeCNN/project_xilinx/tmp.hw_emu/memWrite.xo --xo /home/enai/Desktop/project/enai0/PipeCNN/project_xilinx/tmp.hw_emu/maxPool.xo -keep --config /home/enai/Desktop/project/enai0/PipeCNN/project_xilinx/build.hw_emu/link/int/syslinkConfig.ini --xpfm /tools/Xilinx/Vitis/2020.1/platforms/xilinx_u200_xdma_201830_2/xilinx_u200_xdma_201830_2.xpfm --target emu --output_dir /home/enai/Desktop/project/enai0/PipeCNN/project_xilinx/build.hw_emu/link/int --temp_dir /home/enai/Desktop/project/enai0/PipeCNN/project_xilinx/build.hw_emu/link/sys_link
INFO: [v++ 60-1454] Run Directory: /home/enai/Desktop/project/enai0/PipeCNN/project_xilinx/build.hw_emu/link/run_link
INFO: [SYSTEM_LINK 60-1316] Initiating connection to rulecheck server, at Wed Nov 24 22:11:09 2021
INFO: [SYSTEM_LINK 82-70] Extracting xo v3 file /home/enai/Desktop/project/enai0/PipeCNN/project_xilinx/tmp.hw_emu/memRead.xo
INFO: [SYSTEM_LINK 82-70] Extracting xo v3 file /home/enai/Desktop/project/enai0/PipeCNN/project_xilinx/tmp.hw_emu/coreConv.xo
INFO: [SYSTEM_LINK 82-70] Extracting xo v3 file /home/enai/Desktop/project/enai0/PipeCNN/project_xilinx/tmp.hw_emu/memWrite.xo
INFO: [SYSTEM_LINK 82-70] Extracting xo v3 file /home/enai/Desktop/project/enai0/PipeCNN/project_xilinx/tmp.hw_emu/maxPool.xo
INFO: [SYSTEM_LINK 82-53] Creating IP database /home/enai/Desktop/project/enai0/PipeCNN/project_xilinx/build.hw_emu/link/sys_link/_sysl/.cdb/xd_ip_db.xml
INFO: [SYSTEM_LINK 82-38] [22:11:09] build_xd_ip_db started: /tools/Xilinx/Vitis/2020.1/bin/build_xd_ip_db -ip_search 0  -sds-pf /home/enai/Desktop/project/enai0/PipeCNN/project_xilinx/build.hw_emu/link/sys_link/emu/xilinx_u200_xdma_201830_2_emu.hpfm -clkid 0 -ip /home/enai/Desktop/project/enai0/PipeCNN/project_xilinx/build.hw_emu/link/sys_link/iprepo/xilinx_com_hls_memRead_1_0,memRead -ip /home/enai/Desktop/project/enai0/PipeCNN/project_xilinx/build.hw_emu/link/sys_link/iprepo/xilinx_com_hls_maxPool_1_0,maxPool -ip /home/enai/Desktop/project/enai0/PipeCNN/project_xilinx/build.hw_emu/link/sys_link/iprepo/xilinx_com_hls_memWrite_1_0,memWrite -ip /home/enai/Desktop/project/enai0/PipeCNN/project_xilinx/build.hw_emu/link/sys_link/iprepo/xilinx_com_hls_coreConv_1_0,coreConv -o /home/enai/Desktop/project/enai0/PipeCNN/project_xilinx/build.hw_emu/link/sys_link/_sysl/.cdb/xd_ip_db.xml
INFO: [SYSTEM_LINK 82-37] [22:11:11] build_xd_ip_db finished successfully
Time (s): cpu = 00:00:03 ; elapsed = 00:00:02 . Memory (MB): peak = 1439.266 ; gain = 0.000 ; free physical = 9123 ; free virtual = 19872
INFO: [SYSTEM_LINK 82-51] Create system connectivity graph
INFO: [SYSTEM_LINK 82-102] Applying explicit connections to the system connectivity graph: /home/enai/Desktop/project/enai0/PipeCNN/project_xilinx/build.hw_emu/link/sys_link/cfgraph/cfgen_cfgraph.xml
INFO: [SYSTEM_LINK 82-38] [22:11:11] cfgen started: /tools/Xilinx/Vitis/2020.1/bin/cfgen  -sc memRead_1.bias_out:coreConv_1.bias_in -sc memRead_1.weight_out:coreConv_1.weight_in -sc memRead_1.data_out:coreConv_1.data_in -sc coreConv_1.conv_out:batchNorm_1.conv_in -sc coreConv_1.bypass_out:memWrite_1.bypass_in -sc batchNorm_1.bn_out:memWrite_1.bn_in -dmclkid 0 -r /home/enai/Desktop/project/enai0/PipeCNN/project_xilinx/build.hw_emu/link/sys_link/_sysl/.cdb/xd_ip_db.xml -o /home/enai/Desktop/project/enai0/PipeCNN/project_xilinx/build.hw_emu/link/sys_link/cfgraph/cfgen_cfgraph.xml
INFO: [CFGEN 83-0] Kernel Specs: 
INFO: [CFGEN 83-0]   kernel: coreConv, num: 1  {coreConv_1}
INFO: [CFGEN 83-0]   kernel: maxPool, num: 1  {maxPool_1}
INFO: [CFGEN 83-0]   kernel: memRead, num: 1  {memRead_1}
INFO: [CFGEN 83-0]   kernel: memWrite, num: 1  {memWrite_1}
INFO: [CFGEN 83-0] Stream Specs: 
INFO: [CFGEN 83-0]   memRead_1.bias_out => coreConv_1.bias_in
INFO: [CFGEN 83-0]   memRead_1.weight_out => coreConv_1.weight_in
INFO: [CFGEN 83-0]   memRead_1.data_out => coreConv_1.data_in
INFO: [CFGEN 83-0]   coreConv_1.conv_out => batchNorm_1.conv_in
INFO: [CFGEN 83-0]   coreConv_1.bypass_out => memWrite_1.bypass_in
INFO: [CFGEN 83-0]   batchNorm_1.bn_out => memWrite_1.bn_in
ERROR: [CFGEN 83-2291] --sc tag applied with invalid slave kernel instance: batchNorm_1
ERROR: [CFGEN 83-2284] --sc tag applied to nonexistant port coreConv_1.bypass_out
ERROR: [CFGEN 83-2284] --sc tag applied to nonexistant port memWrite_1.bypass_in
ERROR: [CFGEN 83-2291] --sc tag applied with invalid master kernel instance: batchNorm_1
ERROR: [CFGEN 83-2284] --sc tag applied to nonexistant port memWrite_1.bn_in
ERROR: [CFGEN 83-2298] Exiting due to previous error
ERROR: [SYSTEM_LINK 82-36] [22:11:13] cfgen failed
Time (s): cpu = 00:00:01 ; elapsed = 00:00:01 . Memory (MB): peak = 1439.266 ; gain = 0.000 ; free physical = 9123 ; free virtual = 19871
ERROR: [SYSTEM_LINK 82-62] Error generating design file for /home/enai/Desktop/project/enai0/PipeCNN/project_xilinx/build.hw_emu/link/sys_link/cfgraph/cfgen_cfgraph.xml, command: /tools/Xilinx/Vitis/2020.1/bin/cfgen  -sc memRead_1.bias_out:coreConv_1.bias_in -sc memRead_1.weight_out:coreConv_1.weight_in -sc memRead_1.data_out:coreConv_1.data_in -sc coreConv_1.conv_out:batchNorm_1.conv_in -sc coreConv_1.bypass_out:memWrite_1.bypass_in -sc batchNorm_1.bn_out:memWrite_1.bn_in -dmclkid 0 -r /home/enai/Desktop/project/enai0/PipeCNN/project_xilinx/build.hw_emu/link/sys_link/_sysl/.cdb/xd_ip_db.xml -o /home/enai/Desktop/project/enai0/PipeCNN/project_xilinx/build.hw_emu/link/sys_link/cfgraph/cfgen_cfgraph.xml
ERROR: [SYSTEM_LINK 82-96] Error applying explicit connections to the system connectivity graph
ERROR: [SYSTEM_LINK 82-79] Unable to create system connectivity graph
INFO: [v++ 60-1442] [22:11:13] Run run_link: Step system_link: Failed
Time (s): cpu = 00:00:06 ; elapsed = 00:00:05 . Memory (MB): peak = 1346.410 ; gain = 0.000 ; free physical = 9149 ; free virtual = 19897
ERROR: [v++ 60-661] v++ link run 'run_link' failed
ERROR: [v++ 60-626] Kernel link failed to complete
ERROR: [v++ 60-703] Failed to finish linking
INFO: [v++ 60-1653] Closing dispatch client.

Could you run sw emulation ?

@lloo099
Copy link

lloo099 commented Nov 29, 2021

Update on U200: just compiled VGG-16 on U200 successfully. But haven't tried ResNet. Pls tell me if anyone run ResNet on U200. Thanks,

@zyt1024
Copy link

zyt1024 commented Mar 21, 2023

Hello,If I run on the u200, my config_sp.u200 file was copied from config_sp.u50. What needs to be modified? I don't know how to modify the config_sp.u200 file, and could you help me with that? Many thanks!

@zyt1024
Copy link

zyt1024 commented Mar 21, 2023

Update on U200: just compiled VGG-16 on U200 successfully. But haven't tried ResNet. Pls tell me if anyone run ResNet on U200. Thanks,

Hello,If I run on the u200, my config_sp.u200 file was copied from config_sp.u50. What needs to be modified? I don't know how to modify the config_sp.u200 file, and could you help me with that? Many thanks!

@zyt1024
Copy link

zyt1024 commented Mar 29, 2023

Update on U200: just compiled VGG-16 on U200 successfully. But haven't tried ResNet. Pls tell me if anyone run ResNet on U200. Thanks,

Hello, I also runnedVGG-16 on U200 successfully. but the performance on the U200 is not very good. How about your performance? this is my.
}7L0{2W6ZPMQW7YI%WNITJX

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants