Comments (14)
what platform you use?
from pipecnn.
what platform you use?
x86
below is lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 40
On-line CPU(s) list: 0-39
Thread(s) per core: 2
Core(s) per socket: 10
Socket(s): 2
NUMA node(s): 2
Vendor ID: GenuineIntel
CPU family: 6
Model: 79
Model name: Intel(R) Xeon(R) CPU E5-2630 v4 @ 2.20GHz
Stepping: 1
CPU MHz: 1200.393
CPU max MHz: 3100.0000
CPU min MHz: 1200.0000
BogoMIPS: 4399.73
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 25600K
below is a snippet from makefile
#set source and target for device
#select the host archecture x86|aarch32|aarch64
PLATFORM = x86
#PLATFORM = aarch64
#PLATFORM = aarch32
#choose the BSP (with the config files) you would like to use
DEVICE := xilinx_u50_gen3x16_xdma_201920_3
CONFIG_SP := config_sp.u50
from pipecnn.
what platform you use?
x86
below is lscpu
Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 40 On-line CPU(s) list: 0-39 Thread(s) per core: 2 Core(s) per socket: 10 Socket(s): 2 NUMA node(s): 2 Vendor ID: GenuineIntel CPU family: 6 Model: 79 Model name: Intel(R) Xeon(R) CPU E5-2630 v4 @ 2.20GHz Stepping: 1 CPU MHz: 1200.393 CPU max MHz: 3100.0000 CPU min MHz: 1200.0000 BogoMIPS: 4399.73 Virtualization: VT-x L1d cache: 32K L1i cache: 32K L2 cache: 256K L3 cache: 25600K
below is a snippet from makefile
#set source and target for device #select the host archecture x86|aarch32|aarch64 PLATFORM = x86 #PLATFORM = aarch64 #PLATFORM = aarch32 #choose the BSP (with the config files) you would like to use DEVICE := xilinx_u50_gen3x16_xdma_201920_3 CONFIG_SP := config_sp.u50
seems no big issue, and u may run sw_emu first.
from pipecnn.
what do you mean no big issue? Are you saying that I should make with sw_emu first and then do hw_emu?
from pipecnn.
what do you mean no big issue? Are you saying that I should make with sw_emu first and then do hw_emu?
Yes. I run sw_eni successfully but failed in he
from pipecnn.
what do you mean no big issue? Are you saying that I should make with sw_emu first and then do hw_emu?
Yes. I run sw_eni successfully but failed in he
I'm confused. are you saying you're having the same issue? I am also failing on make hw_emu after running sw_emu
from pipecnn.
what do you mean no big issue? Are you saying that I should make with sw_emu first and then do hw_emu?
Yes. I run sw_eni successfully but failed in he
I'm confused. are you saying you're having the same issue? I am also failing on make hw_emu after running sw_emu
Yes, u May check #165
from pipecnn.
update on this issue:
I actually think it has something to do with the ifdef statements. I switched to VGG and for some reason had to manually comment out the stream variables corresponding to the resnet model for things to compile properly. additionally, the config file needs to be modified when you switch networks as well. I hope this can be helpful to others, but I also hope these issues will be worked out in a future commit
from pipecnn.
update on this issue:
I actually think it has something to do with the ifdef statements. I switched to VGG and for some reason had to manually comment out the stream variables corresponding to the resnet model for things to compile properly. additionally, the config file needs to be modified when you switch networks as well. I hope this can be helpful to others, but I also hope these issues will be worked out in a future commit
Thanks much. Could you provide modified codes to help us?
from pipecnn.
For xilinx platform, only VGG is supported now.
from pipecnn.
update on this issue:
I actually think it has something to do with the ifdef statements. I switched to VGG and for some reason had to manually comment out the stream variables corresponding to the resnet model for things to compile properly. additionally, the config file needs to be modified when you switch networks as well. I hope this can be helpful to others, but I also hope these issues will be worked out in a future commitThanks much. Could you provide modified codes to help us?
Yes I will add them all here soon.
from pipecnn.
update on this issue:
I actually think it has something to do with the ifdef statements. I switched to VGG and for some reason had to manually comment out the stream variables corresponding to the resnet model for things to compile properly. additionally, the config file needs to be modified when you switch networks as well. I hope this can be helpful to others, but I also hope these issues will be worked out in a future commitThanks much. Could you provide modified codes to help us?
Yes I will add them all here soon.
./run.exe conv1.xclbin
***************************************************
PipeCNN: An OpenCL-Based FPGA Accelerator for CNNs
***************************************************
Platform: Xilinx
Totally 1 device(s) are found
Using Device 0: xilinx_u200_xdma_201830_2
Device OpenCL Version: OpenCL 1.0
Device Max Compute Units: 0
Device Max WorkGroup Size: -1
Device Max WorkItem Size: -1
Device Global Memory Size: 65536 MBytes
Device Local Memory Size: 16 KBytes
Device Max Clock Freq: 500 Mhz
138455872 total weights read
1024 total output reference read
150528 bytes image data read from binary files
Executing Layer 1:
Launching single work-item kernel winbuffer
Launching single work-item kernel Conv
Launching single work-item kernel MemWr
Hi, I encounter a problem about Memwr. When I run this .exe, the system is no response at Kernel MemWr for long time. Do u know how to solve it? It seems no feedback from device
from pipecnn.
update on this issue:
I actually think it has something to do with the ifdef statements. I switched to VGG and for some reason had to manually comment out the stream variables corresponding to the resnet model for things to compile properly. additionally, the config file needs to be modified when you switch networks as well. I hope this can be helpful to others, but I also hope these issues will be worked out in a future commitThanks much. Could you provide modified codes to help us?
Yes I will add them all here soon.
./run.exe conv1.xclbin *************************************************** PipeCNN: An OpenCL-Based FPGA Accelerator for CNNs *************************************************** Platform: Xilinx Totally 1 device(s) are found Using Device 0: xilinx_u200_xdma_201830_2 Device OpenCL Version: OpenCL 1.0 Device Max Compute Units: 0 Device Max WorkGroup Size: -1 Device Max WorkItem Size: -1 Device Global Memory Size: 65536 MBytes Device Local Memory Size: 16 KBytes Device Max Clock Freq: 500 Mhz 138455872 total weights read 1024 total output reference read 150528 bytes image data read from binary files Executing Layer 1: Launching single work-item kernel winbuffer Launching single work-item kernel Conv Launching single work-item kernel MemWr
Hi, I encounter a problem about Memwr. When I run this .exe, the system is no response at Kernel MemWr for long time. Do u know how to solve it? It seems no feedback from device
I didn't encounter this error so I'm unsure. I also used the u50 board. It seems you have jumped over all the other compilation hurdles, though.
Anyways, I'll outline the changes I had to make to make VGG compile and run (at least for hardware emulation).
If you are using the default makefile provided, you shouldn't need to make any changes other than the following for the makefile (also just change the flag from sw_emu to your desired setting as specified in the user instructions).
HOST_SRCS = ./host/main_aoc.cpp ../../common/ocl_util.cpp ../../common/timer.cpp
#use Xilinx OpenCL C++ host binding
#HOST_SRCS = ./host/main.cpp ../../common/xcl2.cpp ../../common/timer.cpp
HOST_OBJS = $(HOST_SRCS:%.cpp=%.o)
HOST_INCS = ../../common
change to
HOST_SRCS = ./host/main_aoc.cpp ../common/ocl_util.cpp ../common/timer.cpp
#use Xilinx OpenCL C++ host binding
#HOST_SRCS = ./host/main.cpp ../../common/xcl2.cpp ../../common/timer.cpp
HOST_OBJS = $(HOST_SRCS:%.cpp=%.o)
HOST_INCS = ../common
The config file:
Make sure to uncomment out the lines under VGG connection and comment out the ones for Resnet
The code:
Under project_xilinx/devices
In memWrite.cpp
#ifdef RESNET
uchar bypass,
uchar pool_pad, //RESNET need pad,set to 1,other CNN set 0
#endif
...
...
...
#ifdef RESNET
hls::stream<k2k_data_xlane> &bn_in,
hls::stream<k2k_data_xlane> &bypass_in
#else
hls::stream<k2k_data_xlane> &conv_in
//hls::stream<k2k_sync> &pool_sync_out
#endif
Change to
/*#ifdef RESNET
uchar bypass,
uchar pool_pad, //RESNET need pad,set to 1,other CNN set 0
#endif*/
...
...
...
/*#ifdef RESNET
hls::stream<k2k_data_xlane> &bn_in,
hls::stream<k2k_data_xlane> &bypass_in
#else*/
hls::stream<k2k_data_xlane> &conv_in
//hls::stream<k2k_sync> &pool_sync_out
//#endif
I am unsure why these have to specifically be commented out. If I didn't, I got some invalid port errors.
Under project_xilinx/host
In main_aoc.cpp
The user defined library paths are incorrect
// user defined library
#include "ocl_util.h"
#include "timer.h"
change to
// user defined library
#include "../../common/ocl_util.h"
#include "../../common/timer.h"
hope this helps some people, hopefully i didnt miss anything
from pipecnn.
update on this issue:
I actually think it has something to do with the ifdef statements. I switched to VGG and for some reason had to manually comment out the stream variables corresponding to the resnet model for things to compile properly. additionally, the config file needs to be modified when you switch networks as well. I hope this can be helpful to others, but I also hope these issues will be worked out in a future commitThanks much. Could you provide modified codes to help us?
Yes I will add them all here soon.
./run.exe conv1.xclbin *************************************************** PipeCNN: An OpenCL-Based FPGA Accelerator for CNNs *************************************************** Platform: Xilinx Totally 1 device(s) are found Using Device 0: xilinx_u200_xdma_201830_2 Device OpenCL Version: OpenCL 1.0 Device Max Compute Units: 0 Device Max WorkGroup Size: -1 Device Max WorkItem Size: -1 Device Global Memory Size: 65536 MBytes Device Local Memory Size: 16 KBytes Device Max Clock Freq: 500 Mhz 138455872 total weights read 1024 total output reference read 150528 bytes image data read from binary files Executing Layer 1: Launching single work-item kernel winbuffer Launching single work-item kernel Conv Launching single work-item kernel MemWr
Hi, I encounter a problem about Memwr. When I run this .exe, the system is no response at Kernel MemWr for long time. Do u know how to solve it? It seems no feedback from device
How did you solve this problem? I also encountered this problem
from pipecnn.
Related Issues (20)
- How can i run this project in ZCU102 with SD card? HOT 3
- data_test1.dat file
- In YOLO
- How to fix Wrong Results with Board De1Soc HOT 2
- Running PipeCNN on U200 HOT 7
- Need information about your project ! HOT 1
- How to caculate Coefficients lookup table for lrn computation
- How to debug from the code. HOT 1
- Unable to download Data set HOT 2
- Integrate the similar module mult_add_fix8bx4 into the system. HOT 1
- Possibility of running on 3rd party board HOT 1
- Software emulation OpenCL runtime error, Xilinx/Vitis HOT 2
- Resnet Error on zcu102
- Software emulation OpenCL runtime error,can not return a result in executing Layer 1, Xilinx/Vitis
- Make host error, no opencl header files, ZCU102/Vitis/Xilinx HOT 5
- project_xilinx HardWare on U200 get a poor performance
- Unable to make file for project_xilinx
- ./run.exe conv.xclbin: terminate called recursively
- Error: incorrect setting of parameter VEC_SIZE !!!
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pipecnn.